It's all about the answers!

Ask a question

Abstracting UCM and ClearCase in Build Forge.


Benoit Saint-Jacques (11) | asked Mar 02 '10, 8:31 a.m.
Rational Portfolio Manager
iFix Release Engineering Infrastructure Architecture
By Benoit Saint Jacques, IBM Rational Canada (saintjac@ca.ibm.com)

Table of Content

1. INTRODUCTION
2. REFERENCES
3. INFRASTRUCTURE Architecture
3.1 OVERVIEW
3.2 IDENTIFICATION OF COTS
3.3 COTS TAILORING
3.3.1 ClearCase Unified Change Management Tailoring
3.3.2 ClearCase/UCM Abstraction UCM XML-RPC Java Proxy and API
3.3.3 Build Forge Tailoring


IFIX RELEASE ENGINEERING INFRASTRUCTURE SPECIFICATIONS

1. Introduction

This document describes how Build Forge, ClearCase, ClearQuest and UCM have been integrated to achieve a Release Engineering infrastructure or IBM Rational Portfolio Manager robust, performant, Agile, scaleable, and effortlessly maintainable.

This infrastructure enables continuous integration abstracting completely ClearCase technology and UCM automation.
This level of abstraction allows to appply automations to sources identified by any dynamically:
    Specified UCM baseline.
    Recommended UCM baseline on the specified stream.

Historically, before this infrastructure has been developped, the task of producing a RPM release package:
    Required 3 Release Engineers.
    One full week of coordinated manual efforts.
    With no consistent traceability of package content to either change orders incorporated or configuration controlled sources modified.
    With no package content correctness consistency.
    With no package reproducibility.

With this infrastructure, the production of a RPM release is automated and documented to such an extent that any member of the RPM team can launch the automated cycle of complex constructions and packaging with:
    Minimal supervision (lesser than 1 man-hour).
    Almost complete abstraction of the underlying methods and technologies.
    Exact traceability of package content to change orders and changed sources.
    Package reproducibility.
    Successful completion within 8 hours.
    Failure rate lesser than one failure every 3 execution cycles.
    Time to fix a failure lesser than 1 hour.

For complete informations on this infrastructure, refer to the RPM 7.1.1.2 iFix RE Infrastructure Wiki https://radical.rtp.raleigh.ibm.com/rpm/46598-ibm/42412-ibm/45745-ibm.html.


2. References

Anyone requiring deeper insight on the technologies and processes this infrastructure integrates should read first the following referenced documents.


IBM Education Assistant, Rational ClearCase , V7.0 , Introduction to Unified Change Management (UCM ) http://publib.boulder.ibm.com/infocenter/ieduasst/rtnv1r0/index.jsp?rcss=rcsblog

IBM Education Assistant, Rational Build Forge, V7.0 , Getting Started with Build Forge http://publib.boulder.ibm.com/infocenter/ieduasst/rtnv1r0/index.jsp?rcss=rcsblog

RPM Screening Board process https://radical.rtp.raleigh.ibm.com/rpm/42384-ibm/62475-ibm.html

Rational Build Forge 7.1.1.2 Online Help.

Guide to Managing Software Projects, Chapter 2 Understanding UCM, IBM Rational ClearCase, GI11-6712-00.

Guide to Managing Software Projects, Chapter 4 Setting Policies, IBM Rational ClearCase, GI11-6712-00.

Guide to Managing Software Projects, Chapter 8. Using triggers to enforce UCM development policies, IBM Rational ClearCase, GI11-6712-00.

Guide to Developing Software with UCM, IBM Rational ClearCase, GI11-6708-00.

RPM 7.1.1.2 iFix RE Infrastructure Wiki https://radical.rtp.raleigh.ibm.com/rpm/46598-ibm/42412-ibm/45745-ibm.html.


3. Overview

The RPM iFix Release Engineering infrastructure automates the construction, integration, packaging and tests of RPM components using numerous heterogeneous technologies (Windows, UNIX, DB2, Oracle, Java, JUnit/Ant, Web, C++, Delphi, SQL, Ant, Rational ClearCase, Rational Unified Change Management (UCM), Rational Build Forge, Eclipse, Rational Performance Tester ) on numerous combinations of Windows/Unix operating systems, computer platforms, and vendor databases.

The RPM iFix Release Engineering infrastructure abstracts this network of heterogeneous technologies and paradigms into the following layers:
    Web UI Layer (Build Forge, ClearCase, ClearQuest, Eclipse)
    Automation Engines Layer (Build Forge, Cruise Control, Ant)
    RE Servers Pools Layer (Build, Test, Publishing, Benchmark)
    Information management Layer (ClearCase RPM PVOB, ClearQuest DB, UCM, UCM XML-RPC Proxy/API)


The RPM RE infrastructure integrates the following COTS:
    RPM Release Engineering team administered:
      o Build Forge engine production and staging servers.
        o RPM components construction, test, publishing, and RPM iFix benchmark servers.
        IBM corporate IT administered:
          o IBM Rational ClearCase infrastructure hosting RPM code UCM PVOB repositories.
            o RPM RATLC change requests tracking infrastructurehosting RPM change requests tracking process and database.


          RPM teams can, through:
            ClearQuest Web Client:
              o Access RPM change orders managed under IBM Rational ClearQuest Corporate schema named RATLC.
              Unified Change Management (UCM):
                o Concurrently work on UCM baselines identifying a collection of code units, configuration controlled under UCM components.
                  o Manage how the work will be conducted within UCM projects, according to UCM work policies adapted to team specific needs.
                    o Produce and publish UCM baselines, recommend, and promote them.
                      o Track lifecycles of change requests, related work units (UCM activities), and changed code units through IBM Rational ClearQuest.
                        o Orchestrate concurrently continuous integration and release automation through an extensive UCM metadata database and tools set.
                        Eclipse IDE and IBM Rational ClearCase Remote Web Client (CCRC):
                          o Work on UCM baselines of the RPM according to UCM process.
                          Build Forge Web Consoles:
                            o Schedule, launch, and analyze constructions, unit tests, packaging, BVT, and performance benchmarks jobs, abstracting underlying resources (computers, operating systems, execution shells )


                          4. COTS Tailoring

                          4.1 ClearCase Unified Change Management Tailoring

                          UCM has been deployed using the default recommended policies and workflows.

                          In addition however, one UCM Perl trigger Baseline on Deliver has been implemented to realize continuous integration.

                          The trigger fires after a user completed successfully a UCM deliver of UCM activities into a UCM project integration stream. The trigger:
                            Incrementally baselines the integration stream.
                            Set baseline UCM promotion level to INITIAL.
                            Recommends the baseline for immediate use by all project members and automations.


                          4.2 ClearCase/UCM Abstraction UCM XML-RPC Java Proxy and API

                          Accesses to RPM elements archived in ClearCase under UCM have been abstracted through the design UCM Java proxy service package, complying with XML-RPC communication specification.

                          The UCM XML-RPC proxy service enables users and automations to, in complete abstraction of ClearCase technology and UCM process:
                            Extract RPM UCM baselines.
                            Modify RPM baselines properties.
                            Analyze work items delivered into RPM UCM components.
                          Within the RPM RE infrastructure:
                            One server hosts the UCM XML-RPC Java proxy service on TCP port 8088.
                            Only this server requires hosting ClearCase application and access privileges to RPM ClearCase PVOB.


                          4.3 Build Forge Tailoring

                          RPM RE infrastructure standardizes the RPM automation workflow through the design of one Build Forge library named rpm ucm workflow. The automation workflow the library standardizes consists of the following steps:
                            Initialize
                              o Initializes the infrastructure resources
                              Load
                                o Uses ClearCase UCM XML-RPC server to extract either:
                                     Specified baseline.
                                         Recommended baseline on the specified stream.
                                          o Extracts that baseline into temporary ClearCasestream/views.
                                            o Publishes baseline content (extracted code units) to the publishing server.
                                              o Destroys temporary ClearCase stream/views.
                                              Build
                                                o Transfers extracted code units from the publishing server to build server workspace.
                                                  o Invokes specified extracted build executable.
                                                  Recommend
                                                    o Promotes baseline, if build completes successfully, to promotion level BUILT.
                                                    Distribute
                                                      o Publishes distribution to the publishing server.
                                                        o Notifies registered users of distribution availability.
                                                        Test
                                                          o Invokes specified extracted tests executable.
                                                            o Promotes baseline to promotion level TESTED
                                                              o Publishes tests report to publishing server.
                                                                o Notifies registered users of report availability.
                                                                Clean
                                                                  o Re initializes the infrastructure resources.
                                                                    o Performs resources reclaiming and garbage collection on the infrastructure.

                                                                  2 answers



                                                                  permanent link
                                                                  Peter Birk (501145) | answered Mar 03 '10, 10:53 a.m.
                                                                  JAZZ DEVELOPER
                                                                  Thanks for posting this.

                                                                  permanent link
                                                                  Benjamin Chodroff (8985231) | answered Mar 29 '10, 7:44 p.m.
                                                                  Thanks for posting this.


                                                                  Could we get a version with external links? Forum posts on jazz.net should be public - not IBM internal.

                                                                  Your answer


                                                                  Register or to post your answer.


                                                                  Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.