Professional Documents
Culture Documents
Rational ClearCase
P r o d u c t S u m m a r y
TO706C.qxd 2/16/99 8:58 AM Page 3
R a t i o n a l ClearCase
P r o d u c t S u m m a r y
TO706C.qxd 2/16/99 8:58 AM Page 4
Ta b l e o f C o n t e n t s
SECTION 1:
Rational ClearCase: Software Configuration Management 1
SECTION 2:
Beyond Version Control 4
SECTION 3:
Workspace Management 7
SECTION 4:
Parallel Development 10
SECTION 5:
Build Management 12
SECTION 6:
Process Control 15
SECTION 7:
Maximizing Developer Productivity 17
SECTION 8:
Rational ClearCase MultiSite 19
SECTION 9:
Rational ClearQuest 21
SECTION 10:
Rational ClearCase Attache 23
SECTION 11:
Rational ClearCase Architecture and Administration 24
SECTION 12:
Rational ClearCase Specifications 26
TO706C.qxd 2/16/99 8:58 AM Page 7
1 R at i o n a l C l e a r C a s e : S o f t w a r e C o n f i g u r at i o n M a n a g e m e n t
development team level, this complexity takes many forms, including more lines of code,
geographically distributed development teams, more projects that share common software
components, a greater number of ports and product releases, and an ever-increasing pressure to
improve developer productivity and reduce time-to-market. Yet many organizations continue
to rely on manual, largely static tools to manage this fundamentally mutable process.
1
TO706C.qxd 2/16/99 8:58 AM Page 8
Process Control
ClearCase provides flexible, powerful tools for implementing project
Version Build
and site-specific policies, without imposing particular procedures or
Control Management methodologies. Organizations can set up automated routines to moni-
tor software changes, prevent changes by unauthorized personnel,
notify team members when events occur, and create permanent
Workspace Process records of development procedures.
Management Control
THE RATIONAL CLEARCASE PRODUCT FAMILY
Figure 1.1: rational CLEARCASE functionS Bridging the Worlds of Windows and UNIX
Rational ClearCase spans Windows and UNIX client platforms, allow-
ing developers to work in the native development platform of their
THE FOUR FUNCTIONS OF RATIONAL CLEARCASE
choice. The ideal solution for heterogeneous project teams, ClearCase
Although Rational ClearCase is an integrated system, it is useful to offers seamless interoperability between Windows and UNIX plat-
group its features into four functional areas (Figure 1.1): forms. ClearCase relies on industry-standard TCP/IP for communication
between clients and servers and supports select third-party NFS client
Version Control and SMB server solutions for communication between Windows and
ClearCase goes far beyond source code control to version every object in UNIX systems. Developers may also choose to utilize the ClearCase file
the software development lifecycle. By tracking changes to every file and system (CCFS) for interoperation between specific ClearCase configu-
directory, ClearCase maintains complete, annotated version histories of rations. Cross-platform flexibility is further supported by floating licens-
source code, binaries, executables, documentation, test suites, libraries es that can be shared across platforms.
and user-defined objects. Developers can quickly identify, rebuild and roll
back to any previous software version. Integration with Familiar Development Environments
Rational ClearCase for Windows. ClearCase for Windows deliv-
Workspace Management ers comprehensive ClearCase functionality in a native Windows imple-
ClearCase views provide developers with the exact versions of files mentation. Seamless integration with the Windows Explorer, Microsoft
required to complete a particular task, while shielding them from the Visual Basic, Visual C++ and Visual J++ deliver full SCM functionality
complexity of the larger development environment. Developers enjoy from within familiar developer environments. ClearCase for Windows
transparent access to the appropriate object versions without ever includes client support for Windows 95/98.
leaving their native Windows or UNIX development environment.
ClearCase views help every member of your team work more effi- Rational ClearCase for UNIX. ClearCase for UNIX offers seam-
ciently, striking the perfect balance between access to shared re- less transparency with standard UNIX file system calls. Standard UNIX
sources and isolation from destabilizing changes. programs such as grep, more, ls and cc work the same way on
ClearCase version-controlled data as on ordinary file system objects,
Build Management while integrations with popular development environments maximize
developer productivity.
ClearCase automatically produces a detailed “bill of materials”
that documents software system builds, enabling developers to com-
pletely and reliably recreate the environment of any build. In addition,
ClearCase reduces build times through intelligent binary sharing and
parallel execution of build scripts.
2
TO706C.qxd 2/16/99 8:58 AM Page 9
3
TO706C.qxd 2/16/99 8:58 AM Page 10
Today, developers work with multiple types of data, not just source code. Rational ClearCase tracks
every object in the software development lifecycle, managing the “controlled sharing” so essential
“I need release 2 of the beta for in a multi-user development environment. By tracking objects automatically
Windows NT, plus all the changes
and “behind the scenes,” ClearCase reduces burdensome administrative
made to fix bugs 7, 12 and 18 that
have been approved by QA.” requirements while guaranteeing the accuracy of version-control data.
HOW DOES RATIONAL CLEARCASE ORGANIZE AND a linear evolution of the file’s versions. With ClearCase version trees,
PRESENT VERSION INFORMATION? developers can quickly identify existing development paths, create new
A core concept of Rational ClearCase is the version tree (Figure 2.1), development branches and merge existing branches. Over time, users
which organizes and presents information in a graphical, hierarchical typically introduce subbranches in order to isolate bug fixes, code reor-
format similar to a directory tree. In a typical development environ- ganization, experimentation, and platform-specific development. You
ment, version trees initially contain just a single branch, representing can create any number of versions and subbranches, and name ver-
sions and branches for easy reference.
4
TO706C.qxd 2/16/99 8:58 AM Page 11
Rename
SRC SRC SRCDIR a directory
Move a file
Figure 2.2: Directory versioning
decide how many VOBs they need, and what directories and files each HOW DOES RATIONAL CLEARCASE STORE DATA?
will maintain. A VOB is a mountable file system and therefore a net- Rational ClearCase uses compression techniques that reduce storage
work-wide resource. Hosts can mount any number of VOBs. ClearCase requirements up to 50%-75% compared to their uncompressed coun-
uses the Raima Data Manager to maintain VOB databases. terparts. ClearCase also uses interleaved delta techniques for text and
binary files.
WHAT DO VOBS LOOK LIKE TO DEVELOPERS AND
DEVELOPMENT TOOLS? HOW DO DEVELOPERS CHECK FILES IN AND OUT?
When mounted and accessed in Rational ClearCase, a VOB looks and Rational ClearCase uses a checkout-edit-checkin paradigm, similar
behaves like a standard directory tree, containing standard file system to traditional version control. In addition to checkout, checkin, and
objects: directories, files, symbolic links, and hard links. In addition, uncheckout, the ClearCase command set includes delete version,
the VOB file system maintains extensive version-control information, create/delete branch, list version history (chronological), list version
tracking directory elements, versions of directory elements, file ele- history (structural), compare versions, and merge parallel versions.
ments, versions of file elements, VOB symbolic links, and VOB hard
links. (Figure 2.3). When work begins on a specific file, the file is read-only—it cannot be
edited or removed. The checkout command produces an editable copy
of the file. There is no need to copy a file to another location to work
on it. When editing is complete, the file is checked-in. This adds a new
version to the version tree and removes the editable copy of the file.
Root To help document the changes, a comment can be specified at both
Directory
checkout and checkin. When checked-in, the file reverts to read-only
status and immediately becomes shared data, available to all users.
5
TO706C.qxd 2/16/99 8:58 AM Page 12
6
TO706C.qxd 2/16/99 8:58 AM Page 13
3 w o r k s pa c e m a n a g e m e n t
To be successful, an SCM product must strike just the right balance between sharing and
isolation. Rational ClearCase views provide developers with fine-grained control over their person-
“I work from home Mondays. al workspaces, plus easy, transparent access to the exact file versions they
By Tuesday 9:15, my code is fully
need. ClearCase views help every member of your team work more produc-
synchronized with mainline
development.” tively, whether from home, on-site, or a remote customer location.
HOW DOES RATIONAL CLEARCASE FIT IN WITH instantaneous file updates. Snapshot views provide Windows users
EXISTING DEVELOPMENT ENVIRONMENTS? with the flexibility to work at home and easily synchronize work with
Transparency is a key feature enabling Rational ClearCase to work mainline development. Developers are free to mix and match view-
with any system software, commercial application or in-house tool. types according to their personal preferences and a project’s evolving
Windows developers can work with ClearCase commands without needs. Developers can work with an unlimited number of dynamic or
ever leaving their Microsoft Integrated Development Environment; snapshot views.
UNIX programmers can use grep, more, ls, cc and other UNIX com-
mands the same way they always have. Because developers work HOW ARE DYNAMIC VIEWS IMPLEMENTED, AND
with familiar commands in native environments, organizations find WHAT DO THEY LOOK LIKE TO DEVELOPERS?
ClearCase easy to adopt and maintain. Dynamic views are implemented at the virtual file system level by the
Rational ClearCase multi-version file system (MVFS). The MVFS inter-
WHAT TYPES OF VIEWS ARE AVAILABLE? cepts standard I/O calls to elements, analyzes the call context, and
Two types of views are available, optimized for networked or local refines the call’s destination to a selected version of the requested ele-
usage models. Dynamic views provide networked Windows NT and UNIX ment. When seen through a dynamic view, ClearCase VOBs look like
users with the ability to perform build audits and the advantages of standard directory trees with standard files (Figure 3.1). On Windows NT
systems, the ClearCase MVFS typically appears as the “M:” drive, with
active views appearing as subdirectories of the “M:” root. ClearCase
further assigns a “virtual drive” for each active view. Mounted VOBs
Versioned Object
Base then appear as subdirectories of the respective virtual drive.
foo.c foo.h
7
TO706C.qxd 2/16/99 8:58 AM Page 14
For all files and directories, use the version that has been checked out to this Developers can “hijack” files in snapshot views—i.e., they can
view (if there is one)
simply modify the files without first checking them out. Once recon-
element graphics_lib.a .../maintenance/LATEST nected to the network, developers run the Snapshot View Update tool
to identify all hijacked files and convert them to normal checkouts.
For file graphics_lib.a, use the most recent version on the branch
named maintenance
HOW DO DEVELOPERS SELECT THE FILE VERSIONS
element -eltype c_source * BETA_TEST THAT MAKE UP A PARTICULAR VIEW?
Both snapshot and dynamic views use a rule-based selection mech-
For all C-language sources and header files, use the version labeled BETA_TEST
anism. The set of versions selected in a particular view is called its
The default config spec selects versions of elements as follows: configuration, and is defined by a set of rules called a configuration
element * CHECKEDOUT specification (config spec). Typically, a view’s config spec is defined
element * /main/LATEST in terms of wildcards and mnemonic names, not by naming specific
versions. Typical configuration rules and their English equivalents are
If the element is checked-out to this view, use the checked-out version; shown in Table 1 (see left). On Windows, the View Creation Wizard
otherwise use the most recent version on the element’s main branch guides developers step by step through the view creation process.
Each developer can have multiple views. Separate views allow develop-
table 1: Config spec rules and english equivalents ers to see different versions of the same element, under exactly the
same path name. For example, one view might show the most recent
version of every element; another view might show the versions used
WHEN SHOULD ORGANIZATIONS USE DYNAMIC
to build a specific release; and still another view might show the ver-
VS. SNAPSHOT VIEWS?
sions being used to fix a bug. Furthermore, any files and directories
Dynamic views provide global, transparent access to any version of not under ClearCase version control (standard files, local scripts and
any element. They also support the complete set of ClearCase build programs, etc.) remain completely visible and accessible through a
management features, including build auditing. Dynamic views always view. This makes ClearCase a “good citizen”—developers can use any
require network access, however, and are therefore unsuitable for data file, shell script, or compiled program when working in a view
disconnected use. (Figure 3.3).
Depending on the type of work a developer is doing and the size of
the code base, sometimes it can be advantageous to work off your
local disk or disconnected from the network. This is where snapshot
views come into play. Snapshot views provide Windows users with the
performance advantage of local builds and the flexibility to work from Large
home. But because snapshot views operate only on standard files, they Teams Dynamic Views
are unable to perform build audits. Once files have been merged in to
the mainline development, however, audited builds can be accom-
plished via dynamic views for nightly builds.
In practice, organizations typically mix and match both view types,
according to the complexity of the task at hand, team members’ re- Snapshot Views
Dynamic Views
mote development requirements and the current stage of the software Small
Teams
development project. As shown in Figure 3.2, snapshot views are es-
pecially well suited to small project teams, prototype projects, and the
Early Prototype Final Release
early-to-middle stages of a software project. As build auditability
Development Lifecycle
becomes more of a requirement, or as project complexity increases,
dynamic views are preferred. Together, both view types provide organi- Figure 3.2: Comparison of snapshot
and dynamic views
zations with a high degree of flexibility to meet their evolving needs.
8
TO706C.qxd 2/16/99 8:58 AM Page 15
9
TO706C.qxd 2/16/99 8:58 AM Page 16
4 pa r a l l e l d e v e l o p m e n t
ing support for parallel development, enabling multiple developers to efficiently design, code,
“Parallel development can’t be an test and enhance software from a common code base. Powerful, graphical
occasional occurrence any longer.
merge tools automatically identify common code ancestors, resolve incon-
To succeed, it must be an ongoing,
competitive requirement.” sistencies, and highlight code conflicts.
WHAT ARE THE PRACTICAL BENEFITS OF A that are being merged. Having this common ancestor information
PARALLEL DEVELOPMENT MODEL? allows ClearCase to perform the merge intelligently and automatically.
In addition to the primary benefit of accelerating product devel- In cases where a conflict between the versions being merged pre-
opment cycles and reducing time-to-market, support for parallel vents ClearCase from constructing a merge result automatically, the
development allows organizations to: graphical merge tool displays the areas of code conflict side-by-side in
order to compare them and decide on what action to take. Manual
• Allow multiple projects to use the same source tree(s) at and automatic merge decisions can easily be reviewed and changed
the same time with the Diff Merge tool (Figure 4.2).
• Isolate the work of developers whose changes should not
yet be shared
• Isolate changes which should never be shared (i.e., a bugfix
in a retired release)
• Continue development throughout software integration, build
and test periods
10
TO706C.qxd 2/16/99 8:58 AM Page 17
CAN DEVELOPMENT CONTINUE AFTER THE WHAT TYPES OF ADVANCED MERGES ARE AVAILABLE?
MERGE IS PERFORMED?
Two types of merge operations are available: additive and subtractive.
Absolutely. Unlike other version-control products, Rational ClearCase An additive merge combines changes from two or more branches. A
allows development on one or more branches to continue during and subtractive merge removes changes from one or more versions, effec-
after the merge is performed. Moreover, there are no restrictions on tively rolling back to a prevous version.
future merges involving these branches, in either direction.
11
TO706C.qxd 2/16/99 8:58 AM Page 18
5 Build management
Effective build management focuses on two issues: streamlining the edit-build-debug cycle
and ensuring the accurate reproduction of software versions. Rational ClearCase is completely com-
patible with traditional build scripts and native Windows and UNIX make programs. Its own
“Singapore just reported a matically detecting dependencies, using derived objects wherever pos-
problem with its customer release.
sible, and producing detailed build documentation, ClearCase optimizes build
What, exactly, did we send them?”
WE’VE INVESTED SIGNIFICANT TIME IN OUR • A unique derived object ID (its “handle” in the VOB database)
CURRENT MAKEFILES. DOES RATIONAL CLEARCASE
MEAN WE HAVE TO CHANGE RIGHT AWAY?
• A pointer to the data container (the file that stores the data
produced by the build script)
No. Because Rational ClearCase is fully compatible with all home-
grown build scripts, Windows and UNIX make programs, existing • A pointer to a configuration record (its “bill-of-materials”)
source can be placed under ClearCase management without making a • A reference count (indicating the number of views in which the
single change to build procedures. On new development projects, rec- derived object currently appears)
ommends that teams adopt the ClearCase build programs, clearmake
and omake, in order to realize important benefits such as configura- HOW DOES RATIONAL CLEARCASE AVOID
tion lookup, binary sharing and build auditing. Omake supports users UNNECESSARY BUILDS?
who require compatibility with Windows-based build programs, includ-
ing Borland Make, Microsoft NMAKE, Intersolv Configuration Builder Unlike standard make utilities, which treat builds as an all-or-nothing
(Polymake), and OpusMake. Clearmake offers support for UNIX-style proposition, clearmake and omake use a more sophisticated build-
makefiles, including gnumake. avoidance scheme specifically designed for parallel development situa-
tions. clearmake and omake use configuration records to determine
when derived objects can be safely shared among views. This facility,
WHAT IS A RATIONAL CLEARCASE DERIVED OBJECT?
termed wink-in, saves both disk storage and build time.
Derived objects play a critical role in a Rational ClearCase develop-
ment environment. A derived object is a file or directory produced by In determining when builds are necessary, clearmake and omake go
a clearmake or omake build. Typical derived objects include object far beyond simple comparisons of time-modified stamps. The proce-
modules, executable programs, library archives, formatted docu- dure involves comparison of source versions, build scripts and build
ments, and tables of contents generated by document processing options, and culminates in one of three build decisions:
systems. The components of a derived object include: • Reuse the existing target in a view—when there are no
• The file name under which it was created as a target (its”handle” identified dependencies or changes
from the file system’s point of view) • Execute the corresponding build script—when changes, depen-
dencies, or a lack of auditing capability requires a new build
12
TO706C.qxd 2/16/99 8:58 AM Page 19
• Wink-in a derived object from another view—when the verifica- ClearCase config recs allow derived objects to be compared meaning-
tion procedure determines that the source versions, build options, fully—not by their data, but by their build configurations. The diffcr
and build script of another instance can be safely shared. A single (compare config rec) command reports the differences between two
derived object is now shared by both views. config recs, including:
• Differences in versions of ClearCase elements used as sources, and
HOW DO CLEARMAKE AND OMAKE AUTOMATICALLY
in time-modified stamps of non-elements used as sources
IDENTIFY SOURCE AND HEADER DEPENDENCIES?
• Differences in the build script executed, including differences in
clearmake and omake build part or all of a software system within
the makefile macro values used
the context of a view, using the current configuration of source files
(typically, some checked-in, some checked-out). Derived object infor- • Non-critical differences that do not affect clearmake’s and
mation provides these programs with the appropriate level of detail omake’s build avoidance decisions, including date and time of
required to make intelligent build decisions without explicit declara- build, hostname, and view name
tion of header-file dependencies. clearmake and omake do not re-
quire the declaration of header-file dependencies or any other WHAT IS INCLUDED IN A SOFTWARE BUILD
source-file dependencies in makefiles. “BILL OF MATERIALS”?
As shown in Figure 5.1, a “Bill of Materials” (Configuration
HOW DOES RATIONAL CLEARCASE
Record) includes:
PERFORM BUILD AUDITS?
• The version of each file element in any VOB used in the target
During execution of a build script, clearmake and omake work with
rebuild—including both source files and tools (for example, a
Rational ClearCase MVFS code in the operating system kernel to per-
compiler) under Rational ClearCase version control
form a build audit. The MVFS records the version of every file opened
for reading or execution whose pathname is under a VOB mount • Each view-private file used in the build
point; it also notes which files are created (or overwritten). After exe-
• Non-ClearCase files declared in the makefile
cuting the build script, clearmake and omake store the audit data in a
configuration record (config rec). A VOB database pointer attaches • The text of the build script, with all makefile macros expanded
the config rec to each derived object from the build (Figure 5.1).
MFS objects:
/tut_vobs/akp_hw/src/hello@@27-Jan.08:03.376
/tut_vobs/akp_hw/src/hello.o@@27-Jan.08:03.367
/tut_vobs/akp_hw/src/msg.o@@27-Jan.08:03.373
/tut_vobs/akp_hw/src/util.o@@27-Jan.08:03.370
Build Script:
13
TO706C.qxd 2/16/99 8:58 AM Page 20
• Operating system version and CPU type across all the workstations in a local area network (Figure 5.2). clear-
make also supports software building across heterogeneous, multi-
• The user who performed the build
platform development environments.
• The host(s) that executed the build script
WHAT ABOUT LOAD BALANCING IN
• The view to which clearmake or omake was set
DISTRIBUTED ENVIRONMENTS?
• The start date and time of the build
clearmake features a sophisticated load-balancing facility that opti-
mizes the performance of distributed builds. Users specify hosts that
CAN RATIONAL CLEARCASE BUILD IN PARALLEL can function as distributed build servers, and set parameters includ-
ACROSS MULTIPLE UNIX HOSTS? ing time of day, machine load, and user ids to govern building on
Yes. clearmake supports both parallel building (concurrent execution each host. clearmake then automatically load-balances distributed
of a set of build scripts) and distributed builds (use of multiple hosts builds across these hosts.
to execute build scripts) in UNIX environments. For example, clearmake
can perform a three-way build, in which all processes execute on a
single multi-processor computer server. Or it can distribute a build
Large
VOBs
Sun can be Windows
HP distributed NT
among
servers
Builds
can be
distributed
among
hosts
Windows Windows
Sun SGI
NT 98
14
TO706C.qxd 2/16/99 8:58 AM Page 21
6 process control
While development procedures differ widely across organization and teams, all share
a common goal of improving software quality and reducing time-to-market. Rational ClearCase
includes flexible, powerful tools for implementing site-specific processes, without dictating
“With delivery only 3 weeks away, any particular policies, procedures or methodologies. Routines can be
we have no choice but to develop
set up to monitor software changes, prevent access by unauthorized
and test concurrently. How can we
automatically notify QA when a personnel, create permanent project records, or automate the flow
file has changed?”
of project communications.
HOW DO ORGANIZATIONS TYPICALLY USE RATIONAL example, a Code Quality attribute can be defined as having the
CLEARCASE PROCESS CONTROL TOOLS? value A, B, C, D, or F. Enforcement mechanisms can then auto-
Organizations typically use these tools to: matically assign attributes according to specified rules.
• Monitor and control the development process • Hyperlinks. A hyperlink is a logical arrow connecting two objects.
For example, a hyperlink can connect a design document to a
• Organize and cross-reference all the data involved in development: source code module. Hyperlinks can relate whole elements, specific
source code, memos, design proposals, and technical manuals versions (as needed for requirements tracing), or subsections within
• Automate communications among individuals and groups objects. Hyperlinks can cross VOBs and can handle the renaming or
moving of an object or its VOB. With the hyperlink browser, users
• Automate tedious and error-prone steps can display, create, traverse, and maintain networks of ClearCase
hyperlinks.
WHAT PROCESS CONTROL TOOLS ARE AVAILABLE?
• Event history. ClearCase automatically records some of the most
Rational ClearCase process control tools operate at the meta-data
important state information, gathering “who, when, and why”
level, meaning that the data structures and procedures involved in
information, user-supplied comments, and other important data
process management are independent of the contents of elements.
whenever objects are changed. The system records similar informa-
Three feature sets are available: meta-data for capture of state infor-
tion on built or released objects.
mation, policy enforcement tools, and notification features.
15
TO706C.qxd 2/16/99 8:58 AM Page 22
SYS TECH
DEVELOPER MGMT
ADMIN WRITER
16
TO706C.qxd 2/16/99 8:59 AM Page 23
At a practical level, Rational ClearCase automates and accelerates the many tedious tasks
required to write, release and maintain good software. Developers benefit from easy
“As a manager, it all comes down of events. Across all platforms, ClearCase features seamless integration
to this: how can I help my developers
with popular integrated development environments for maximum
work more productively, both individu-
ally and as a team, every day?” developer productivity.
HOW DO WINDOWS NT USERS ACCESS RATIONAL CLEARCASE The ClearCase Details tool displays all ClearCase related information
COMMANDS THROUGH THE WINDOWS EXPLORER? about files or directories, such as the checked-out state, the version of
Integration with the Windows Explorer puts all common Rational the element that the user’s view selects, and the rule in the user’s con-
ClearCase operations within easy reach. The integration allows users to figuration specification that selected the version. ClearCase Details
start views, mount VOBs, check out/in elements, launch the Version Tree allows the user to change the appearance of the display, navigate to
browser, examine element histories and properties, find checked-out ele- other directories, and perform common ClearCase tasks.
ments, compare versions with predecessors, and launch the ClearCase
Details applet directly from the Windows Explorer (Figure 7.1). WHAT RATIONAL CLEARCASE COMMANDS ARE
AVAILABLE FROM WITHIN VISUAL C++,
VISUAL BASIC AND VISUAL J++ ENVIRONMENTS?
On Windows, Rational ClearCase supports the Microsoft Common
Source Code Control (SCC) Interface Specification, an API for commu-
nication between developer tools and source code control utilities. This
interface allows developers to access ClearCase commands directly
from within an IDE using standard Microsoft SCC dialog boxes.
Within Visual C++ and J++, users can add new files to source con-
trol; check out/in files and launch ClearCase history and properties dis-
plays (Figure 7.2). Similarly, from within the Visual Basic IDE users can
start views; mount VOBs; add Visual Basic projects to ClearCase; add
new files; check in/out; and launch ClearCase history and properties
displays. An add-in toolbar allows developers to access the full range
of ClearCase functionality including version tree browsers, merge
manager and build management features.
17
TO706C.qxd 2/16/99 8:59 AM Page 24
• HP Softbench* • The developer uses the checkin command to create a new version
of an element. The new version instantly becomes available to all
The ClearCase file system transparency enables other IDE’s to integrate easily, views and visible to those views configured to see the latest ver-
without requiring a special integration. sion of that element.
• Throughout development, developers can access special ClearCase
commands that make it easy to monitor and compare work with
other developers, including list check-out, list history, list derived
objects, list/compare config recs, and compare source versions.
18
TO706C.qxd 2/16/99 8:59 AM Page 25
8 R at i o n a l c l e a r c a s e m u lt i s i t e
Rational ClearCase MultiSite offers a highly practical solution. The MultiSite option extends
ClearCase’s reach to team members down the street or across the world, delivering automated,
“Whether they’re across the hall error-free replication of project databases and transparent access to all
or halfway around the world, all of
software elements. A scalable, flexible, peer-to-peer architecture accommo-
our developers have to pull together
as one team.” dates teams of any size and scope.
HOW DOES CLEARCASE MULTISITE WORK? HOW ARE UPDATES TRANSMITTED BETWEEN SITES?
The MultiSite option implements an extended version of Rational Project leaders and administrators can schedule MultiSite VOB up-
ClearCase’s branch-and-merge model of parallel development. dates as needed, choosing from multiple update mechanisms, includ-
MultiSite creates a family of VOBs by cloning the contents of an exist- ing MultiSite’s built-in store-and-forward system, standard file transfer
ing VOB and replicating it at multiple locations. The mkreplica com- facilities, or magnetic tape. Development work within a VOB continues
mand creates a new instance of a VOB for a specific site, and can cre- normally during the update—there is no need to “lock” or take the
ate an unlimited number of replicas. Replicated VOBs are local to each VOB “offline” during the update.
site, and are used for daily development work.
MultiSite enforces the concept of “mastership”, or ownership of a
site-specific branch within a replicated VOB. Just as a maintenance
team might own the “bug_fix” branch in a non-replicated VOB, a site
may “master” a branch within a replicated VOB. A site can read
changes made to all branches at all sites, but can only change (write)
branches that it masters. In addition, any site can serve as an integra-
tion site, merging changes from other locations using Rational
ClearCase’s automated merge tools. Enforced object mastership guar-
antees orderly parallel development, eases project integration, and
prevents conflicting changes of replicas.
19
TO706C.qxd 2/16/99 8:59 AM Page 26
DOES MULTISITE ALSO SUPPORT SERIAL maintenance, and provide detailed reports of synchronizations for ad-
DEVELOPMENT? ministrators. The multitool character-based interface provides access to
Yes. For project teams who prefer a serial development model across MultiSite commands that create, update, and manage replicated VOBs,
sites, per-branch mastership offers a practical approach. Per-branch using the familiar syntax of Rational ClearCase.
mastership allows one site to hand off mastership of a particular
development branch to another site, providing fine-grained control WHAT ARE SYSTEM REQUIREMENTS FOR MULTISITE?
of changes to shared software. Rational ClearCase MultiSite installs as a layered product option on a
ClearCase host, and requires 6-11MB of disk space (varies by hard-
HOW DOES WORKING WITH MULTISITE DIFFER ware platform). A ClearCase MultiSite user license and a ClearCase
ON A DAY-TO-DAY BASIS? user license are required to access a replicated VOB.
For project team members, working within a replicated VOB is just
like working within a non-replicated VOB—existing tools and policies
work without modification. Replicated VOBs require minimal ongoing
20
TO706C.qxd 2/16/99 8:59 AM Page 27
9 R at i o n a l c l e a r q u e s t
While any individual change request may be trivial, the aggregation of hundreds or
thousands of requests, each with potential impact across multiple products, versions and
“We need a tool that tracks all our platforms, strains even the most capable development teams. To be
changes while allowing us to keep
successful, organizations must apply order and intelligence to an
our existing processes in place.”
intrinsically complex and ever-moving target.
21
TO706C.qxd 2/16/99 8:59 AM Page 28
22
TO706C.qxd 2/16/99 8:59 AM Page 29
10 R at i o n a l c l e a r c a s e at ta c h e
Although Rational ClearCase client software may be installed on Microsoft Windows, there are
occasions when a subset of features may be all that is required by a development or documen-
tation group. ClearCase Attache provides an easy-to-use Windows interface to much of the power
WHAT DOES ATTACHE PROVIDE WINDOWS CLIENTS? HOW DO ATTACHE USERS CHECKIN AND
CHECKOUT VERSIONS FOR EDITING?
Rational ClearCase Attache provides direct access to ClearCase server
commands with a combined graphical/character interface. The Attache Developers define the files which appear in their workspaces with a
interface includes a toolbar, pull-down menus, and scrolling command config spec—a set of user-specified rules that select versions appropri-
window. The combination of local workspaces and extensive ClearCase ate for a particular task. Developers checkout versions for editing,
commands let developers perform all development on their Windows building or viewing by copying the versions to the workspace as ordi-
client systems, while taking advantage of ClearCase’s advanced support nary files. When modifications are complete, the files are checked in
for team-based development. through the view into the VOB.
HOW IS RATIONAL CLEARCASE DATA ORGANIZED HOW DOES ATTACHE INTEGRATE WITH POPULAR
AND PRESENTED TO ATTACHE CLIENTS? INTEGRATED DEVELOPMENT ENVIRONMENTS (IDE’S)?
Rational ClearCase Attache allows developers to define and manage Rational ClearCase Attache provides direct access to version control
multiple local workspaces of version-controlled data. Each local work- functions from within Microsoft Visual C++ and Visual Basic develop-
space corresponds to a Rational ClearCase view resident on a ment environments. The integration fully supports the Microsoft
ClearCase Windows NT or UNIX host. To Windows users, the work- Common Source Control Code (SCC) Interface Specification, an API for
space looks like a private directory tree located on a local hard drive or communication between IDE tools and source code control utilities.
accessible file server. In addition to toolbar buttons and pull-down This enables Attache to provide direct access to ClearCase commands
menus for common operations, ClearCase Attache provides a character- from standard Microsoft SCC dialog boxes.
based interface to nearly every ClearCase command (in a form consis-
Within Visual C++, users can access such common SCM operations
tent with the clear-tool command set). These commands provide
as adding new files to source control, checking out/in files, and
Windows users with comprehensive support for parallel development,
launching ClearCase Attache history and properties displays. Similarly,
version histories, and reports.
from within the Visual Basic IDE, users can add Visual Basic projects to
ClearCase Attache, add new files, check in/out, and launch history and
properties displays.
23
TO706C.qxd 2/16/99 8:59 AM Page 30
11 R at i o n a l c l e a r c a s e a r c h i t e c t u r e a n d a d m i n i s t r at i o n
As a fundamental infrastructure capability, the choice of an SCM system has far ranging
implications for your organization. Rational ClearCase’s fully distributed, client/server architec-
“In software development, the only the number of users, amount of code, or type of processors. Compatible
constant is change itself. How can
with all standards—compliant development environments, code analysis
I ensure that our SCM investments
today will continue to be compatible tools, defect tracking systems, and CASE frameworks, ClearCase preserves
with the tools of tomorrow?”
both your current investments and future flexibility.
24
TO706C.qxd 2/16/99 8:59 AM Page 31
client non-
client ClearCase
host host host
ClearCase Registry
Release Server
host host
Figure 11.3: any host may play different rolls at different times, or several rolls at once
25
TO706C.qxd 2/16/99 8:59 AM Page 32
12
GENERAL
R at i o n a l c l e a r c a s e S p e c i f i c at i o n s
• Platform interoperability
CLIENT REQUIREMENTS
32 MB RAM
• Graphical user interface
SERVER REQUIREMENTS
• Command line interface
64 or more MB RAM (depending on code base size)
• Client/Server architecture
SUPPORTED ENVIRONMENTS
• Fully distributed database
• Digital UNIX
• Floating license system
• Hewlett-Packard HP-UX
• Application programming interface
• IBM AIX
• On-line documentation and help
• Microsoft Windows NT/95/98 (client only)
• File access from non-Rational ClearCase hosts
via share drive (Windows) or NFS (UNIX) • NCR MP-RAS
• HP Softbench*
†
• Microsoft® Developer Studio™
Visual Basic
Visual C++
Visual J++
†
• Oracle Developer/2000
†
• PowerBuilder
†
* UNIX Only Windows Only
26
TO706C.qxd 2/16/99 8:59 AM Page 33
ACCESS FROM OTHER PLATFORMS: use of ClearCase tools—labels, attributes, hyperlinks, triggers, and
ClearCase provides easy access to version-controlled data from queries—to implement custom processes.
non-ClearCase hosts. This can be accomplished in two ways: via • ClearCase MultiSite is a two-day course that covers the creation,
shared drives for Windows users, and via exported views in NFS- updating, and administration of MultiSite-replicated VOBs for dis-
supported environments. tributed project teams.
• Training courses on ClearCase Attache are also available.
TRAINING
Rational Software offers ClearCase training courses at Software’s CUSTOMER SUPPORT
Lexington, MA, McLean, VA, Dallas, TX and Santa Clara, CA training
centers on a regularly-scheduled basis and at Rational Software field Rational Software’s comprehensive customer support services include
offices or customer sites when requested. Courses are available on maintenance and enhancement releases, telephone and email hotline
both Windows and UNIX platforms. For more information see the support (staffed 8:00 AM to 9:00 PM, EST), technical bulletins, and an
Rational web site. annual User Group conference.
• The ClearCase Fundamentals course is a comprehensive, two-day ABOUT RATIONAL SOFTWARE CORPORATION
course that covers ClearCase and its commands. Lecture-style
Rational Software Corporation offers the benefits of nearly twenty
instruction is reinforced with multiple examples and lab exercises.
years of experience in proven best practices for software development.
Course topics include the ClearCase environment, version control,
This experience is drawn from hundreds of our own Rational Software
build management, parallel development, process control, and
Consultants working directly with our customers. Our Professional
workspace management.
Services accelerate customer adoption of tools and best practices,
• ClearCase Planning, Implementation, and Administration is a two- maximizing the probability of project success and ensuring value from
day course that builds on the Fundamentals course and provides your investment.
comprehensive coverage on installation, licensing, view creation,
Rational Software and its partners offer a wide range of Professional
VOB creation, migration, and performance tuning.
Services. These include tool and technology training, Implementation
• Using ClearCase Meta-Data for Policy and Process Management is a Planning, and Software Engineering Mentoring. For more information,
one-day course that builds on the Fundamentals course, and covers contact your Rational Software representative or an authorized Rational
Solutions Partner. For more information on Rational’s products and ser-
vices, visit Rational’s Web site at http://www.rational.com.
27
TO706C.qxd 2/16/99 8:59 AM Page 36
Corporate Headquarters
18880 Homestead Road
Cupertino, CA 95014
Toll-free: 800-728-1212
Tel: 408-863-9900
Fax: 408-863-4120
E-mail: info@rational.com
Web: www.rational.com
International Locations:
http://www.rational.com/corpinfo/worldwide/locations.jtmpl
All rights reserved. Made in the U.S.A. © Copyright 1999 by Rational Software Corporation.
TO-706C; rev. 1/99. Subject to change without notice.