Options Integrating Rhapsody with RTC Version Control
1RM6_Harry_Koehnemann 2700051RM6 Visits (5547)
Here at 321 Gang we have seen many engineering organizations adopting Rational Team Concert’s (RTC) work and planning features for better adaptive planning and cross-discipline collaboration (see our webcast on Applying Agile Principles in Complex Systems Development). As the next step, these organizations are looking at RTC’s configuration management (CM) capabilities to manage their engineering artifacts, including Rhapsody models. Last week I had the opportunity to explore the several options connecting Rhapsody to RTC’s CM for a customer and wanted to post my thoughts and observations - based on RTC and Design Manager version 4.0.3 and Rhapsody version 8.0.3.
RTC SCM Background
RTC provides an “optimistic” CM that assumes team members won’t modify the same file. And if they do, merging will be simple. In a world of continuous integration and small changes with software text files, the optimistic approach has many advantages. However, most engineers are familiar with a “pessimistic”, locking-type model where individuals lock files from others while making changes. And when automated merging can be difficult, a locking CM model simplifies collaboration.
RTC supports a “lock” mechanism, but users must manually lock and unlock files as they make changes. There is an RTC work item for RTC to support a pessimistic locking model, and I (strongly!! :) encourage people to add their “+1” to show their support.
There are several ways to integrate Rhapsody with RTC. In general, we have observed that most non-software engineers prefer the standalone Rhapsody client to Rhapsody inside of Eclipse and they are more familiar with a check-in/out, locking (“reserved” for the ClearCase folks) CM model and I make that assumption in the review.
1) Integrate Rhapsody into the RTC Eclipse Shell
The simplest way to integrate Rhapsody is plugging it into the RTC Eclipse shell. All the RTC features are readily available (work, plans, reports, etc.) side-by-side with Rhapsody and the RTC SCM features for managing Rhapsody models.
The most common complaint with this solution is that Eclipse+RTC can appear big and complicated. There are many menus, toolbars, and context menus that are only used by software users. “I am a Systems Engineer and Eclipse is a software tool” is a quote we have heard too often (primarily from those resistant to change!). And with this approach we must teach people to manually lock files, as discussed above. But for those comfortable with Eclipse, this is the ideal solution.
2) Standalone Rhapsody w/ RTC Shell for Microsoft Windows Explorer (Windows 7 only)
For the reasons above, many non-software engineers prefer the standalone Rhapsody client. RTC 4.0 added Windows Explorer integration that provides features similar to the RTC “Eclipse views” for managing repository connections, loading repository workspaces, handling pending changes, etc. In this solution, models are loaded using the RTC Windows Explorer Shell and then opened using standalone Rhapsody. As before, there is no automated locking. And in this solution we never checkin/out, etc. inside Rhapsody.
Advantages to this approach are engineers can use standalone Rhapsody and the Windows Explorer integration provides a full-featured solution for managing RTC CM artifacts - no Eclipse necessary. The main issue is we are now modeling in one place (Rhapsody) and managing changes in another (Windows Explorer). And we still need to manually lock files.
3) Standalone Rhapsody w/ RTC MS-SCCI Interface
In 4.0, RTC became an MS-SCCI provider. And Rhapsody has long been able to connect to SCC-compliant CM systems (e.g., ClearCase). The initial part of this workflow is similar to the RTC Shell above, except we use the RTC MS-SCCI Control Panel to connect and load the repository workspace,. One significant plus is the Control Panel has preferences that include auto-locking on check-out and check-in - very cool!
The significant advantage to this approach is we perform all the CM operations (check-in/out, undo checkout, etc.) from inside Rhapsody - a familiar workflow for engineers. And auto-locking contributes to that familiar behavior.
While this solution appears optimal - auto-locking, CM managed inside Rhapsody - it’s behavior wasn’t consistent in my exploration. While the problems could by my errors following the configuration and setup, I had issues checking-in changes from Rhapsody and was frequently directed to Pending Changes. Also, auto-lock seemed to worked intermittently and did not always set the model file’s read-only flag appropriately. So while this solution is very promising, one should try it before committing a project to it.
4) Standalone Rhapsody with Design Manager
While not an RTC solution, I also included Design Manager as it provides a Jazz-based CM solution for versioning files. In all the above options, model files are copied from the RTC server to the user’s local file system (“sandbox” in RTC terms). Design Manager is a server-based model repository (no “files”) and Rhapsody natively connects to these models. Design Manager also provides the default CM behavior engineers are familiar with for check-in/out (with locking!) - no workspaces, sandboxes, pending changes, yada, yada. This is the simplest, most straight-forward workflow for engineering modeling.
With that simplicity comes some loss of features. Note the missing features would not affect most engineering-type collaboration scenarios. That said, there is no “sandbox”, so when we “save” the model we are sharing our changes with the team. Consequently, we cannot work multiple changes concurrently as we could with RTC (suspend/resume). And this solution as a sing
Here is a summary of the different solutions:
I would enjoy hearing from folks using or exploring RTC with Rhapsody or other non-software artifacts here in this blog.
Harry Koehnemann - firstname.lastname@example.org
321 Gang is a five-time IBM Rational Business Partner Award winner and the industry’s #1 Rational training provider as well as an Authorized IBM Rational Software Reseller. Rational is all we do. 321 Gang has deep expertise with IBM Rational solutions for complex systems and software including: