2. 2
IBM Rational software
Agenda
Jazz Source Control
Parallel Development
Streams
Flow Targets
Example of Project Configuration
Security – Access Control at Stream Level
3. IBM Rational software
Jazz source control: Key elements and capabilities
Elements
Change sets
Streams
Components
Capabilities
Task-based development
Refactoring (move and rename)
Parallel development
Lifecycle tool integrations
Process integration
Dashboard contribution
Event notification
4. IBM Rational software
Change sets
A change set is a repository object that collects a related
group of changes to files, folders, and components.
The source control storage model is based entirely on change
sets, providing “atomic” changes to a set of related files.
Change sets can be shared (through work items), suspended,
discarded, and reverted.
5. IBM Rational software
Change sets
The system tracks the changes that
you make in the context of a work
item.
The changes are collected into a
change set and associated with the
work item.
Change sets are applied to a flow
target in a single atomic operation:
Outgoing change sets are typically
delivered from a repository workspace
to a stream.
Incoming change sets are accepted
into a workspace from a stream.
Streams
Deliver
Accept
Repository
Workspaces
Check
In
Accept
Local Sandboxes
= a change set
6. IBM Rational software
Creating and managing change sets
Streams
Change sets are compiled automatically.
Work on one work item at a time.
Deliver
If you need to switch contexts and work on
another work item, complete one of these
procedures:
Keep active work items in different
local workspaces so that each work
item has an isolated development
sandbox.
Suspend work on a work item, which
stores that work temporarily.
Repository
Workspaces
Suspend
Work
Your Local
Workspaces
7. IBM Rational software
Typical Journey For A Change set
3. Complete
(usually combined
with deliver)
4. Deliver
2b.Change set
2a. Check-in
Local Sandbox
1. Change
Module 4 Performin 7
8. IBM Rational software
Streams
Teams or projects own a set of streams that provide a simple mechanism
for sharing change sets between team members.
Streams can be created for ad hoc collaborations, and streams can be
created from builds to reproduce released products.
Streams provide an efficient scaling mechanism where teams of teams
can be isolated and flow their changes into stream hierarchies as
integration is required.
9. IBM Rational software
Components
Components provide a composition mechanism to organize
work within the same repository
File-level changes are grouped into change sets.
Change sets belong to a specific component.
Related components are grouped into streams.
Stream
Component
Change set
Component
Change set
Component
Change set
10. IBM Rational software
Parallel development
Repository workspaces
Provide constant isolation and stored in Jazz repository.
The workspace contains private copies of files and folders that a developer is
working with.
Suspend and resume functions
Provide task-level isolation for personal work.
Streams
Provide isolation at various levels including team, feature, integration, release,
and maintenance as desired
Locks
Provide selective isolation. By locking files in the stream, users can avoid
merging.
Timelines
Provide process isolation.
11. IBM Rational software
Using workspaces in a team environment
Load
Copies the configuration of files that
are specified for the repository
workspace to the local sandbox
Check-in
Streams
Deliver
Copies changed files from the local
sandbox to the repository workspace
Repository
workspaces
Deliver
Copies the changes from the
repository workspace to the stream
Accept
Load
Check
in
Accept
Copies others’ changes to the stream
into the repository workspace and the
local sandbox
Local sandboxes
Accept
12. IBM Rational software
Change flow for small or medium teams
Team
Accept
Deliver
Accept
Check-in
Load
Team members
The flow target of a workspace is the repository object (workspace or
stream) where changes from the workspace are delivered by default.
For most small or medium teams, the flow target of a developer’s
repository workspace is the top-level stream.
The stream represents the team’s integration area.
13. IBM Rational software
Change flow for large teams
Team of teams
Accept
Deliver
Team
Accept
Deliver
Accept
Check-in
Accept
Deliver
Accept
Load
Check-in
Team members
A team hierarchy can be built by using shared repository
workspaces and streams at the intermediate levels.
Load
15. IBM Rational software
Changing flow targets
Multiple flow targets can
be defined, but only one
can be “current.”
Identify the default flow
target.
Set the current flow target.
16. IBM Rational software
Flow diagrams
Flow diagrams provide a graphical representation of change flow
in a project, identifying the flow target for each repository
workspace or stream.
17. IBM Rational software
Flow diagrams
Example: A project with three components and
three corresponding streams
18. IBM Rational software
Example: Feature Streams
Feature Stream 1 is created at #1
Feature Stream is created at #2
Integration from both Feature Streams occurs at #3 and #4
A Baseline is created in Main Development Stream at #5
Build and Release is created from Baseline #5
After final deliveries from Feature Streams, it should be removed
18
19. IBM Rational software
Example: Release and Integration Streams
A baseline is shown at #3 in the Main Development stream, which is delivered to the
Integration stream at #4.
The integrated application can then be tested before a release from baseline #5 in the
Integration and Release stream.
Further development work then takes place on the Feature streams up to points #6 and #7,
which are then delivered to the Main Development stream at #8.
Feature stream 2 is then closed and removed.
Further work takes place on the Main Development stream up to point #9, where a new
baseline is created and delivered to the Integration and Release stream.
A new baseline is then created on the shared Integration and Release stream at #10 to
manage the release to production.
19
20. IBM Rational software
Example: Splitting Integration and Release Stream
Release Stream
Emergency Fix Stream
Splitting Release Stream
allows the team to
increase security of
release stream to
control which roles can
deliver to Release
Stream
A new Release Stream created at #5, and a Release using Baseline #6
A new Emergency Fix Stream Created at #6 and Emergency Fix Delivered to Release
Stream at #8
A delivery of code from Emergency Fix Stream to Main Development Stream at #11
The integrated application can then be tested before a release from baseline #5 in the
Integration and Release stream.
Feature Streams are delivered to Main Development at #9 and #10
Interim Baseline is created on Main Development line at #12 and delivered to Integration
Stream at #13
20
23. IBM Rational software
Example: Continued Development Activity
Feature Stream 3 is created at #12
Remove the stream not needed for simplicity
23
27. IBM Rational software
Modify Stream Operation pre-conditions
Prevent adding a component to a stream:This precondition prevents users from adding a
component to a stream if the component owner is different from the stream owner.
Prevent adding a user-owned component:This precondition prevents users from adding a
component to a stream if the component is owned by a user rather than by a team or project.
Restrict stream visibility from being set to "public":This precondition prevents users from
changing the visibility of a stream from "private" (team or user) to "public" (project).
27