IBM DevOps Code ClearCase

Last updated
ClearCase
Original author(s) Atria Software
Developer(s) IBM
Initial release1992;32 years ago (1992)
Stable release
11.0.0 [1] / March 20, 2024;54 days ago (2024-03-20)
Operating system
Platform
Type Software configuration management
License IBM EULA
Website www.ibm.com/products/rational-clearcase

IBM DevOps Code ClearCase (also known as IBM 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 enabling hardware and software co-development. ClearCase includes revision control 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.

Contents

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 customized to support a wide variety of needs.

ClearCase can accommodate large binary files, a large number of files, and large repository sizes. It supports branching and labeling. It enables the correct merging of refactored files by versioning directories. It also supports extensive process automation and enforcement using triggers, attributes, hyperlinks, and other metadata. It uses the MultiVersion File System (MVFS), which is a virtual file system that transparently determines which versions of files and directories should be in the workspace and orchestrates file access and lifecycle. The MVFS is used in LAN deployments for dynamic views and in LAN or WAN deployments for automatic views. [3] [4]

ClearCase also provides authoritative build auditing, which generates metadata for each build artifact, including the context of the build and a bill of materials of files (including the exact version) referenced during the build. This metadata can be used for generating SBOMs (Software Bill of Materials) and is important in regulated environments where artifact traceability is essential. ClearCase includes an implementation of 'make' that integrates with the authoritative build auditing mechanism to ensure build correctness without timestamps and automatic sharing of build artifacts across views (workspaces).

History

ClearCase was developed by Atria Software and first released in 1992 [5] on Unix and later on Windows. Some of the Atria developers had worked on an earlier, similar system: DSEE (Domain Software Engineering Environment) from Apollo Computer. After Hewlett-Packard bought Apollo Computer in 1989, those developers left to form Atria. [6] [7] [8] Atria later merged with Pure Software to form PureAtria [9] in 1996. That firm was acquired by Rational Software in 1997, which was purchased by IBM in 2003. [10] IBM continues to develop and market ClearCase. In September 2016, IBM announced a strategic partnership [11] with HCL Technologies that will allow for accelerated development.

Infrastructure

The database system that ClearCase uses is RDM Embedded from Raima. In ClearCase terminology, an individual database is called a VOB (Versioned Object Base). [12] 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 skills. [13]

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 (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 for either software configuration management purposes or as part of a larger application lifecycle management 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 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 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.

ClientNetwork connection typeConnection to repository of source-controlled objectsView typesUser interfaces
ClearCase local client (CCLC)LAN onlyRPC connection to a versioned object base (VOB)Dynamic, snapshotClearTeam Explorer (GUI), cleartool (CLI)
ClearCase remote client (CCRC)WAN and LANhttp(s) connection to a VOB through a CCRC WAN serverAutomatic, webClearTeam Explorer (GUI), rcleartool (CLI)

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

DSEE

DSEE (Domain Software Engineering Environment) 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. [14] 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:

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.

Releases

V11.0.0 (March 2024) release:

V10.0.1 (October 2023) release and succeeding fix pack releases:

V10.0.0 (December 2022) and succeeding fix pack releases:

V9.1.0 (December 2020) and succeeding fix pack releases:

V9.0.2 (January 2020) and succeeding fix pack releases:

V9.0.1 (June 2017) and succeeding fix pack releases:

V9.0 (March 2016) and succeeding fix pack releases:

V8.0.1 (June 2013) and succeeding fix pack releases:

V8.0 (October 2011) and succeeding fix pack releases:

See also

Notes

  1. "Fix list and download document for ClearCase".
  2. "Installing and using z/OS Extensions".
  3. "The Multiversion File System". Rational Software. 2003. Archived from the original on 2005-04-28.
  4. "About the MultiVersion File System (MVFS)". IBM Software Group. February 15, 2007.
  5. "ClearCase - Atria Software Inc.'s software configuration management system - New Products: Development Tools - Brief Article - Product Announcement". Software Magazine. September 15, 1992. Retrieved 2007-12-01.
  6. "Key dates in Hardware/Software Configuration Management History". CM Crossroads LLC. 2007.
  7. Michael Bucken (August 1995). "Complex development earns Atria an IS role; hot Unix vendor's move to Windows and NT opens IS doors - Company Profile". Software Magazine.
  8. Andrew DeFaria (December 21, 2004). "Re: cvs vs. clearcase?".
  9. Lawrence M. Fisher (June 7, 1996). "Pure Software To Buy Astria In Stock Deal". The New York Times. Retrieved 2007-12-01.
  10. "IBM Reports 2003 First-Quarter Results". IBM. April 14, 2003. Retrieved 2008-01-09.
  11. "A partnership for growth and innovation". HCL. November 17, 2016.
  12. "Versioned object bases (VOBs)". www.ibm.com. Retrieved 2024-05-13.
  13. "IBM Rational ClearCase - Computer Science | Wiki eduNitas.com". edunitas.com (in Indonesian). Retrieved 2024-05-13.
  14. David c. Lubkin (June 1991). "DSEE: a software configuration management tool". Hewlett-Packard Journal. Retrieved July 17, 2010.

Related Research Articles

<span class="mw-page-title-main">HCL Notes</span> Collaborative software platform

HCL Notes is a proprietary collaborative software platform for Unix, Windows, Linux and macOS, sold by HCLTech. The client application is called Notes while the server component is branded HCL Domino.

In software engineering, software configuration management 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 control and the establishment of baselines. If something goes wrong, SCM can determine the "what, when, why and who" of the change. If a configuration is working well, SCM can determine how to replicate it across many hosts.

The rational unified process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.

<span class="mw-page-title-main">WebObjects</span> Java web application server and framework originally developed by NeXT Software

WebObjects is a discontinued Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.

<span class="mw-page-title-main">History of software configuration management</span>

The history of software configuration management (SCM) in computing can be traced back as early as the 1950s, when CM, originally for hardware development and production control, was being applied to software development. The first software configuration management was most likely done manually. Eventually, software tools were written to manage software changes. History records tend to be based on tools and companies, and lend concepts to a secondary plane.

<span class="mw-page-title-main">StarTeam</span> Version control system

StarTeam is a version control system used in software development, especially when a project involves multiple teams in different locations. StarTeam is an SCM and SDLC software application, created by Starbase Corporation, which was acquired by Borland in January 2003 which was acquired by Micro Focus in July 2009 and later acquired by OpenText in 2023. The application is client-server, backed by a relational database that retains all changes made to a project during its evolution as well as the project requirements, task assignments, threaded discussions and bug tracking. Microsoft SQL Server and Oracle database are supported database servers.

WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. It is the flagship product within IBM's WebSphere software suite. It was initially created by Donald F. Ferguson, who later became CTO of Software for Dell. The first version was launched in 1998. This project was an offshoot from IBM HTTP Server team starting with the Domino Go web server.

IBM Storage Protect is a data protection platform that gives enterprises a single point of control and administration for backup and recovery. It is the flagship product in the IBM Spectrum Protect family.

<span class="mw-page-title-main">System Architect</span> Enterprise architecture tool

Unicom System Architect is an enterprise architecture tool that is used by the business and technology departments of corporations and government agencies to model their business operations and the systems, applications, and databases that support them. System Architect is used to build architectures using various frameworks including TOGAF, ArchiMate, DoDAF, MODAF, NAF and standard method notations such as sysML, UML, BPMN, and relational data modeling. System Architect is developed by UNICOM Systems, a division of UNICOM Global, a United States-based company.

In software development, version control is a class of systems responsible for managing changes to computer programs or other collections of information such that revisions have a logical and consistent organization. The following tables include general and technical information on notable version control and software configuration management (SCM) software. For SCM software not suitable for source code, see Comparison of open-source configuration management software.

Configuration Management Version Control (CMVC) is a software package that serves as an object repository, and performs software version control, configuration management, and change management functions.

Rational Rhapsody, a modeling environment based on UML, is a visual development environment for systems engineers and software developers creating real-time or embedded systems and software. Rational Rhapsody uses graphical models to generate software applications in various languages including C, C++, Ada, Java and C#.

Azure DevOps Server, formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS), is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

Configurable Network Computing or CNC is JD Edwards's (JDE) client–server proprietary architecture and methodology. Now a division of the Oracle Corporation, Oracle continues to sponsor the ongoing development of the JD Edwards Enterprise Resource Planning (ERP) system, While highly flexible, the CNC architecture is proprietary and, as such, it cannot be exported to any other systems. While the CNC architecture's chief 'Claim to fame', insulation of applications from the underlying database and operating systems, were largely superseded by modern web-based technology, nevertheless CNC technology continues to be at the heart of both JD Edwards' One World and Enterprise One architecture and is planned to play a significant role Oracle's developing fusion architecture initiative. While a proprietary architecture, CNC is neither an Oracle nor JDE product offering. The term CNC also refers to the systems analysts who install, maintain, manage and enhance this architecture. CNC's are also one of the three technical areas in the JD Edwards Enterprise Resource Planning ERP which include developer/report writer and functional/business analysts.

Rational Synergy is a software tool that provides software configuration management (SCM) capabilities for all artifacts related to software development including source code, documents and images as well as the final built software executable and libraries. Rational Synergy also provides the repository for the change management tool known as Rational Change. Together these two tools form an integrated configuration management and change management environment that is used in software development organizations that need controlled SCM processes and an understanding of what is in a build of their software.

GoMidjets is an Israeli source code management and application lifecycle management (ALM) software company. Its main line of products is an enhancement toolbox for IBM Rational Software products.

Rational Dynamic Object Oriented Requirements System (DOORS) (formerly Telelogic DOORS) is a requirements management tool. It is a client–server application, with a Windows-only client and servers for Linux, Windows, and Solaris. There is also a web client, DOORS Web Access.

Atria Software Inc. was a software company that developed ClearCase in the early 1990s. It was founded by David B Leblang, Paul Levine, David Jabs and others on January 11, 1990. Some of the Atria developers had worked on an earlier system: DSEE from Apollo Computer. After Hewlett-Packard bought Apollo Computer in 1989, they left to form Atria. Atria later merged with Pure Software to form Pure Atria. That firm merged with Rational Software, which was purchased by IBM in 2003. IBM continues to develop and market ClearCase.

References