CCRC, Rational Software Architect, and ClearCase
The ClearCase Remote Client is a user interface that is powered by Eclipse and optimized for use by developers who connect to a ClearCase Web server over a wide area network.
The ClearCase Remote Client is available in two forms:
- The ClearCase Remote Client for Eclipse that integrates ClearCase with the software development environments provided by Rational Software Architect. When you install the ClearCase Remote Client for Eclipse into a Rational Software Architect environment, all ClearCase Remote Client viewers are available in the ClearCase perspective and can be added to other Rational Software Architect perspectives.
- The ClearCase Remote Client, a Standalone client that is designed for use outside of the Rational Software Architect IDE.
In this article, CCRC refers only to the CCRC for Eclipse client unless otherwise specified. Rational Software Architect includes Rational Application Developer and IBM® Rational® Software Modeler. Most CCRC functions are also applicable to these Eclipse-based products, because CCRC is built to work in Eclipse.
To best understand the ideas presented in this article, you are encouraged to review the Rational Software Architect and ClearCase documentation to learn about the product concepts and features. Also, note that "ClearCase views" are different from "Rational Software Architect views".
Rational Software Architect is part of the IBM® Rational® Software Delivery Platform, which offers these features:
- Support for model-driven development.
- Support for building Java™, Java™ 2 Platform, Enterprise Edition (J2EE™ Platform), and Web services applications.
- Includes tools and utilities for debugging, testing, and deployment.
- Integrates with IBM® WebSphere® Application Server Network Deployment.
- Enables direct deployment into WebSphere Application Server network.
ClearCase has two usage models for software configuration management:
- Unified Change Management (UCM)
- Base ClearCase
|
Methods of integrating Rational Software Architect with ClearCase
Rational Software Architect can integrate with ClearCase in two ways: by using the SCM Adapter (which is available with Rational Software Architect), or by adding the CCRC Plug-In. Each plug-in has its advantages. CCRC is the most recent; its simplicity and power to penetrate WAN environments is attractive to many developers. The key differences between these two plug-ins are as follows:
- SCM Adapter:
- Connects a native ClearCase client and Rational Software Architect
- Requires a LAN Connection
- Spawns ClearCase UI dialogs
- Requires traditional ClearCase client installation on the local machine
- Requires the MVFS (MultiVersion File System) if users need dynamic views
- CCRC :
- Embeds ClearCase into Rational Software Architect; does not require a native ClearCase client
- Supports latent network connections
- ClearCase client installation not required
- Separate ClearCase perspective and views inside Rational Software Architect
- Common look and feel across different operating systems
|
Differences between ClearCase native client and ClearCase Remote Client
It is helpful to understand how CCRC compares to the native ClearCase client, which is installed on the machine while using the SCM Adapter within Rational Software Architect.
- Must be installed on each client host
- Has a LAN client that is powerful and rich with features
- Requires high speed connection
- Preferred client when high speed connection is available to servers
- Platform differences
- Microsoft® Windows®, Linux®, and UNIX® operating systems use different user interfaces
- Interoperability requires configuration: Samba or NFS Clients
- Supports dynamic and snapshot ClearCase views
- Not installed on client host
- Powerful yet lightweight
- Communicates via HTTP to the server headings
- Uses Web views
- Small install footprint (Eclipse IDE plug-in is 32 MB)
- Platform support
- User interfaces are the same between Windows, Linux, and UNIX
- Samba and Interop packages are not needed
- Localized to nine spoken languages
- Flexible client support (plugs in to existing Eclipse IDEs based on V3.)
- True client
- No server processes locally (for example, Atria Location Broker Daemon or ALBD, and so on)
- Easy to install and update
- Follows standard Eclipse Plug-In installation and update process
- No dependency requiring the operating system login ID to match the ClearCase ID on the client
- Evolving and growing in each release
|
The CCRC plug-in is well suited for GDD environments, given its ability to work in a WAN environment, as shown in Figure 1. It allows you to work in disconnected mode, although some operations require connection to a CCRC server. It can be a LAN and WAN client, and it supports users who work in the same office and in other environments. The Producer-Consumer rule can be enforced at the server level. Note that most of the GDD architecture guidelines are derived at the ClearCase Server level, not the CCRC level. The server infrastructure dictates client configuration possibilities.
What is special about CCRC in GDD? It uses specially-designed protocols to communicate efficiently over networks that have high latency:
- Includes many of the features provided by the native ClearCase client, and can run on a broad range of Windows- and UNIX computers, regardless of whether ClearCase is installed on them
- Permits access to the ClearCase repository from any machine, irrespective of your operating system user ID
Figure 1. CCRC: Breaking down the GDD walls
|
For an architect or developer, getting started with CCRC is easy; you can be up and running within few minutes without much effort. All you need to have is this information
- URL to CCRC Server (for example,http://server/ccrc)
- Your user name and password on the server
- If you are using UCM, the name of the project and the integration stream
For Version 2003.06.14 or later, download the CCRC client from your ClearCase server and install it. The installation will not work unless the IBM® Rational® Web Platform component is an installation choice on ClearCase server. By default, each CCRC server has an install site at http://server-name/ccrc/update. Ask your ClearCase server administrator for the details.
|
Simple installation and update
CCRC installation follows standard Eclipse Plug-In installation. Updating the fixes also follows the same Eclipse process, which uses public sites that contain the supported releases and fixes. CCRC also detects new updates on ibm.com and alerts users to update. Customers can establish a site policy to control the internal location of plug-in updates. This policy can help enforce a corporate standard for client version. For details, see http://www-1.ibm.com/support/docview.wss?uid=swg21196280. Client updates are not closely tied to server releases, which allows users to make more frequent client-side changes irrespective of the server.
Ensuring remote client performance
Performance is important when working in a GDD environment, and many factors affect it. To maximize your performance, keep these points in mind:
- All ClearCase operations are executed on the ClearCase server, so the proximity of traditional servers in a ClearCase environment is key
- CCRC does not eliminate performance issues at the server level, because it requires a predictable network connection. A large number of network hops, or hops that time out, affect client-to-server communications.
- CCRC is only a client. Avoid moving high volumes of data over the wire.
|
Enabling CCRC in Rational Software Architect
Disable the SCM Adapter option within Rational Software Architect.
- To enable CCRC, click Preferences > General > Capabilities > Advanced.
- By default, the ClearCase (CCRC) menu is available only in the ClearCase perspective. To make it available in the Customize perspective, click the Commands tab and then select ClearCase Main Menu.
Depending on how your preferences are set up, if the ClearCase SCM Adapter is active at the same time, you might see two ClearCase menus in your Rational Software Architect toolbar. One belongs to the SCM Adapter, and the other one to CCRC. Do not use the ClearCase menu that belongs to the SCM Adapter. If you do, you will not get the CCRC functionality.
Client and server compatibility
This section lists the compatible client and server versions. A V6.14.x client can access only a CCRC server V2003.06.04 (SR4) or later. A V7.0.0 or later client can access only a CCRC Server Version 7.0 or later. A single Rational Software Architect instance can have both a V6.14.x client and V7.0 client installed. However, only one can be activated at a time. There are few reasons why you might install more than one CCRC version:
- It helps facilitate migrations to new versions, or working on remote projects on other server instances.
- It helps when accessing different ClearCase servers that are at different release levels.
However, having more than one CCRC version is not recommended for most use cases.
For the latest support statement about which versions of desktop tools work with which versions of CCRC, go to http://www-1.ibm.com/support/docview.wss?uid=swg21253589
|
User development environments are customizable, yet some standards and best practices help ensure smooth tool usage:
- Use Team Project Set to group the related projects
- Establish common preferences settings in your organization
- Search for checkout elements at the project level
- Avoid duplicate storage of components and elements
- Avoid sending huge files over the network
- Perform the administrative task of determining the optimum physical location for your servers. The physical location of the servers in a ClearCase environment is very important.
- Allow users flexibility, yet make the risks of deviating from standard practices known.
- Access the numerous configurations available via Preferences
- See Window > Preferences
- You can set "Ignored resources"
The most important items in this list are explained in the following sections.
Team Project Set becomes important when your teams are doing parallel development in a producer-consumer environment, especially when an application needs multiple projects to function correctly. That forces everyone who wants to use this application to download all of the related projects to be successful. If there are fewer projects, making this mistake is less likely. But if an application includes dozens of projects, chances are good that someone on the team will forget to download some projects.
One way to ensure that all projects are handled as a single unit is to use Team Project Set. Using Team Project Set maintains an index file of the name and the physical location of the projects. When you import the index file, which is generally called a Team Project Set file, it imports all related projects into your workspace.
Many CCRC preferences can influence the control behavior and appearance of the ClearCase operations. Each of them can be customized to meet business needs. Some preference settings, with the related available options, are shown below. To see all preference settings, click Window > Preferences
- After new resources are added to source control:
- To have the ClearCase Remote Client add the resources to source control and then check them out, select Automatically checkout.
- To keep the newly added resources checked in, select Do nothing.
- When checked-in files are edited or saved by an Eclipse editor, you can either:
- Automatically checkout.
- Prompt to checkout
- Hijack Options for Checkout:
- To prevent the ClearCase Remote Client from hijacking the file when a checkout is not possible, select Do not hijack.
- To allow hijacking only when you are disconnected from the ClearCase Web server, select Hijack only if disconnected.
- To force a hijack even when a checkout is possible, select Always Hijack.
These preferences can be stored in a file (typically with the file extension .epf) inside the ClearCase repository for the team to share and reuse. Using common preferences helps you establish common ClearCase usage patterns, which can avoid unnecessary debates and discussions during collaborative development.
Search for Checked out elements
When you work in a J2EE project, many files are updated without your knowledge (as a developer), because the IDE follows the J2EE specification. Unfortunately, you cannot and will not know all of the files and directories that are affected when you create even a small Enterprise Java™Bean (EJB) component.
If your preference setting is Do Auto Check out, most of the J2EE metafiles are checked out without the knowledge of the developer. It will be a tough task for that developer to find all of the items for checkin. For example, a file like .../.settings/org.eclipse.wst.common.project.facet.core.xml must be checked in if there is an update to it. How do you know which elements you have checked out? In order to avoid potential pain and mistakes, be sure to run the ClearCase operation Search for all the Checked out elements at the Project level.
|
The CCRC Plug-In makes more ClearCase views available in the Rational Software Architect workspace. In the SCM Adapter Plug-In, none of these views exist in the Rational Software Architect workspace; instead it spawns a separate GUI outside of Rational Software Architect. Following is a partial list of the CCRC views that are now provided. Details are available in the Rational Software Architect Help.
ClearCase Navigator view
- Explores the contents of repositories and ClearCase views in your computer
- Displays a list of all ClearCase views on the local host, and allows you to explore their contents. It also allows you to explore the contents of remote ClearCase repositories (VOBs) and select resources to load into a local ClearCase view.
ClearCase Details view
- Provides detailed information about the ClearCase elements
- Use the ClearCase Details view in conjunction with the ClearCase Navigator view
ClearCase Metadata Explorer Navigator view
- Explores the metadata associated with base ClearCase and UCM VOBs.
- Viewing label types
- Viewing branch types
- Creating branch types
- Applying a label
ClearCase Metadata Explorer Details view
- Displays detailed information about ClearCase metadata.
- Use the ClearCase Metadata Explorer Details view in conjunction with the ClearCase Metadata Explorer Navigator
Other views
- ClearCase Deliver Results
- ClearCase History
- ClearCase Merge Manager
- ClearCase Rebase Results
- ClearCase Search Results
- ClearCase Version Tree
- ClearCase View Configuration
|
The CCRC Plug-In includes extensive help for using CCRC. You can find it in Rational Software Architect Help if you have installed the CCRC Plug-in. Rational Software Architect provides cheat sheets to guide you through some of its application development processes.
Each cheat sheet is designed to help you complete a task, and it lists the steps required. As you complete each step, the cheat sheet starts the required tools for you. If a step in the process does not require a tool, you click a button in the cheat sheet to move on to the next step. Help for a task is available in a single click, which eliminates searches through lengthy documentation. For more information, search for "cheat sheets" in the help. You can create your own cheat sheets, which is a great way to include customer-specific processes and information for remote developers.
|
Common CCRC actions of a developer
New users might ask "What can I do with CCRC that I cannot do with the SCM Adapter Plug-In?" This is the answer:
- Install the CCRC Plug-In (one time)
- Update the latest patches and fixes for the plug-in, if any (depends on the release cycle)
- Create a CCRC view, and connect to it
- Load required projects and folders
- Import the required Team Project and project sets into the workspace
- Work in a perspective until you are ready to check in files to the repository
- Check out and check in files
- If working with UCM, perform rebase and deliver operations
- Update resources
- Update the load rules
- Search ClearCase repositories
- Show the history of elements
- Show the version tree of elements
- Remove ClearCase views
- Create baselines
- Recommend baselines
|
Common issues raised by users when using CCRC
Many users are not aware of all of the operations that are available in CCRC, and mistake the SCM menus for CCRC menus. Few users think CCRC can handle large amounts of data, which is possible but is not recommended. Also, CCRC adds new features from release to release. Because of these frequent updates, you might think that CCRC does not support the specific function that you want to use, but that might not be true. You might not have the latest version of CCRC, so be sure to check the latest version to understand whether it includes what you want. Below are some suggestions for avoiding common problems:
- Check for the latest CCRC update and fix
- Avoid performing large updates when time does not permit
- Disable the SCM Adapter when it is not in use
- In UCM
- Perform update, rebase, and deliver operations frequently
- Complete the rebase operations as often as possible
- Complete the deliver operations
- Use the Make/Recommend baseline operation in CCRC
|
Given the nature of CCRC, it changes the way you as developers see the ClearCase world through a Rational Software Architect window. It provides the following advantages:
- Ease of installation
- Lightweight code base
- Lower cost of ownership
- Automated update mechanism
- No server processes running on client hosts
- No dependency on the operating system login ID matching the ClearCase ID on the client
- Native look and feel – Windows and Linux look the same
- A new perspective dedicated inside Rational Software Architect.
It takes just few minutes for you to get up and running in CCRC. It provides much more flexibility to do work (even in other machines) with less effort. In addition, it lets you do all of your work inside the Rational Software Architect workspace instead of searching for non-Rational Software Architect tools (like ClearCase Project Explorer and so on). Best of all, it works through WAN.
No comments:
Post a Comment