You are on page 1of 32

TO706C.

qxd 2/16/99 8:58 AM Page 1

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

Rational ClearCase Product Summary


This document reflects Rational ClearCase Release 3.2.1 software for per-
sonal computers running Windows or UNIX. Information on Rational
ClearCase MultiSite, ClearCase Attache, ClearQuest, ClearGuide, and
ClearDDTS is also included.
To keep this Product Summary concise, some examples reflect Windows
conventions and GUIs and others reflect UNIX conventions and GUIs. The
few key functional differences between the Windows and UNIX versions of
Rational ClearCase are noted in this document. Please contact your Rational
Software sales representative for further platform-specific information.
Rational, the Rational logo, Rational ClearCase, ClearCase MultiSite,
ClearCase Attache, ClearGuide, ClearDDTS and ClearQuest are trademarks
or registered trademarks of the Rational Software Corporation in the United
States and other countries. Microsoft, Windows 95, Windows NT, Windows
for Workgroups, Developer Studio, Visual Basic, Visual C++ and Visual J++
are trademarks or registered trademarks of Microsoft Corporation. Sun
Solaris and Sun OS are trademarks or registered trademarks of Sun
Microsystems, Inc. All other names are used for identification purposes only,
and are trademarks or registered trademarks of their respective companies.
This document is subject to change without notice. Rational Software
assumes no responsibility for any errors that may appear in this document.
TO706C.qxd 2/16/99 8:58 AM Page 5

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

Software development is an inherently dynamic and increasingly complex process. At the

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.

Rational ClearCase® is the first software configura-


tion management (SCM) system to provide a prac- To date, Thousands of software
tical, dynamic solution to the complexities of mod- developers have successfully
ern software development. With its comprehensive used ClearCase to:

capabilities, ClearCase enables organizations to


• Increase team productivity
streamline development cycles, successfully pur-
sue concurrent development strategies, guarantee • Improve individual productivity
the accuracy of releases, and efficiently support re- • Bring higher quality products to market sooner
mote team members. Because ClearCase adopts
a uniquely transparent, non-intrusive approach, • Simplify software maintenance
organizations find ClearCase easy to deploy, • Guarantee the build accuracy and version control of
roll out, and maintain. every software element
The purpose of this guide is to explore how • Automate time-consuming, error-prone software
you can achieve these desired results in your development tasks
own environment, by addressing the most
frequently asked questions about ClearCase • Optimize use of hardware resources
usage and implementation. • Improve project coordination

• Implement more consistent software


development practices
• Reduce tool and administration requirements

• Improve software security and disaster recovery

• Reduce training and implementation costs

• Support heterogeneous development environments


more effectively

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

Product Options Rational ClearDDTS.™ Rational ClearDDTS is a UNIX Change


Rational ClearCase MultiSite.® Rational ClearCase MultiSite pro- Request Management product. ClearDDTS supports integration with
vides comprehensive SCM support across geographically distributed ClearCase.
project teams, including advanced support for parallel development. Rational ClearCase Attache.™ Rational ClearCase Attache provides
By creating and automatically maintaining dynamic replicas of much of the power of Rational Software’s ClearCase client software
ClearCase data, MultiSite allows distributed project teams to access, in an easy-to-use Windows interface and a slim memory footprint.
develop, and integrate software using familiar ClearCase commands. ClearCase Attache offers development teams with the software con-
figuration management support they need to do parallel development,
Rational ClearQuest.™ Rational ClearQuest is a Windows Change process control, and distributed development when used with the
Request Management (CRM) product designed for the dynamic and comprehensive facilities of ClearCase or ClearCase Attache MultiSite
interdependent nature of software development. With ClearQuest, on a Windows or UNIX server.
development teams can reliably track and implement change requests,
streamline workflow, identify trends, and establish an effective CRM Rational ClearGuide.™ For organizations seeking to continually
process. This comprehensive approach enables organizations to deliver refine, monitor, and improve the way they build software, Rational
higher quality software, more predictably. ClearQuest supports integra- ClearGuide offers a highly collaborative approach to Software Process
tion with ClearCase. Management. Providing a flexible framework for defining tasks, priori-
tizing activities, allocating resources, and tracking project progress,
ClearGuide particularly suits the needs of organizations implementing
ISO 9000 or higher levels of the Capability Maturity Model.

3
TO706C.qxd 2/16/99 8:58 AM Page 10

2 Beyond version control

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.

WHY IS VERSIONING DIRECTORIES IMPORTANT?


Directory versioning is essential in order to capture changes such
as the creation of new files, renaming of files, creation of new subdi-
rectories, and movement of files between subdirectories. Rational
ClearCase provides complete directory versioning and also supports
automated comparisons and merges of directories. This versioning
capability allows users to easily identify all changes made to a specific
directory (Figure 2.2).

DOES CLEARCASE MANAGE BINARIES AND PROJECT


DOCUMENTATION AS WELL AS SOURCE CODE?
Yes. Rational ClearCase can be used to control multiple versions of any
object in the software development lifecycle, including non-text files,
directories, and tools. You can version-control source code, libraries,
compilers, requirements documents, design notes, user documentation,
binaries, test suites, databases, and more.

HOW DOES RATIONAL CLEARCASE STORE FILES?


Rational ClearCase stores all version-controlled data in permanent
secure repositories called versioned object bases (VOBs). ClearCase
VOBs combine the familiar features of Windows and UNIX file systems
Figure 2.1: Version Tree with the power of a distributed database system. Project teams can

4
TO706C.qxd 2/16/99 8:58 AM Page 11

Version 1 Version 2 Version 3

Rename
SRC SRC SRCDIR a directory

BAR LIB BAR LIB FOO BAR2 LIB

Starting Directory Structure Add a file Rename a file FOO

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.

WHAT TYPES OF CHECKOUTS ARE AVAILABLE?


Rational ClearCase supports two kinds of checkouts, reserved and
VOB VOB unreserved. A reserved checkout guarantees the right to extend the
version history with a new version, and only one reserved checkout is
allowed on each branch at a time. An unreserved checkout does not
VOB VOB
guarantee the right to create a successor version. If multiple develop-
ers checkout (unreserved) a single element concurrently, and then
Figure 2.3: vobs are mounted as file systems attempt to check in, the first check in is allowed, and other users must
perform a merge to incorporate their changes (Figure 2.4).

5
TO706C.qxd 2/16/99 8:58 AM Page 12

WHAT TYPES OF META-DATA DOES RATIONAL


CLEARCASE CAPTURE, AND WHERE ARE THEY STORED?
Many Rational ClearCase operations create an event record document-
ing useful information about the operation. This record captures the
“who, what, when, where, and why” of the operation, such as: the
login name of the user who entered the command, the kind of opera-
tion, the date-time, the hostname, and a user-supplied comment. Since
this information is not actually contained within the object, it is
termed meta-data. ClearCase automatically captures some meta-data,
and allows users to define additional meta-data.
All meta-data is stored in the VOB database. ClearCase automatically
captures meta-data derived from file-system information, e.g. the cre-
ation of a new version of element A at date-time B. Additional meta-
data can be user defined, e. g. that a version was used to build
Release 431 or that the benchmark score of an executable was 19.3. Figure 2.5: history browser

User-defined meta-data can serve a variety of purposes, including


naming specific branches, labeling specific versions, and attaching
annotations (attributes) to any version of an element.

2 2 HOW IS RATIONAL CLEARCASE META-DATA ACCESSED?

u u u u Rational ClearCase meta-data is easily accessible through a variety of


menu, command line and report interfaces. The history command, avail-
Unreserved Check in able by right-clicking any ClearCase file in Windows or by issuing the
checkouts 1st
3 UNIX lshistory command, provides a complete listing of all event
Merge records for a particular file. In addition, the ClearCase History Browser
2nd provides a graphical interface to VOB event records (Figure 2.5). The
annotate command lists the contents of any text-file version with line-

4 by-line annotations, making it easy to see when different lines were


added or deleted. ClearCase also creates custom reports on file system
objects. Many version-related commands allows users to format com-
Figure 2.4: Checkin of unreserved checkouts
mand output to create a variety of reports.

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

WHAT DO SNAPSHOT VIEWS LOOK LIKE?


V Snapshot views are implemented at the native Windows file system
src level by copying selected versions of VOB elements to a target PC’s
I
hard drive or removable JAZ drive. A load rule defines the scope of
foo.c View-private
Storage
foo.h data to be downloaded from the VOB database. Once downloaded,
E bar.c
bar.c snapshot views are standard directories and files. Each view appears
W in a separate directory. A user synchronizes a snapshot view with the
contents of the VOB by running the Snapshot View Update tool.

Figure 3.1: version selection by a view

7
TO706C.qxd 2/16/99 8:58 AM Page 14

HOW DO DEVELOPERS WORK WHILE DISCONNECTED


element * CHECKEDOUT FROM THE NETWORK?

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

DO VIEWS SUPPORT PUBLIC AND PRIVATE


Versioned Object DATA STORAGE?
Base
foo.c foo.h Yes. Rational ClearCase supports a well-regulated development envi-
ronment by maintaining both public and private data storage. Shared
or public data storage in VOBs contains information intended for regu-
V
lar access by all ClearCase users. Private data storage in views typically
Any contains files that belong to an individual developer, such as checked-
Any program I
rocess
an use
or View-private out versions of file elements and derived objects created by ClearCase
view: command Storage
can access E builds in that view. A view combines both kinds of data storage into a
bar.c
a view “virtual workspace,” in which developers perform day-to-day tasks
W such as checking files in and out, editing source files, building soft-
ware, and debugging systems.

ARE RATIONAL CLEARCASE VIEWS AVAILABLE TO


Figure 3.3: transparency of vob data
NON-CLEARCASE HOSTS ON A LAN?
Yes. Rational ClearCase data is completely accessible to non-
IS THERE AN EASY WAY TO SET UP EVERYONE’S ClearCase machines in the local area network (LAN). For example, a
VIEWS IN ADVANCE? ClearCase UNIX host can export a VOB as seen through a particular
Yes. ClearCase View Profiles allow project managers to quickly create view, and any host in the network can NFS-mount it. This gives devel-
a set of predefined view profiles for an entire team. This powerful fea- opers on the non-ClearCase host read-write access to the view,
ture provides an easy way to ensure that everyone on the team is enabling them to compile and build applications with local tools.
using the appropriate file versions. At the same time, developers, quali- Non-ClearCase hosts must rlogin or use an X-window into the
ty engineers and documentation writers don’t have to worry about ClearCase UNIX host to checkout/checkin. With snapshot views on
configuration specification details; they can simply browse a list of Windows, non-ClearCase hosts can access views by simply sharing the
available view profiles, then select the one(s) preconfigured to meet FAT or NTFS-based share that contains the view.
their needs (only available on Windows).

WHAT IF I WANT TO WORK WITH A DIFFERENT


VERSION OF A FILE THAN SPECIFIED BY A VIEW?
View transparency is a powerful feature that can be overridden
as needed. You can override views by using view-extended path
names and/or version-extended path names. View-extended path
names access the version of an element that appears in another
view. Version-extended path names are view-independent—they
identify a particular version by its version-tree location or version
label, regardless of whether that version appears in the current
view, or any view at all.

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

In today’s fiercely competitive marketplace, success is increasingly determined by an

organization’s ability to harness development resources. Rational ClearCase provides outstand-

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

WHAT’S THE DIFFERENCE BETWEEN CLEARCASE’S


MERGE FACILITIES AND OTHER MERGE FACILITIES?
Rational ClearCase applies an unprecedented level of intelligence
and automation to the merge process. First, ClearCase’s Merge
Manager (Figure 4.1) automatically and efficiently locates every ele-
ment of a project that requires merging. Then, by analyzing both the
branching structure of each element’s version tree and all merges
that have previously been done in the element, ClearCase determines
the base contributor, or “common ancestor” version of the versions
Figure 4.1: merge manager find wizard

10
TO706C.qxd 2/16/99 8:58 AM Page 17

Figure 4.2: diff merge tool

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

upward-compatible build utilities, however, provide important value-added benefits. By auto-

“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?”

times while guaranteeing the reproducibility of software versions.

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).

% cleartool catcr hello


Target hello built by akp.user
Host “neptune” running SunOS 4.1.1 (sun4)
Reference Time 27-Jan-99.08:03:19, this audit started 27-Jan-99.08:03:46
View was neptune:/home/akp/tut/tut.vws
Initial working directory was /tut_vobs/akp_hw/src

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:

cc -o hello hello.o util.o msg.o

figure 5.1: Sample configuration record

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

Developer's VOB VOB


Workstation Server host Server host

Large
VOBs
Sun can be Windows
HP distributed NT
among
servers
Builds
can be
distributed
among
hosts
Windows Windows
Sun SGI
NT 98

Developer's Developer's Developer's Developer's


Workstation Workstation Workstation Workstation

Figure 5.2: example of distributed building

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.

WHAT TYPES OF META-DATA DOES


RATIONAL CLEARCASE CAPTURE?
Three categories of Rational ClearCase meta-data come into play:
• Attributes. Developers can attach attributes (i.e., name=value
pairs) to most kinds of objects. Attributes can take many kinds
of values, including integers, strings, dates, and more, and can be
optionally constrained to specified ranges or enumerated sets. For

15
TO706C.qxd 2/16/99 8:58 AM Page 22

SYS TECH
DEVELOPER MGMT
ADMIN WRITER

Someone Doc must


ALERT ALERT changed REPORT be updated
your file

Software Development Process

Meta-Data Notification Enforcement


Features Tools
Labels Post-event triggers Pre-event triggers
Attributes "Find" queries Locks
Hyperlinks Dynamic config specs Access controls
Event history Auto-make-branch
"Include" config rules

Figure 6.1: process management mechanisms and policies

WHAT POLICY ENFORCEMENT TOOLS WHAT NOTIFICATION AND REPORTING


ARE AVAILABLE? FEATURES ARE AVAILABLE?
Rational ClearCase provides four flexible tools that can be mixed and Rational ClearCase notification features help automate the flow of
matched to implement a wide variety of behaviors (Figure 6.1): project communications and reporting. They include:
• Pre-event triggers. A pre-event trigger monitors the use of a • Post-event triggers. A post-event trigger is a monitor that runs
specified ClearCase operation (for example, checkin), or class of oper- after a specified operation completes. Typically, such a trigger noti-
ations (for example, any command that modifies a VOB). Before the fies one or more users that a command executed, or attaches an
operation runs, the trigger fires, executing either a program, batch attribute to an object. For example, a post-event trigger on the
file, shell script, or built-in action. Triggers can require that certain checkin operation might send mail to the QA department explain-
criteria be met or checks applied before running a command. ing that a particular user modified a specific file. The mail message
might include the comment supplied by the user during checkin.
• Locks. Applied to an object, a lock stops the modification of that
object. Locks can be fine-grained (for example, locking a particular • Find queries. ClearCase’s find command enables developers to
element) or general (for example, locking an entire VOB). A typical efficiently determine the current state of a project. Typically, a find
application is locking just the main branch of all elements during a command performs a query on one or more VOB databases—for
software integration period. Locks can also have an exceptions list, example, “find all versions that are part of Release 2.0 but don’t
allowing only specified users to modify the object. have a PASSED=QA attribute.”
• Access controls. All ClearCase elements have associated protec- • Dynamic config specs. A config spec rule selects versions in
tion modes. This protection mode controls reading, writing, terms of labels, attributes, hyperlinks, and event history. These rules
and execution of objects at different levels of granularity: user use the same queries as the find command. For example, a config
(owner), group, and world. It also protects the physical storage of spec can select “the latest version with the Passed=QA attribute,
the underlying file system, effectively thwarting attempts to circum- otherwise the most recent version created by user drp.”
vent ClearCase and tamper with the raw operating system storage.
• Automatic branch creation. Maintenance work proceeds best
when all modifications to elements are performed on branches of
the same type. ClearCase enforces this by automatically creating a
branch with a specified name upon element check-out.

16
TO706C.qxd 2/16/99 8:59 AM Page 23

7 maximizing developer productivity

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

access to files, selection of versions, isolation of workspaces and automatic notification

“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.

Figure 7.1: clearcase for windows


explorer integration

17
TO706C.qxd 2/16/99 8:59 AM Page 24

WHAT IS THE TYPICAL EDIT/COMPILE/DEBUG CYCLE,


USING RATIONAL CLEARCASE FOR UNIX?

• To start work in UNIX, a developer creates a shell process and


selects a view, then uses the standard cd command to visit any
source directory in any VOB. There is no need to copy data to a
parallel source tree. All child processes of the shell—including
those of third-party applications—will also be set to the view.
• All of the developer’s shell-oriented tools (such as aliases, file
name completion, command-output substitution, and scripts)
remain available as the developer works on Rational ClearCase
controlled data.
• The developer cannot modify a source file element until it is
checked out. An element appears as a read-only file until the
Figure 7.2: Rational clearcase for developer issues a checkout command to make it writable. Only
Windows visual c++ integration the developer (and other users using the same view) can access
the writable, checked-out version. The developer edits the file in-
place—there is no need to copy the file to an area under his or
WHAT IDES ARE SUPPORTED IN THE NT
her home directory.
AND UNIX ENVIRONMENTS?
• Microsoft® Developer Studio™
† • To build the software system, the developer chooses among
standard make utilities, ClearCase’s enhanced clearmake build
Visual Basic® utilities or shell scripts. As with editing, building occurs in-place—
Visual C++® developers working in different views can build the same software
without interfering with each other.
Visual J++™

• The developer has a choice of debuggers (for example, dbx or a
• Oracle Developer/2000 third-party tool) to analyze and fix bugs in built software. The cor-
• PowerBuilder
† rect source file versions are all accessible through the view.

• 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.

* UNIX Only † Windows Only

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

For organizations facing the challenge of geographically distributed development teams,

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.

HOW IS INFORMATION SYNCHRONIZED


ACROSS SITES?
Because one site “masters” each branch, MultiSite can automatically
update source files and meta-data (event histories, hyperlinks, attribut-
es, and access controls) in replicated VOBs with guaranteed accuracy.
MultiSite transmits only the changes to each replica, eliminating the
inefficiency and expense of “whole-copy” replication models. Figure 8.1: Parallel development
across distributed teams

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.

WHAT IS RATIONAL CLEARQUEST? WHO IS AN APPROPRIATE USER


FOR RATIONAL CLEARQUEST?
Rational ClearQuest is a Windows Change Request Management
product designed for the dynamic and interdependent nature of soft- With Rational ClearQuest, the entire team benefits. Project leaders and
ware development. With ClearQuest, development teams can reliably managers improve their ability to dynamically track and analyze
track and implement change requests, streamline workflow, identify change requests (Figure 9.1). Development engineers will spend more
trends, and establish an effective CRM process. This compre- time coding and less time identifying action items. Test engineers can
hensive approach enables organizations to deliver higher quality identify with certainty the origin, status and outcome of every change
software, more predictably. item. Administrators will find ClearQuest easy to deploy, customize
and integrate with the tools they already use. To meet the needs of
WHAT EXACTLY CAN RATIONAL CLEARQUEST remote team members, ClearQuest includes a Web-based interface
HELP ME BETTER UNDERSTAND ABOUT MY with robust functionality.
SOFTWARE AS IT CHANGES?
Rational ClearQuest excels in providing clear answers to critical
change management questions. With ClearQuest, organizations can
answer with confidence such questions as:
• Does this software project meet our quality standards?
• Which key customer enhancements were implemented in
this release?
• Is anyone on the project overloaded with high-priority requests?
• How fast are existing change requests being resolved and new
ones reported?
• What is the find vs. fix ratio for last month?
• Can release x defects be attributed to specific modules or
programmers?
Figure 9.1: Rational clearQUEST graphical reporting
• When will we be able to ship the next version?

21
TO706C.qxd 2/16/99 8:59 AM Page 28

Tight SCM integration allows organizations to:


• Control, track and back out of changes in dynamic environments
• Query across projects to determine which requests were imple-
mented where

WHAT ARE SOME OF THE MORE UNIQUE


FEATURES OF RATIONAL CLEARQUEST?
Designed for fast, easy, out-of-the-box deployment, Rational
ClearQuest is also highly customizable. Powerful administrative tools
allow you to tailor nearly every aspect of the system, including the
request process lifecycle, database field, user interface layout, reports,
charts and queries. ClearQuest’s email integration features enable you
to integrate call center, software testing and other third-party tools.
And, to support the needs of your growing organization, ClearQuest
Figure 9.2: Rational clearQUEST designer
supports Microsoft Access, Microsoft SQL Server, and Oracle databases.

WHAT ARE THE BENEFITS OF INTEGRATING RATIONAL


CLEARQUEST AND RATIONAL CLEARCASE?
With both Rational ClearQuest and ClearCase software, organizations
can relate change requests directly to changes in their evolving code
base. Now you can answer such questions as:
• What change requests have been implemented in one release
but not in another?
• What source code changes were implemented for a particular
enhancement request?
• Which releases include enhancement requests submitted by
accounting?

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

of Rational ClearCase. It offers users sophisticated software configuration management of all

development objects, including files and directories. It is integrated with


“Do my writers need to install
all of ClearCase to use config- Microsoft Visual C++, Visual Basic, and offers robust modem support for
uration control?”
remote access.

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-

ture is fully scalable and network-transparent, imposing no architectural barriers to growth in

“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.

WHAT ARE SOME OF THE ARCHITECTURAL DETAILS


ASSOCIATED WITH RATIONAL CLEARCASE?
Rational ClearCase is a “groupware” product, with a distributed
client/server architecture. Both the programs that implement ClearCase
functions and the development group’s data can be distributed through-
out a local area network. As workstations are added to the network to
accommodate additional developers, ClearCase’s data-storage and data-
processing resources can be expanded as well.
Data storage is organized as follows:
The permanent, shared data repository is a collection of VOBs. Several
VOBs can be on the same host; the practical limit is a function of disk
space and processing resources.
Developers use individual (or shared) work areas known as views—
each of which has a small private storage area. A view’s storage area is
typically located on an individual workstation or PC. Central server hosts
can also be used—for example, for a shared view or a view in which an
entire application will be rebuilt for release. For increased flexibility, the
data storage for an individual VOB or view can be distributed across
two or more hosts. Developers access data using ClearCase client
programs (for example, the clearmake build utility), along with standard
operating system tools and third-party applications.

Figure 11.1: log browser

24
TO706C.qxd 2/16/99 8:59 AM Page 31

HOW IS RATIONAL CLEARCASE ADMINISTERED?


Rational ClearCase includes a set of tools, commands, and GUI applets
to create, deploy, and administer VOBs, views, and policies across a site.
System administrators can manage physical disk storage, tune system
performance across networks, assure VOB security, administer user
licenses, and restrict access to software elements. Status and error log
information is presented in the Log Browser (Figure 11.1). Essential sys-
tem administration information and commands are provided in the VOB
Properties Sheet (Figure 11.2) and other context-sensitive menus
(Windows), and in the ClearVob Admin tool (Windows and UNIX).
Administrators backup ClearCase VOBs using their existing backup tools.

HOW DO RATIONAL CLEARCASE ADMINISTRATORS


MANAGE PHYSICAL AND LOGICAL NAMES?
In their everyday work, Rational ClearCase users typically refer to spe-
cific VOBs and views using names (“tags”). For example, a project
team might use a shared “bug_fix” view to access items in the VOB
mounted as “/vobs/gui” (UNIX) or “\vobs\gui” (Windows).” System
Figure 11.2: VOB Properties sheet
administrators manage these global names and the physical locations
(path names) of the corresponding view and VOB storage areas
through ClearCase storage registries. Storage registries are network-
ClearCase server programs mediate access to the data in VOBs and wide resources, located on a designated registry server host, that map
views. Client and server processes communicate with each other using the commonly-used view and VOB names to the appropriate storage
remote procedure call (RPC) facilities. This makes ClearCase network- areas (Figure 11.3). System administrators can define multiple network
transparent—developers need not be concerned with the physical regions, in which clients use different “global” path names to access
location of data storage, because ClearCase servers make the data the same storage directories. This enables the registry mechanism to
available globally. support multiple subnetworks with different hostname spaces.

VOB View License


Server Server Server
host host host
client client
host host

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

• Rational ClearCase MultiSite option for • Pyramid DC/Osx


geographically distributed project teams
• Silicon Graphics IRIX

PRODUCT INTEGRATIONS • Siemens SINIX

• Rational Products • Sun Solaris, SunOS


Rational ClearCase MultiSite
• SCO UnixWare
Rational ClearQuest
Rational ClearGuide Window clients access UNIX servers via supported NFS client and SMB
Rational ClearDDTS server solutions. For specific ClearCase configurations, developers may
also choose to utilize the ClearCase file system (CCFS) option for inter-
Rational Purify®
† operation. For currently supported operating system versions and inter-
Rational Rose®
operation solutions, please visit our Web page at www.rational.com or
• Adobe Framemaker* contact your Rational Software sales executive.

• 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.