HOME

TheInfoList



OR:

Rational ClearCase is a family of
computer software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
tools that supports
software configuration management In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision ...
(SCM) of
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
and other software development assets. It also supports design-data management of electronic design artifacts, thus enabling hardware and software co-development. ClearCase includes
revision control In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
and forms the basis for configuration management at large and medium-sized businesses, accommodating projects with hundreds or thousands of developers. It is developed by IBM. ClearCase supports two configuration management models: UCM (Unified Change Management) and base ClearCase. UCM provides an out-of-the-box model while base ClearCase provides a basic infrastructure (UCM is built on base ClearCase). Both can be configured to support a wide variety of needs. ClearCase can accommodate large binary files, large numbers of files, and large repository sizes. It supports branching, labeling, and versioning of directories. It uses the MultiVersion File System (MVFS) which is a
virtual file system A virtual file system (VFS) or virtual filesystem switch is an abstract layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way. A VFS ...
that displays specific versions of data stored. In particular, it supports ''dynamic views'' which can show an arbitrary combination of local and remote files.


History

ClearCase was developed by Atria Software and first released in 1992 on Unix and later on Windows. Some of the Atria developers had worked on an earlier, similar system: ''DSEE'' (
Domain Domain may refer to: Mathematics *Domain of a function, the set of input values for which the (total) function is defined **Domain of definition of a partial function **Natural domain of a partial function **Domain of holomorphy of a function * Do ...
Software Engineering Environment) from
Apollo Computer Apollo Computer Inc., founded in 1980 in Chelmsford, Massachusetts, by William Poduska (a founder of Prime Computer) and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo ...
. After Hewlett-Packard bought
Apollo Computer Apollo Computer Inc., founded in 1980 in Chelmsford, Massachusetts, by William Poduska (a founder of Prime Computer) and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo ...
in 1989, those developers left to form Atria. Atria later merged with
Pure Software Pure Software was founded in October 1991 by Reed Hastings, Raymond Peck and Mark Box. The original product was a debugging tool for Unix/C engineers called Purify. After adding new products such as Quantify and PureLink, and doubling its reven ...
to form PureAtria. That firm was acquired by
Rational Software Rational Machines is an enterprise founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. It changed its ...
, which was purchased by IBM in 2003. IBM continues to develop and market ClearCase. In September 2016, IBM announced a strategic partnership with HCL Technologies that will allow for accelerated development. DSEE introduced many concepts that were adopted by ClearCase. The Apollo Domain file system allowed special handler programs to intervene during file access. DSEE made use of this feature to invisibly substitute a versioned copy when a particular file was opened. With the versioning specification resident in the user environment, all accesses to versioned files were redirected, including such mundane accesses as printing, viewing in a generic text editor etc. DSEE relied heavily on a file that described all the software modules and their dependencies. The file had to be generated manually, which was a major impediment to its use in large systems. However, once generated, it enabled DSEE to calculate the optimum way to perform a build, re-using all modules that had previously been processed and whose version specifications matched the specifications for the build. DSEE also introduced the "version spec," which was called a "thread." This was a list of possible versions that could be in the user environment or in a build. A major innovation was the use of build signatures and software release signatures in the thread. The items in a thread might thus be: * Any copies reserved for editing (i.e. checked out) * The latest version (usually for developers only) * A branched version of a file (a version on an alternate line of development). * A labeled version (for developers working on a particular revision level) * The version used in build XYZ. * The version used in software release x.y.z. Threads were processed from top to bottom for each file. A developer thread might have "reserved" at the top, followed by a labeled version. For a fix to an existing release, the thread would be "reserved", then the release signature. In the absence of the invisible file redirection of the Apollo Domain file system, ClearCase uses the virtual file system provided by the MVFS feature that is described below. The "thread" concept corresponds to the ''dynamic view''. Support for derived objects in a view is similar to DSEE's concept.


Infrastructure

The
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases s ...
system that ClearCase uses is RDM Embedded from
Raima Raima is a multinational technology company headquartered in Seattle, USA. The company was founded in 1982. Raima develops, sells and supports in-memory and disk-based Relational Database Management Systems that can either be embedded within the a ...
. In ClearCase terminology, an individual database is called a ''VOB'' (Versioned Object Base). On this layer, maintenance takes place using Raima tooling. Around this layer, a set of interfaces with accompanying tools are used to manage the physical database system, which requires specific
Database administrator Database administrators (DBAs) use specialized software to store and organize data. The role may include capacity planning, installation, configuration, database design, migration, performance monitoring, security, troubleshooting, as well as ba ...
skills. The most important service is the Atria location Broker Daemon (ALBD), which manages all (LAN) communication between computers. Beginning with version 7, the server platform runs Websphere Application Server with a server application called the Change Management Server (CM Server), which served ClearCase clients via the HTTP Protocol. (Before version 7 there was a web service by which users could access ClearCase via their browsers.) CM server has since been replaced by the ClearCase Remote Client Wide-Area Network Server (CCRC WAN server), which continues to be based on Websphere Application Server.


Views

A distinguishing feature of ClearCase is the
MultiVersion File System Rational ClearCase is a family of computer software tools that supports software configuration management (SCM) of source code and other software development assets. It also supports design-data management of electronic design artifacts, thus en ...
(MVFS), a proprietary networked filesystem which can mount VOBs as a virtual file system through a dynamic view, selecting a consistent set of versions and enabling the production of derived objects. This was a departure from the repository-and-sandbox model because it enabled the early management of artifacts (that is, before they are checked in) and was not limited to the management of these first-order configuration items. ClearCase also supports snapshot views, which are copies of repository data. As opposed to dynamic views, snapshot views are maintained on a local (OS-specific) file system and do not require network access. Instead, a snapshot view stores a copy of the VOB data locally on the user's computer. Snapshot views can be used while disconnected from the network and later synchronized with the VOB when a connection is reestablished. This mode of operation is similar to that of CVS (Concurrent Versions System) software. The dynamic and snapshot view types are supported by the ClearCase local client (CCLC). The ClearCase remote client (CCRC) supports analogous view types: the automatic view and the web view. Both are copy-based, but the automatic view uses the MVFS to support local, shareable pools of VOB objects. From the perspective of the client computer, a ClearCase view appears to be just another file system. New files and directories created in a ClearCase view are referred as "view-private" to indicate that they are specific to the view and not version-controlled. This feature allows build systems to operate on the same file system structure as the source code and ensures that each developer can build independently of one other. At any time, a view-private object can be added to source control and become a versioned object, rendering it visible to other users. Developers typically have one or more views at their disposal. It is sometimes practical to share views between developers, but sharing branches is the more common practice. A branch hierarchy is often useful: an entire development project can share a common development branch, while a smaller team can share a sub-branch, with each developer having his or her own private branch. Whenever a change on a branch is deemed stable enough, it can be merged to the parent branch.


The configuration specification

Under base ClearCase, each view is controlled by its associated ''configuration specification'', commonly referred to as a ''config spec''. This is a collection of rules (stored internally in a text file, but compiled before use) that specifies what element versions (files or directories) are to be displayed in a view. To determine which version, if any, of an element should be visible, ClearCase traverses the configuration specification line-by-line from top to bottom, stopping when a match is found and ignoring any subsequent rules. A configuration specification can also reference other configuration specifications by means of an 'include' statement. In the UCM management model, config specs do not need to be created or maintained manually: they are generated and maintained by ClearCase UCM operations.


Builds

The networked filesystem provided by MVFS allows for build auditing. Builds in views that use the MVFS can monitor and record file I/O operations performed during the build process and associate each such event with the command that triggered it. This allows ClearCase to produce a bill-of-materials which it calls a Configuration Record (CR) for all builds and enable
traceability Traceability is the capability to trace something. In some cases, it is interpreted as the ability to verify the history, location, or application of an item by means of documented recorded identification. Other common definitions include the capab ...
for either
software configuration management In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision ...
purposes or as part of a larger
application lifecycle management Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of computer programs. It encompasses requirements management, software architecture, computer programming, software testing, ...
process. Build auditing is performed with command-line tools such as a built-in make tools (omake, clearmake) or by using the clearaudit command, which can invoke another build tool, such as Unix make (1). The Versioned Object Base (VOB) that stores versions of file elements and directory elements also stores derived objects and metadata associated with these object types. The bill-of-materials artifact produced as the result of build auditing is known as the ''Configuration Record''. It contains: * The build procedure: The method (script, makefile, and so on) that invoked the build. * Inputs: All files (and their specific versions) that were used for a particular build. * Outputs: All derived object (DO) files (and any dependent DOs) produced as a result of the build. The dependency information is stored in a configuration record that can be shown for each derived object. The configuration record can be used to create another view that shows all files that have been previously read during the build time. The configuration record can also be used to apply a label to the files (and versions) that were read during the build. The MVFS allows derived objects that were built in one dynamic view to be automatically "copied" to another dynamic view that requires "exactly the same" derived object. Two derived objects are deemed to be "exactly same" if they have the same ''configuration record'' (that is, ''bill of materials''). The shareable derived objects are physically present in the VOB server, not in the views that reference them. This feature is called ''winking in'' derived objects and requires that the clearmake or omake tool is used for builds. ClearCase dynamic views are slower than local filesystems, even with a good network infrastructure. Repeated subsequent builds may run faster, due to build avoidance that is enabled by ClearCase's
make Make or MAKE may refer to: * Make (magazine), a tech DIY periodical *Make (software), a software build tool *Make, Botswana, in the Kalahari Desert *Make Architects Make Architects is an international architecture practice headquartered in Londo ...
substitute. Because MVFS requires server access every time a file is accessed, the performance of the file system depends on server capacity.


Client types

Originally, ClearCase supported only full ("fat") clients running native on Unix and Windows. In version 7, the ClearCase Remote Client (CCRC) was introduced. It is based on Eclipse software and supplied in both fully packaged Eclipse versions, as a plugin-in for Eclipse, and for other environments such as Visual Studio.


Integrations

Other Rational Software products, notably ClearQuest and Rational Team Concert, are integrated with ClearCase. ClearCase is also integrated with Microsoft Visual Studio, Cadence Virtuoso, and the Eclipse IDE through a plugin.


Database replication

ClearCase MultiSite enables developers at different locations to use the same ClearCase versioned object base (VOB). Each location (site) has its own copy (replica) of the VOB. Data synchronization via any protocol can be unidirectional or bidirectional. Synchronization patterns can be one-to-one (two replicas exchange data), ring (round-robin synchronization), one-to-many (replication from a “hub” VOB) or many-to-many (each replica exchanges data with all other replicas).


Releases

V10.0.0 release * Se
what's new in IBM Rational ClearCase 10.0.0
V9.1.0 (December 2020) and succeeding fix pack releases: * Se
what's new in IBM Rational ClearCase 9.1.0.x
V9.0.2 (January 2020) and succeeding fix pack releases: * Se
what's new in IBM Rational ClearCase 9.0.2.x
V9.0.1 (June 2017) and succeeding fix pack releases: * Se
what's new in IBM Rational ClearCase 9.0.1.x
V9.0 (March 2016) and succeeding fix pack releases: * Support for launching ClearTeam Explorer (Eclipse) GUIs from cleartool commands. * Smart-card authentication of ClearCase Remote Clients on Windows by CCRC WAN Servers running on Unix and Linux. * To support extremely large product builds, the size of the database file that is used to store configuration records for the build view can exceed 4GB. * Increased capacity of Windows servers to host more Versioned Object Bases (VOBs). * Assignment of explicit mastership of branches that are created in VOB replicas. * Performance improvements. V8.0.1 (June 2013) and succeeding fix pack releases: * Fine-grained, role-based ACL administration on file system objects (ClearCase "elements"). * Automatic views, a WAN-friendly view that uses the ClearCase multiversion file system (MVFS) to provide dynamic access to versions of VOB elements. * Se
what's new in IBM Rational ClearCase 8.0.1.x
V8.0 (October 2011) and succeeding fix pack releases: * ClearTeam Explorer (CTE): a single GUI for all ClearCase platform, client, and view types. * "Evil twin" detection and prevention: "evil twins" are two elements of the same name that have been created in different versions of the same directory element. When an attempt is made to merge the directory versions, the elements are revealed as “evil twins.” * The Change Management Interface (CMI): CMI provides a generic interface for associating tasks with element versions and UCM activities. CMI can be configured to support the task providers ClearQuest, Rational Team Concert, and JIRA. * Support for Unicode element types * rcleartool (remote cleartool), a WAN-compatible command-line interface for CCRC. (cleartool is the ClearCase command-line facility for LAN deployments.)


See also

*
List of revision control software This is a list of notable software for version control. Local data model In the local-only approach, all developers must use the same file system. Open source * Revision Control System (RCS) – stores the latest version and backward del ...
* Comparison of revision control software *
Rational ClearQuest Rational Machines is an enterprise founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. It changed its n ...


Notes


References

*


External links

*
IBM Documentation for Rational ClearCase

Rational ClearCase Solutions Knowledge Base

Rational ClearCase Consultants and Resources


{{Version control software Collaborative software Concurrent Versions System
ClearCase Rational ClearCase is a family of computer software tools that supports software configuration management (SCM) of source code and other software development assets. It also supports design-data management of electronic design artifacts, thus enab ...
Computer-aided software engineering tools Proprietary version control systems Software that uses Motif (software)