Rational Clearcase Product Sumary

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Rational Clearcase Product Sumary as PDF for free.

More details

  • Words: 10,336
  • Pages: 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 personal 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

1

Page 7

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 configuration management (SCM) system to provide a practical, dynamic solution to the complexities of modern software development. With its comprehensive capabilities, ClearCase enables organizations to streamline development cycles, successfully pursue concurrent development strategies, guarantee the accuracy of releases, and efficiently support remote team members. Because ClearCase adopts a uniquely transparent, non-intrusive approach, organizations find ClearCase easy to deploy, roll out, and maintain.

To date, Thousands of software developers have successfully used ClearCase to:

• Increase team productivity • Improve individual productivity • Bring higher quality products to market sooner • Simplify software maintenance • Guarantee the build accuracy and version control of

every software element

The purpose of this guide is to explore how you can achieve these desired results in your own environment, by addressing the most frequently asked questions about ClearCase usage and implementation.

• Automate time-consuming, error-prone software

development tasks • Optimize use of hardware resources • 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

Version Control

Build Management

Workspace Management

Process Control

ClearCase provides flexible, powerful tools for implementing project and site-specific policies, without imposing particular procedures or methodologies. Organizations can set up automated routines to monitor software changes, prevent changes by unauthorized personnel, notify team members when events occur, and create permanent records of development procedures. THE RATIONAL CLEARCASE PRODUCT FAMILY

Bridging the Worlds of Windows and UNIX

Figure 1.1: rational CLEARCASE functionS

Rational ClearCase spans Windows and UNIX client platforms, allowing developers to work in the native development platform of their choice. The ideal solution for heterogeneous project teams, ClearCase offers seamless interoperability between Windows and UNIX platforms. ClearCase relies on industry-standard TCP/IP for communication between clients and servers and supports select third-party NFS client and SMB server solutions for communication between Windows and UNIX systems. Developers may also choose to utilize the ClearCase file system (CCFS) for interoperation between specific ClearCase configurations. Cross-platform flexibility is further supported by floating licenses that can be shared across platforms.

THE FOUR FUNCTIONS OF RATIONAL CLEARCASE

Although Rational ClearCase is an integrated system, it is useful to group its features into four functional areas (Figure 1.1): Version Control

ClearCase goes far beyond source code control to version every object in the software development lifecycle. By tracking changes to every file and directory, ClearCase maintains complete, annotated version histories of source code, binaries, executables, documentation, test suites, libraries 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 implementation. Seamless integration with the Windows Explorer, Microsoft Visual Basic, Visual C++ and Visual J++ deliver full SCM functionality from within familiar developer environments. ClearCase for Windows includes client support for Windows 95/98.

ClearCase views provide developers with the exact versions of files required to complete a particular task, while shielding them from the complexity of the larger development environment. Developers enjoy transparent access to the appropriate object versions without ever leaving their native Windows or UNIX development environment. ClearCase views help every member of your team work more efficiently, striking the perfect balance between access to shared resources and isolation from destabilizing changes.

Rational ClearCase for UNIX. ClearCase for UNIX offers seam-

less transparency with standard UNIX file system calls. Standard UNIX programs such as grep, more, ls and cc work the same way on ClearCase version-controlled data as on ordinary file system objects, while integrations with popular development environments maximize developer productivity.

Build Management

ClearCase automatically produces a detailed “bill of materials” that documents software system builds, enabling developers to completely 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 ClearCase.

vides comprehensive SCM support across geographically distributed project teams, including advanced support for parallel development. By creating and automatically maintaining dynamic replicas of ClearCase data, MultiSite allows distributed project teams to access, develop, and integrate software using familiar ClearCase commands.

Rational ClearCase Attache.™ Rational ClearCase Attache provides

much of the power of Rational Software’s ClearCase client software in an easy-to-use Windows interface and a slim memory footprint. ClearCase Attache offers development teams with the software configuration management support they need to do parallel development, process control, and distributed development when used with the comprehensive facilities of ClearCase or ClearCase Attache MultiSite on a Windows or UNIX server.

Rational ClearQuest.™ Rational ClearQuest is a Windows Change

Request Management (CRM) product designed for the dynamic and interdependent nature of software development. With ClearQuest, development teams can reliably track and implement change requests, streamline workflow, identify trends, and establish an effective CRM process. This comprehensive approach enables organizations to deliver higher quality software, more predictably. ClearQuest supports integration with ClearCase.

Rational ClearGuide.™ For organizations seeking to continually

refine, monitor, and improve the way they build software, Rational ClearGuide offers a highly collaborative approach to Software Process Management. Providing a flexible framework for defining tasks, prioritizing 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

2

Page 10

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 Windows NT, plus all the changes

in a multi-user development environment. By tracking objects automatically 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 PRESENT VERSION INFORMATION?

a linear evolution of the file’s versions. With ClearCase version trees, developers can quickly identify existing development paths, create new development branches and merge existing branches. Over time, users typically introduce subbranches in order to isolate bug fixes, code reorganization, experimentation, and platform-specific development. You can create any number of versions and subbranches, and name versions and branches for easy reference.

A core concept of Rational ClearCase is the version tree (Figure 2.1), which organizes and presents information in a graphical, hierarchical format similar to a directory tree. In a typical development environment, version trees initially contain just a single branch, representing

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 subdirectories, 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 with the power of a distributed database system. Project teams can

Figure 2.1: Version Tree

4

TO706C.qxd

2/16/99 8:58 AM

Page 11

Version 1

Version 2

SRC

BAR

Version 3

SRC

LIB

BAR

Rename a directory

SRCDIR

LIB

Starting Directory Structure

FOO

BAR2

Add a file

Rename a file

LIB

FOO Move a file

Figure 2.2: Directory versioning

decide how many VOBs they need, and what directories and files each will maintain. A VOB is a mountable file system and therefore a network-wide resource. Hosts can mount any number of VOBs. ClearCase uses the Raima Data Manager to maintain VOB databases.

HOW DOES RATIONAL CLEARCASE STORE DATA?

Rational ClearCase uses compression techniques that reduce storage requirements up to 50%-75% compared to their uncompressed counterparts. 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 behaves like a standard directory tree, containing standard file system objects: directories, files, symbolic links, and hard links. In addition, the VOB file system maintains extensive version-control information, tracking directory elements, versions of directory elements, file elements, versions of file elements, VOB symbolic links, and VOB hard links. (Figure 2.3).

Rational ClearCase uses a checkout-edit-checkin paradigm, similar to traditional version control. In addition to checkout, checkin, and uncheckout, the ClearCase command set includes delete version, create/delete branch, list version history (chronological), list version history (structural), compare versions, and merge parallel versions. 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. To help document the changes, a comment can be specified at both checkout and checkin. When checked-in, the file reverts to read-only status and immediately becomes shared data, available to all users.

Root Directory

WHAT TYPES OF CHECKOUTS ARE AVAILABLE?

VOB

Rational ClearCase supports two kinds of checkouts, reserved and 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 guarantee the right to create a successor version. If multiple developers checkout (unreserved) a single element concurrently, and then attempt to check in, the first check in is allowed, and other users must perform a merge to incorporate their changes (Figure 2.4).

VOB

VOB

VOB

Figure 2.3: vobs are mounted as file systems

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 documenting 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 operation, 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 creation of a new version of element A at date-time B. Additional metadata 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 u

2 u

Unreserved checkouts

u Check in 1st

HOW IS RATIONAL CLEARCASE META-DATA ACCESSED?

u

Rational ClearCase meta-data is easily accessible through a variety of menu, command line and report interfaces. The history command, available by right-clicking any ClearCase file in Windows or by issuing the UNIX lshistory command, provides a complete listing of all event records for a particular file. In addition, the ClearCase History Browser provides a graphical interface to VOB event records (Figure 2.5). The annotate command lists the contents of any text-file version with lineby-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 command output to create a variety of reports.

3 Merge 2nd

4 Figure 2.4: Checkin of unreserved checkouts

6

TO706C.qxd

2/16/99 8:58 AM

3

Page 13

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 personal workspaces, plus easy, transparent access to the exact file versions they

“I work from home Mondays. By Tuesday 9:15, my code is fully

need. ClearCase views help every member of your team work more produc-

synchronized with mainline

tively, whether from home, on-site, or a remote customer location.

development.”

HOW DOES RATIONAL CLEARCASE FIT IN WITH EXISTING DEVELOPMENT ENVIRONMENTS?

instantaneous file updates. Snapshot views provide Windows users with the flexibility to work at home and easily synchronize work with mainline development. Developers are free to mix and match viewtypes according to their personal preferences and a project’s evolving needs. Developers can work with an unlimited number of dynamic or snapshot views.

Transparency is a key feature enabling Rational ClearCase to work with any system software, commercial application or in-house tool. Windows developers can work with ClearCase commands without ever leaving their Microsoft Integrated Development Environment; UNIX programmers can use grep, more, ls, cc and other UNIX commands the same way they always have. Because developers work with familiar commands in native environments, organizations find ClearCase easy to adopt and maintain.

HOW ARE DYNAMIC VIEWS IMPLEMENTED, AND WHAT DO THEY LOOK LIKE TO DEVELOPERS?

Dynamic views are implemented at the virtual file system level by the Rational ClearCase multi-version file system (MVFS). The MVFS intercepts standard I/O calls to elements, analyzes the call context, and refines the call’s destination to a selected version of the requested element. When seen through a dynamic view, ClearCase VOBs look like 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 then appear as subdirectories of the respective virtual drive.

WHAT TYPES OF VIEWS ARE AVAILABLE?

Two types of views are available, optimized for networked or local usage models. Dynamic views provide networked Windows NT and UNIX users with the ability to perform build audits and the advantages of

Versioned Object Base

foo.c

foo.h

WHAT DO SNAPSHOT VIEWS LOOK LIKE? V

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

src I foo.c foo.h

View-private Storage

E

bar.c

bar.c W

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 FROM THE NETWORK?

element * CHECKEDOUT

Developers can “hijack” files in snapshot views—i.e., they can simply modify the files without first checking them out. Once reconnected to the network, developers run the Snapshot View Update tool to identify all hijacked files and convert them to normal checkouts.

For all files and directories, use the version that has been checked out to this view (if there is one) element graphics_lib.a .../maintenance/LATEST For file graphics_lib.a, use the most recent version on the branch named maintenance

HOW DO DEVELOPERS SELECT THE FILE VERSIONS THAT MAKE UP A PARTICULAR VIEW?

element -eltype c_source * BETA_TEST

Both snapshot and dynamic views use a rule-based selection mechanism. The set of versions selected in a particular view is called its configuration, and is defined by a set of rules called a configuration specification (config spec). Typically, a view’s config spec is defined in terms of wildcards and mnemonic names, not by naming specific versions. Typical configuration rules and their English equivalents are shown in Table 1 (see left). On Windows, the View Creation Wizard guides developers step by step through the view creation process.

For all C-language sources and header files, use the version labeled BETA_TEST The default config spec selects versions of elements as follows: element * CHECKEDOUT element * /main/LATEST If the element is checked-out to this view, use the checked-out version; otherwise use the most recent version on the element’s main branch

Each developer can have multiple views. Separate views allow developers 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 to build a specific release; and still another view might show the versions being used to fix a bug. Furthermore, any files and directories not under ClearCase version control (standard files, local scripts and programs, etc.) remain completely visible and accessible through a view. This makes ClearCase a “good citizen”—developers can use any data file, shell script, or compiled program when working in a view (Figure 3.3).

table 1: Config spec rules and english equivalents

WHEN SHOULD ORGANIZATIONS USE DYNAMIC VS. SNAPSHOT VIEWS?

Dynamic views provide global, transparent access to any version of any element. They also support the complete set of ClearCase build management features, including build auditing. Dynamic views always require network access, however, and are therefore unsuitable for disconnected use. 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 home. But because snapshot views operate only on standard files, they are unable to perform build audits. Once files have been merged in to the mainline development, however, audited builds can be accomplished via dynamic views for nightly builds.

Large Teams

In practice, organizations typically mix and match both view types, according to the complexity of the task at hand, team members’ remote development requirements and the current stage of the software development project. As shown in Figure 3.2, snapshot views are especially well suited to small project teams, prototype projects, and the early-to-middle stages of a software project. As build auditability becomes more of a requirement, or as project complexity increases, dynamic views are preferred. Together, both view types provide organizations with a high degree of flexibility to meet their evolving needs.

Dynamic Views

Snapshot Views Small Teams

Dynamic Views

Early Prototype

Final Release

Development Lifecycle Figure 3.2: Comparison of snapshot and dynamic views

8

TO706C.qxd

2/16/99 8:58 AM

Page 15

DO VIEWS SUPPORT PUBLIC AND PRIVATE DATA STORAGE?

Versioned Object Base

foo.c

foo.h

Yes. Rational ClearCase supports a well-regulated development environment by maintaining both public and private data storage. Shared or public data storage in VOBs contains information intended for regular access by all ClearCase users. Private data storage in views typically contains files that belong to an individual developer, such as checkedout versions of file elements and derived objects created by ClearCase builds in that view. A view combines both kinds of data storage into a “virtual workspace,” in which developers perform day-to-day tasks such as checking files in and out, editing source files, building software, and debugging systems.

V Any rocess an use view:

Any program or command can access a view

I View-private Storage

E

bar.c

W

ARE RATIONAL CLEARCASE VIEWS AVAILABLE TO NON-CLEARCASE HOSTS ON A LAN?

Figure 3.3: transparency of vob data

Yes. Rational ClearCase data is completely accessible to nonClearCase machines in the local area network (LAN). For example, a ClearCase UNIX host can export a VOB as seen through a particular view, and any host in the network can NFS-mount it. This gives developers on the non-ClearCase host read-write access to the view, enabling them to compile and build applications with local tools. Non-ClearCase hosts must rlogin or use an X-window into the ClearCase UNIX host to checkout/checkin. With snapshot views on Windows, non-ClearCase hosts can access views by simply sharing the FAT or NTFS-based share that contains the view.

IS THERE AN EASY WAY TO SET UP EVERYONE’S VIEWS IN ADVANCE?

Yes. ClearCase View Profiles allow project managers to quickly create a set of predefined view profiles for an entire team. This powerful feature provides an easy way to ensure that everyone on the team is using the appropriate file versions. At the same time, developers, quality engineers and documentation writers don’t have to worry about configuration specification details; they can simply browse a list of available view profiles, then select the one(s) preconfigured to meet 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

4

Page 16

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 outstanding support for parallel development, enabling multiple developers to efficiently design, code, “Parallel development can’t be an occasional occurrence any longer.

test and enhance software from a common code base. Powerful, graphical 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 PARALLEL DEVELOPMENT MODEL?

that are being merged. Having this common ancestor information allows ClearCase to perform the merge intelligently and automatically. In cases where a conflict between the versions being merged prevents ClearCase from constructing a merge result automatically, the 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 and automatic merge decisions can easily be reviewed and changed with the Diff Merge tool (Figure 4.2).

In addition to the primary benefit of accelerating product development cycles and reducing time-to-market, support for parallel development allows organizations to: • Allow multiple projects to use the same source tree(s) at the same time • 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 element 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 MERGE IS PERFORMED?

WHAT TYPES OF ADVANCED MERGES ARE AVAILABLE?

Two types of merge operations are available: additive and subtractive. An additive merge combines changes from two or more branches. A subtractive merge removes changes from one or more versions, effectively rolling back to a prevous version.

Absolutely. Unlike other version-control products, Rational ClearCase allows development on one or more branches to continue during and after the merge is performed. Moreover, there are no restrictions on future merges involving these branches, in either direction.

11

TO706C.qxd

2/16/99 8:58 AM

5

Page 18

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 compatible 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 problem with its customer release. What, exactly, did we send them?”

matically detecting dependencies, using derived objects wherever possible, and producing detailed build documentation, ClearCase optimizes build times while guaranteeing the reproducibility of software versions.

WE’VE INVESTED SIGNIFICANT TIME IN OUR CURRENT MAKEFILES. DOES RATIONAL CLEARCASE MEAN WE HAVE TO CHANGE RIGHT AWAY?

• A unique derived object ID (its “handle” in the VOB database) • 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 homegrown build scripts, Windows and UNIX make programs, existing source can be placed under ClearCase management without making a single change to build procedures. On new development projects, recommends that teams adopt the ClearCase build programs, clearmake and omake, in order to realize important benefits such as configuration lookup, binary sharing and build auditing. Omake supports users who require compatibility with Windows-based build programs, including Borland Make, Microsoft NMAKE, Intersolv Configuration Builder (Polymake), and OpusMake. Clearmake offers support for UNIX-style makefiles, including gnumake.

• A pointer to a configuration record (its “bill-of-materials”) • A reference count (indicating the number of views in which the derived object currently appears) HOW DOES RATIONAL CLEARCASE AVOID UNNECESSARY BUILDS?

Unlike standard make utilities, which treat builds as an all-or-nothing proposition, clearmake and omake use a more sophisticated buildavoidance scheme specifically designed for parallel development situations. clearmake and omake use configuration records to determine when derived objects can be safely shared among views. This facility, termed wink-in, saves both disk storage and build time.

WHAT IS A RATIONAL CLEARCASE DERIVED OBJECT?

Derived objects play a critical role in a Rational ClearCase development environment. A derived object is a file or directory produced by a clearmake or omake build. Typical derived objects include object modules, executable programs, library archives, formatted documents, and tables of contents generated by document processing systems. The components of a derived object include:

In determining when builds are necessary, clearmake and omake go far beyond simple comparisons of time-modified stamps. The procedure involves comparison of source versions, build scripts and build options, and culminates in one of three build decisions: • Reuse the existing target in a view—when there are no identified dependencies or changes

• The file name under which it was created as a target (its”handle” from the file system’s point of view)

• Execute the corresponding build script—when changes, dependencies, 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 verification procedure determines that the source versions, build options, and build script of another instance can be safely shared. A single derived object is now shared by both views.

ClearCase config recs allow derived objects to be compared meaningfully—not by their data, but by their build configurations. The diffcr (compare config rec) command reports the differences between two config recs, including: • Differences in versions of ClearCase elements used as sources, and in time-modified stamps of non-elements used as sources

HOW DO CLEARMAKE AND OMAKE AUTOMATICALLY IDENTIFY SOURCE AND HEADER DEPENDENCIES?

• Differences in the build script executed, including differences in the makefile macro values used

clearmake and omake build part or all of a software system within the context of a view, using the current configuration of source files (typically, some checked-in, some checked-out). Derived object information provides these programs with the appropriate level of detail required to make intelligent build decisions without explicit declaration of header-file dependencies. clearmake and omake do not require the declaration of header-file dependencies or any other source-file dependencies in makefiles.

• Non-critical differences that do not affect clearmake’s and omake’s build avoidance decisions, including date and time of build, hostname, and view name WHAT IS INCLUDED IN A SOFTWARE BUILD “BILL OF MATERIALS”?

As shown in Figure 5.1, a “Bill of Materials” (Configuration Record) includes:

HOW DOES RATIONAL CLEARCASE PERFORM BUILD AUDITS?

• The version of each file element in any VOB used in the target rebuild—including both source files and tools (for example, a compiler) under Rational ClearCase version control

During execution of a build script, clearmake and omake work with Rational ClearCase MVFS code in the operating system kernel to perform a build audit. The MVFS records the version of every file opened for reading or execution whose pathname is under a VOB mount point; it also notes which files are created (or overwritten). After executing the build script, clearmake and omake store the audit data in a configuration record (config rec). A VOB database pointer attaches the config rec to each derived object from the build (Figure 5.1).

• Each view-private file used in the build • Non-ClearCase files declared in the makefile • The text of the build script, with all makefile macros expanded

% 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). clearmake also supports software building across heterogeneous, multiplatform development environments.

• The user who performed the build • The host(s) that executed the build script

WHAT ABOUT LOAD BALANCING IN DISTRIBUTED ENVIRONMENTS?

• The view to which clearmake or omake was set • The start date and time of the build

clearmake features a sophisticated load-balancing facility that optimizes the performance of distributed builds. Users specify hosts that can function as distributed build servers, and set parameters including time of day, machine load, and user ids to govern building on each host. clearmake then automatically load-balances distributed builds across these hosts.

CAN RATIONAL CLEARCASE BUILD IN PARALLEL ACROSS MULTIPLE UNIX HOSTS?

Yes. clearmake supports both parallel building (concurrent execution of a set of build scripts) and distributed builds (use of multiple 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 Workstation

VOB Server host

Sun

HP Builds can be distributed among hosts

Sun

Developer's Workstation

SGI

Developer's Workstation

Figure 5.2: example of distributed building

14

VOB Server host Large VOBs can be distributed among servers

Windows NT

Windows NT

Windows 98

Developer's Workstation

Developer's Workstation

TO706C.qxd

2/16/99 8:58 AM

6

Page 21

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, we have no choice but to develop and test concurrently. How can we automatically notify QA when a

any particular policies, procedures or methodologies. Routines can be set up to monitor software changes, prevent access by unauthorized personnel, create permanent project records, or automate the flow

file has changed?”

of project communications. example, a Code Quality attribute can be defined as having the value A, B, C, D, or F. Enforcement mechanisms can then automatically assign attributes according to specified rules.

HOW DO ORGANIZATIONS TYPICALLY USE RATIONAL CLEARCASE PROCESS CONTROL TOOLS?

Organizations typically use these tools to:

• Hyperlinks. A hyperlink is a logical arrow connecting two objects. For example, a hyperlink can connect a design document to a source code module. Hyperlinks can relate whole elements, specific versions (as needed for requirements tracing), or subsections within objects. Hyperlinks can cross VOBs and can handle the renaming or moving of an object or its VOB. With the hyperlink browser, users can display, create, traverse, and maintain networks of ClearCase hyperlinks.

• Monitor and control the development process • Organize and cross-reference all the data involved in development: source code, memos, design proposals, and technical manuals • Automate communications among individuals and groups • Automate tedious and error-prone steps WHAT PROCESS CONTROL TOOLS ARE AVAILABLE?

• Event history. ClearCase automatically records some of the most important state information, gathering “who, when, and why” information, user-supplied comments, and other important data whenever objects are changed. The system records similar information on built or released objects.

Rational ClearCase process control tools operate at the meta-data level, meaning that the data structures and procedures involved in process management are independent of the contents of elements. Three feature sets are available: meta-data for capture of state information, 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 ADMIN

ALERT

DEVELOPER

ALERT

Someone changed your file

MGMT

TECH WRITER

REPORT

Doc must be updated

Software Development Process Meta-Data

Notification Features

Enforcement Tools

Labels Attributes Hyperlinks Event history

Post-event triggers "Find" queries Dynamic config specs

Pre-event triggers Locks Access controls Auto-make-branch "Include" config rules

Figure 6.1: process management mechanisms and policies

WHAT POLICY ENFORCEMENT TOOLS ARE AVAILABLE?

WHAT NOTIFICATION AND REPORTING FEATURES ARE AVAILABLE?

Rational ClearCase provides four flexible tools that can be mixed and matched to implement a wide variety of behaviors (Figure 6.1):

Rational ClearCase notification features help automate the flow of project communications and reporting. They include:

• Pre-event triggers. A pre-event trigger monitors the use of a specified ClearCase operation (for example, checkin), or class of operations (for example, any command that modifies a VOB). Before the operation runs, the trigger fires, executing either a program, batch file, shell script, or built-in action. Triggers can require that certain criteria be met or checks applied before running a command.

• Post-event triggers. A post-event trigger is a monitor that runs after a specified operation completes. Typically, such a trigger notifies one or more users that a command executed, or attaches an attribute to an object. For example, a post-event trigger on the checkin operation might send mail to the QA department explaining 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 element) or general (for example, locking an entire VOB). A typical application is locking just the main branch of all elements during a software integration period. Locks can also have an exceptions list, allowing only specified users to modify the object.

• Find queries. ClearCase’s find command enables developers to efficiently determine the current state of a project. Typically, a find command performs a query on one or more VOB databases—for example, “find all versions that are part of Release 2.0 but don’t have a PASSED=QA attribute.”

• Access controls. All ClearCase elements have associated protection modes. This protection mode controls reading, writing, and execution of objects at different levels of granularity: user (owner), group, and world. It also protects the physical storage of the underlying file system, effectively thwarting attempts to circumvent ClearCase and tamper with the raw operating system storage.

• Dynamic config specs. A config spec rule selects versions in terms of labels, attributes, hyperlinks, and event history. These rules use the same queries as the find command. For example, a config spec can select “the latest version with the Passed=QA attribute, otherwise the most recent version created by user drp.”

• 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

7

Page 23

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 to this: how can I help my developers

of events. Across all platforms, ClearCase features seamless integration with popular integrated development environments for maximum

work more productively, both individually and as a team, every day?”

developer productivity.

HOW DO WINDOWS NT USERS ACCESS RATIONAL CLEARCASE COMMANDS THROUGH THE WINDOWS EXPLORER?

The ClearCase Details tool displays all ClearCase related information about files or directories, such as the checked-out state, the version of the element that the user’s view selects, and the rule in the user’s configuration specification that selected the version. ClearCase Details allows the user to change the appearance of the display, navigate to other directories, and perform common ClearCase tasks.

Integration with the Windows Explorer puts all common Rational ClearCase operations within easy reach. The integration allows users to start views, mount VOBs, check out/in elements, launch the Version Tree browser, examine element histories and properties, find checked-out elements, 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 communication 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 control; check out/in files and launch ClearCase history and properties displays (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 developer issues a checkout command to make it writable. Only the developer (and other users using the same view) can access the writable, checked-out version. The developer edits the file inplace—there is no need to copy the file to an area under his or her home directory.

Figure 7.2: Rational clearcase for Windows visual c++ integration

WHAT IDES ARE SUPPORTED IN THE NT AND UNIX ENVIRONMENTS?

• To build the software system, the developer chooses among standard make utilities, ClearCase’s enhanced clearmake build utilities or shell scripts. As with editing, building occurs in-place— developers working in different views can build the same software without interfering with each other.



• Microsoft® Developer Studio™ Visual Basic® Visual C++® Visual J++™

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



• Oracle Developer/2000 †

• PowerBuilder

• The developer uses the checkin command to create a new version of an element. The new version instantly becomes available to all views and visible to those views configured to see the latest version of that element.

• HP Softbench* The ClearCase file system transparency enables other IDE’s to integrate easily, without requiring a special integration.

• 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

8

Page 25

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 or halfway around the world, all of

error-free replication of project databases and transparent access to all 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 ClearCase’s branch-and-merge model of parallel development. MultiSite creates a family of VOBs by cloning the contents of an existing VOB and replicating it at multiple locations. The mkreplica command creates a new instance of a VOB for a specific site, and can create an unlimited number of replicas. Replicated VOBs are local to each site, and are used for daily development work.

Project leaders and administrators can schedule MultiSite VOB updates as needed, choosing from multiple update mechanisms, including MultiSite’s built-in store-and-forward system, standard file transfer facilities, or magnetic tape. Development work within a VOB continues normally during the update—there is no need to “lock” or take the VOB “offline” during the update.

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 integration site, merging changes from other locations using Rational ClearCase’s automated merge tools. Enforced object mastership guarantees 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, attributes, 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 DEVELOPMENT?

maintenance, and provide detailed reports of synchronizations for administrators. The multitool character-based interface provides access to MultiSite commands that create, update, and manage replicated VOBs, using the familiar syntax of Rational ClearCase.

Yes. For project teams who prefer a serial development model across sites, per-branch mastership offers a practical approach. Per-branch mastership allows one site to hand off mastership of a particular development branch to another site, providing fine-grained control of changes to shared software.

WHAT ARE SYSTEM REQUIREMENTS FOR MULTISITE?

Rational ClearCase MultiSite installs as a layered product option on a ClearCase host, and requires 6-11MB of disk space (varies by hardware platform). A ClearCase MultiSite user license and a ClearCase user license are required to access a replicated VOB.

HOW DOES WORKING WITH MULTISITE DIFFER ON A DAY-TO-DAY BASIS?

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

9

Page 27

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 changes while allowing us to keep

platforms, strains even the most capable development teams. To be 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 software development. With ClearQuest, development teams can reliably track and implement change requests, streamline workflow, identify trends, and establish an effective CRM process. This comprehensive approach enables organizations to deliver higher quality software, more predictably.

With Rational ClearQuest, the entire team benefits. Project leaders and managers improve their ability to dynamically track and analyze change requests (Figure 9.1). Development engineers will spend more time coding and less time identifying action items. Test engineers can identify with certainty the origin, status and outcome of every change item. Administrators will find ClearQuest easy to deploy, customize and integrate with the tools they already use. To meet the needs of remote team members, ClearQuest includes a Web-based interface with robust functionality.

WHAT EXACTLY CAN RATIONAL CLEARQUEST HELP ME BETTER UNDERSTAND ABOUT MY 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 implemented 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 supports Microsoft Access, Microsoft SQL Server, and Oracle databases.

Figure 9.2: Rational clearQUEST designer

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

10

Page 29

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 documentation 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 “Do my writers need to install all of ClearCase to use config-

development objects, including files and directories. It is integrated with 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 interface includes a toolbar, pull-down menus, and scrolling command window. The combination of local workspaces and extensive ClearCase commands let developers perform all development on their Windows client systems, while taking advantage of ClearCase’s advanced support for team-based development.

Developers define the files which appear in their workspaces with a config spec—a set of user-specified rules that select versions appropriate for a particular task. Developers checkout versions for editing, building or viewing by copying the versions to the workspace as ordinary files. When modifications are complete, the files are checked in through the view into the VOB.

HOW IS RATIONAL CLEARCASE DATA ORGANIZED AND PRESENTED TO ATTACHE CLIENTS?

HOW DOES ATTACHE INTEGRATE WITH POPULAR INTEGRATED DEVELOPMENT ENVIRONMENTS (IDE’S)?

Rational ClearCase Attache allows developers to define and manage multiple local workspaces of version-controlled data. Each local workspace corresponds to a Rational ClearCase view resident on a ClearCase Windows NT or UNIX host. To Windows users, the workspace looks like a private directory tree located on a local hard drive or accessible file server. In addition to toolbar buttons and pull-down menus for common operations, ClearCase Attache provides a characterbased interface to nearly every ClearCase command (in a form consistent with the clear-tool command set). These commands provide Windows users with comprehensive support for parallel development, version histories, and reports.

Rational ClearCase Attache provides direct access to version control functions from within Microsoft Visual C++ and Visual Basic development environments. The integration fully supports the Microsoft Common Source Control Code (SCC) Interface Specification, an API for communication between IDE tools and source code control utilities. This enables Attache to provide direct access to ClearCase commands from standard Microsoft SCC dialog boxes. Within Visual C++, users can access such common SCM operations as adding new files to source control, checking out/in files, and launching ClearCase Attache history and properties displays. Similarly, 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

11

Page 30

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 architecture is fully scalable and network-transparent, imposing no architectural barriers to growth in “In software development, the only constant is change itself. How can

the number of users, amount of code, or type of processors. Compatible with all standards—compliant development environments, code analysis

I ensure that our SCM investments today will continue to be compatible with the tools of tomorrow?”

tools, defect tracking systems, and CASE frameworks, ClearCase preserves 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 throughout a local area network. As workstations are added to the network to accommodate additional developers, ClearCase’s data-storage and dataprocessing 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 system 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 specific 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 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 networkwide resources, located on a designated registry server host, that map the commonly-used view and VOB names to the appropriate storage areas (Figure 11.3). System administrators can define multiple network regions, in which clients use different “global” path names to access the same storage directories. This enables the registry mechanism to support multiple subnetworks with different hostname spaces.

Figure 11.2: VOB Properties sheet

ClearCase server programs mediate access to the data in VOBs and views. Client and server processes communicate with each other using remote procedure call (RPC) facilities. This makes ClearCase networktransparent—developers need not be concerned with the physical location of data storage, because ClearCase servers make the data available globally.

VOB Server host

License Server host

View Server host client host

client host

client host

client host

ClearCase Release host

Registry Server host

Figure 11.3: any host may play different rolls at different times, or several rolls at once

25

nonClearCase host

TO706C.qxd

2/16/99 8:59 AM

12

Page 32

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

GENERAL

CLIENT REQUIREMENTS

• Platform interoperability

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 geographically distributed project teams

• Pyramid DC/Osx

PRODUCT INTEGRATIONS

• Siemens SINIX

• Rational Products Rational ClearCase MultiSite Rational ClearQuest Rational ClearGuide Rational ClearDDTS Rational Purify® † Rational Rose®

• Sun Solaris, SunOS

• Silicon Graphics IRIX

• SCO UnixWare Window clients access UNIX servers via supported NFS client and SMB server solutions. For specific ClearCase configurations, developers may also choose to utilize the ClearCase file system (CCFS) option for interoperation. For currently supported operating system versions and interoperation solutions, please visit our Web page at www.rational.com or contact your Rational Software sales executive.

• Adobe Framemaker* • 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

use of ClearCase tools—labels, attributes, hyperlinks, triggers, and queries—to implement custom processes.

ACCESS FROM OTHER PLATFORMS:

ClearCase provides easy access to version-controlled data from non-ClearCase hosts. This can be accomplished in two ways: via shared drives for Windows users, and via exported views in NFSsupported environments.

• ClearCase MultiSite is a two-day course that covers the creation, updating, and administration of MultiSite-replicated VOBs for distributed project teams. • Training courses on ClearCase Attache are also available.

TRAINING

Rational Software offers ClearCase training courses at Software’s Lexington, MA, McLean, VA, Dallas, TX and Santa Clara, CA training centers on a regularly-scheduled basis and at Rational Software field offices or customer sites when requested. Courses are available on both Windows and UNIX platforms. For more information see the Rational web site.

CUSTOMER SUPPORT

Rational Software’s comprehensive customer support services include maintenance and enhancement releases, telephone and email hotline support (staffed 8:00 AM to 9:00 PM, EST), technical bulletins, and an annual User Group conference.

• The ClearCase Fundamentals course is a comprehensive, two-day course that covers ClearCase and its commands. Lecture-style instruction is reinforced with multiple examples and lab exercises. Course topics include the ClearCase environment, version control, build management, parallel development, process control, and workspace management.

ABOUT RATIONAL SOFTWARE CORPORATION

Rational Software Corporation offers the benefits of nearly twenty years of experience in proven best practices for software development. This experience is drawn from hundreds of our own Rational Software Consultants working directly with our customers. Our Professional Services accelerate customer adoption of tools and best practices, maximizing the probability of project success and ensuring value from your investment.

• ClearCase Planning, Implementation, and Administration is a twoday course that builds on the Fundamentals course and provides comprehensive coverage on installation, licensing, view creation, VOB creation, migration, and performance tuning.

Rational Software and its partners offer a wide range of Professional Services. These include tool and technology training, Implementation Planning, and Software Engineering Mentoring. For more information, contact your Rational Software representative or an authorized Rational Solutions Partner. For more information on Rational’s products and services, visit Rational’s Web site at http://www.rational.com.

• Using ClearCase Meta-Data for Policy and Process Management is a one-day course that builds on the Fundamentals course, and covers

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: [email protected] 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.

Related Documents