Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
SDP19
© 2011 IBM Corporation
Deploying Rational Team Concert 4.0 Stéphane Leroy | Jazz Jumpstart Daniel Toczala | Jazz Jumpstart Manager (special thanks to Philippe Krief)
© 2012 IBM Corporation
Acknowledgment
This material is based on previous works :
“Getting Started with RTC in 16 Steps” by Kai-Uwe Maetzel :
https://jazz.net/library/content/presentations/RSC2009/RSC2009_SDP20_Kai-UweMaetzel.pdf
“Deploying RTC 2.x/3.x“ by Philippe Krief (Jumpstart material)
2
© 2012 IBM Corporation
Agenda
Possible Deployment Adoption paths for RTC and CLM
An Example of a successful RTC deployment
Deploying in 16 steps
How Rational supports your deployment
© 2012 IBM Corporation
This presentation is focusing on RTC… but gives some
insights for CLM adoption as well.
Collaborative Lifecycle Management (CLM)
© 2012 IBM Corporation
Team advisor for defining / refining “rules” and enabling continuous improvement
Process enactment and enforcement
In-context collaboration enables team members to communicate in context of their work
Single structure for project related artifacts
World-class team on-boarding / offboarding including team membership, sub-teams and project inheritance
Role-based operational control for flexible definition of process and capabilities
Jazz Team Server
Integrated stream management
Component level baselines
Server-based sandboxes
Identifies component in streams and available baselines
ClearCase bridge, connector
SCM Work Items
Defects, enhancements and conversations
View and share query results
Support for approvals and discussions
Query editor interface
ClearQuest bridge, connector
Work item and change set traceability
Build definitions for team and private builds
Local or remote build servers
Supports Ant and command line tools
Integration with Build Forge
Build
Agile Planning
Integrated release/iteration planning
Effort estimation & progress tracking taskboards
Out of the box agile process templates
Project Transparency Customizable web based dashboards
Real time metrics and reports
Project milestone tracking and status
Rational Team Concert: Core Components
© 2012 IBM Corporation
Relationships between Core Components
Work Items
Planning
Build SCM
Dashboards
Component specific viewlets
Feeds entries
Artifact linking
Build Engine
dependency
© 2012 IBM Corporation
Team First
Members
Build
Release/
Iteration Plan
Work Categories
Streams
Events
Dashboard
has
integrates
defines
monitors
delivers
is responsible
generates
Process
Team follows
Teams are functional, not necessarily organizational teams
© 2012 IBM Corporation
Possible RTC Adoption Paths…
Governance first
Work Item Dashboard Planning SCM Build
Build first ( continuous testing & integration)
Work Item Dashboard Planning SCM Build
Planning first
Work Item Dashboard Planning SCM Build
Development first
Work Item Dashboard Planning SCM Build
© 2012 IBM Corporation
Possible CLM Adoption Paths…
Governance first
Work Item Dashboard Planning SCM Build Requirements Test Mgmt.
Planning first
Work Item Dashboard Planning SCM Build Requirements Test Mgmt.
Build first (continuous testing & integration)
Work Item Dashboard Planning SCM Build Requirements Test Mgmt.
Development first
Work Item Dashboard Planning SCM Build Requirements Test Mgmt.
Requirements first
Work Item Dashboard Planning SCM Build Requirements Test Mgmt.
Testing first
Work Item Dashboard Planning SCM Build Requirements Test Mgmt.
© 2012 IBM Corporation
A “Real” Example of an RTC Deployment
11/YY 12/YY 01/YY+1 02/YY+1 03/YY+1 04/YY+1 05/YY+1 06/YY+1 07/YY+1 08/YY+1 09/YY+1 10/YY+1
Infrastructure Design and Implementation
RTC Process
RTC Pilots
Integrated Security RTC/TAM
Deployment @ Large (1000+ seats)
Environment Prereqs
Environment Availability
WAS-TAM Integration
Definitive Environment Availability
Traditional Process Design & Implementation
Traditional Process Pilot
New Process Pilot
New Process Design & Implementation
Security provisioning design & implementation
Work Item Planning Dashboard Subcontractors
Governance Custom Pilot
© 2012 IBM Corporation
Check and Improve RTC Infrastructure
Grow Team’s
Usage of RTC Functionality
Add Team, Limited
RTC Functionality
Classical Rollout: Start Small and Grow
Build up expertise in teams and leverage it for the on-boarding of new teams
Don’t overstretch teams with too much adoption of new technology at once
Start new release or project
Create Project Area
© 2012 IBM Corporation
Deploying in 16 steps
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Work Item Dashboard Planning SCM Build
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps
Plan your URIs !
Choose a stable public URI : it’s very
important !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Setup an Infrastructure
Default Application Server (Tomcat)
Default DB (DB2, Oracle, SQL Server)
Setup (LDAP) User Management and
Create or Import users
Define a Server Admin user
Define a Backup & Recovery strategy
Plan your URIs !
© 2012 IBM Corporation
CLM / RTC Server Topologies
The Evaluation / one-server configuration places the Jazz Team Server
and CCM application plus all of the requisite components (database server
and application server) onto one physical server.
Evaluation / One-server configuration
Repository Database
Application Server
RTC
© 2012 IBM Corporation
CLM / RTC Server Topologies (cont.)
The Departmental / two-server configuration places the repository
database and supporting software on its own dedicated server with the
remaining Jazz Team Server / CCM application (and application server) on
a second physical server.
Departmental / Two-server configuration
Repository Database
Application Server
RTC
© 2012 IBM Corporation
CLM / RTC Server Topologies (cont.)
The Enterprise / three-server configuration places the Jazz Team
Server components on one-server, the repository database on the second
server, and a reverse proxy server on the third server.
Enterprise / Three-server configuration
Repository Database
Application Server
RTC
Reverse Proxy Server
© 2012 IBM Corporation
CLM / RTC Server Topologies (cont.)
Idle Standby is a failover strategy for basic High Availability.
The Idle Standby configuration provides for failover recovery to help ensure minimal impact on business operations during planned or unplanned server outages
The functionality requires the WebSphere Application Server.
RTC Idle Standby-Server configuration
Repository Database
Application Server
RTC
Application Server
RTC
Primary server A
Backup server B
HTTP Server
© 2012 IBM Corporation
CLM / RTC Server Topologies (cont.)
Introduced in CLM 2012 / RTC 4.0:
High-Availability support with automatic fail-over and balancing load for horizontal scalability.
The functionality requires the WebSphere Application Server ND, WebSphere eXtreme Scale.
“High Availability with Rational solution CLM 2012 Clustering” : https://jazz.net/library/article/823
CLM 2012 Clustering
© 2012 IBM Corporation
Guidance for deploying CLM
20
Standard CLM topologies
https://jazz.net/library/article/820
© 2012 IBM Corporation
Rational Team Concert Server Topologies (FYI!)
From the earliest days of building Jazz,
three of our key goals were:
To quickly and easily get up and running
with Jazz-based products
To reduce administrative tasks
To scale up to support large
organizations but should also “scale
down” to support the needs of small
teams
The Cloud:
dramatic simplification of deploying and
managing Jazz-based products
more flexible environment that scales up
or scales down based on an
organization’s usage needs.
https://jazz.net/products/sandbox/
Jazz Platform
RTC
© 2012 IBM Corporation
User authentification
The Jazz Team Server (JTS) runs in a secure application server and requires authentication.
The JTS uses a set of predefined roles that can be assigned to users, for authorization to access specific URLs or to perform specific low-level operations (e.g. read, write, administer).
The authentication itself is managed by the application server :
If a user fails to authenticate by providing a valid user id and password, then the container rejects the request without the request ever reaching the application.
When the user successfully authenticates, the application server subsequently forwards the request to the application (Jazz Team Server in this case) for processing.
Within the operation that processes the request, the application checks that the user is assigned a role with requisite authority to perform the operation.
Authentication:
Apache Tomcat user database
Lightweight Directory Access Protocol (LDAP)
a custom realm
Setup wizard: https://clm.mycompany.com/jts/setup
Repository Database
Application Server RTC
User Realm LDAP or Tomcat
Application Server
Authentification
Role Check Repo Permission
(admin, reader, writer)
© 2012 IBM Corporation
Authentication =
Mechanism to
verify identity
Application Server
RTC Repository
Repository Authorization
= Permission to access a repository
Client Access
License (CAL)
Process-Level Authorization = Permission to access Project & Team Area resources
RTC Project Area
Core Team
Web Team
Server Team
Core Application
Web Application
Server
Team Area(s) Workitem Category(s)
Authentication vs. Authorization
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps
Deploy an Out-of-the-box Process Template
which is a good starting point.
Define the Project Lead as the Project Admin
Plan your URIs !
© 2012 IBM Corporation
Deploying in 16 steps
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Add missing Roles
Configure Read Access rules
Configure first Project Timeline & Iterations
Review the follow-up actions for ‘generate team
invitation’
Define the first Team and Invite the team members
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps
Define initial Work Item categories
Review and adapt Work Item workflows
Define shared work item queries
Review work item preconditions and permissions
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Setup a Connector with your existing Work Item
system or
Import Work Items from your existing system
Deploying in 16 steps
Plan your URIs !
© 2012 IBM Corporation
Connectors in Rational Team Concert
ClearCase repository
Jazz Repository
ClearQuest repository
ClearQuest Synchronizer CQ records with Jazz work items.
ClearCase Synchronizer CC streams/branches with Jazz streams.
Synchronizer 2-way data synchronization
Import 1-way data migration
CVS, SVN or ClearCase repository
CQ, Bugzilla repositories
Jazz Repository
SVN Bridge links work items with change sets.
ClearCase Bridge links work items with UCM activities.
ClearQuest Bridge links work items with CQ requests.
ClearQuest repository Jazz
Repository
ClearCase or SVN repository
Bridge link creation and traversal
OSLC
© 2012 IBM Corporation
Integrating with CLM
Check available integrations : https://jazz.net/extend/integrations
29
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps The project and team dashboard are the key
tools for self-reflection and improvements.
Encourage team members to define their personal
dashboards.
If you cannot show on the dashboard what you
need to see you might have to revisit:
your work item type definitions,
your work item queries, and
you might have to define your own work item
reports.
Continuously update and improve your dashboards Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Start with Iteration Plans
Configure top-level work item types for plans
Provide the goal of the iteration in a free-form text
Use the iteration plan to schedule the planned work
Encourage team members to use the My Work view to
schedule their work
Adopt work estimation and thus risk assessment
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Start with one stream owned by the project area
Structure your code into Components
Leverage linking of work items and change sets
Define the preconditions for SCM deliver.
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps
Setup a Connector to your existing SCM system or
Import code from your existing system
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Start with a periodic integration build that uses the
content of the team’s stream
Leverage linking of work items and build results
Leverage personal builds for team members
Introduce a distinct work item type and queries to track
builds
Leverage tags to classify builds
Establish rules for “promoting” builds to releases
Track the quality of builds on the dashboard
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Add new iterations
Restructure iterations into nested iterations
Adjust the start and end dates
Adjust the process rules and permission settings
to fit the goals of the iteration
Use iteration types for explicitly reusable process
configurations
Use iteration types for all iterations, it makes
targeted customization much simpler
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Continuously Improve
Dashboards & reports
Work items and work item categories
Component, streams, flows
Build types, schedules, build tracking
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Refactor organizational structure:
Categories, team dashboards, team streams,
team builds
Each team has its own sandbox
Repeat steps for the new team
Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Configure project area to reify project leadership
and cross-team aspects
Create a team and a project dashboard
Create stream(s) to integrate the code
produced by the two teams
Define the code integration process
Roles and responsibilities
Establish automated integration build(s)
Use project release plans, iteration plans, ...
Create work item categories for cross-team aspects Plan your URIs !
© 2012 IBM Corporation
Setup an Infrastructure
Create a Project Area
Customize Dashboard
Adopt Planning Adopt SCM Adopt Build
Grow the Timeline
Improve Project Setup
Add a New Team
Setup Team Collaboration
Revisit Infrastructure
Customize Process
Customize Work Items
& Categories
Populate WIs Populate SCM
Deploying in 16 steps Can your infrastructure handle additional growth?
Test & Tune your infrastructure
Migrate database or application server
Use LDAP for user management
Separate DB from application server
High availability
Backup and restore
Plan your URIs !
© 2012 IBM Corporation
Adapt your infrastructure
40
CLM 2012 Sizing Report https://jazz.net/library/article/814
CLM 2012 Administration workshop : https://jazz.net/library/article/831
Move a CLM installation to Departmental or Enterprise topologies.
Install a reverse proxy to better manage CLM servers. Adopt enterprise middleware such as DB2, WAS or LDAP services.
Rename CLM servers to create a staging environment.
Create CLM clusters to support High Availability.
© 2012 IBM Corporation
Repeat the Cycle
Check and Improve RTC Infrastructure
Grow Team’s
Usage of RTC Functionality
Add Team, Limited
RTC Functionality
© 2012 IBM Corporation
Summary
RTC provides rich functionality : start small and adopt more over time.
Same pattern applies to CLM : prioritize your needs and adopt more consequently
over time.
RTC/CLM supports the incremental growth of projects
RTC/CLM scales from small teams to large teams of teams
Don’t change your organization to be “compatible” with your originally chosen
process template. Customize and adapt RTC.
Project leaders (and the teams) should become intimately familiar with RTC
customization and configuration capabilities.
jazz.net has in-depth information material for many of the touched issues
© 2012 IBM Corporation
How Rational supports your deployment
Pre-sale activity Post-sale activity
Jazz.net community (http://jazz.net) All members including the IBM development teams
Jazz Jumpstart
IBM Software Services Rational (ISSR)
Rational Customer Support
IBM Tech Representative
Deployment @ Large
© 2012 IBM Corporation
© 2012 IBM Corporation
RTC and access controls needs
45
Access control handled at several granularity levels.
Read & write protection scenarios addressed for both :
Source Control
Work-items
Controlling access to source control in RTC (June 2012):
https://jazz.net/library/article/215
RTC 4.0: Access Groups usage and Work Items visibility (June 2012):
https://jazz.net/library/article/837
© 2012 IBM Corporation
Sharing project area process in RTC
46
Ability to centralize process in one project area :
Instructions at http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/index.jsp?topic=%2Fcom.ibm.jazz.platform.doc%2Ftopics%2Fc_sharing_project_area_process.html
Ensures that project areas across your organization use the same process.
Lowers process maintenance cost.
RTC 4.0 feature :
sharing process among different project areas on different Jazz Team Servers :
Instructions at http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/index.jsp?topic=%2Fcom.ibm.jazz.platform.doc%2Ftopics%2Ft_enabling_sharing_across_servers.html
Video demo at : http://www.youtube.com/watch?v=a6PUSt0xNYs
© 2012 IBM Corporation
RTC and Remote Teams
For locations where network maybe slow :
RTC has support for proxies using Apache squid
Instructions at http://jazz.net/library/article/325
Typical proxy server configuration
Enough RAM to load the largest set of files you are going to download
Enable Cache replacement policy on squid
Have plenty of disk space (2x or 3x the repository size)
47