André van der Hoek, Dennis Heimbigner, and Alexander L. Wolf
In a situation where a number of geographically dispersed development teams are working on some set of inter-dependent software tools, software release management plays a crucial role. On one hand, one would like to provide the development teams with a single, distributed, and structured repository where they can store all software releases, their descriptive information, and---most importantly---their inter-dependencies. On the other hand, one would like to have as large an audience as possible, and publicize the released software as complete packages through a ubiquitous medium such as the internet.
This scenario was the driving force for the design and implementation of SRM , a Software Release Management tool. SRM uses NUCM [3,1], a CORBA based distributed repository for Configuration Management, to implement its database. In addition to a Tcl interface through which software can be released/retrieved from the database, SRM has a WWW interface through which released software, including its dependencies, can be retrieved. Thus, the architecture of SRM has two layers of distribution: the CORBA based distributed database, and the WWW for retrieval of information from the database. A collection of CGI scripts provides a WWW browser access to the repository. Of particular interest is the CGI script that retrieves a software release and its dependents. It uses CORBA to contact the NUCM database, retrieves the release and its dependents from the various geographically distributed sites, collects all software in a single TAR file, and ships the TAR file back to the user of the WWW interface of SRM. As such, the CGI script bridges the gap between the HTTP protocol used by the WWW, and the CORBA protocol used by SRM.
In building SRM, we have learned a number of valuable lessons about WWW, CORBA, and their interaction:
It is clear that a combination of a structured CORBA repository and a WWW based access mechanism is very appealing, but, as the above points illustrate, difficult issues remain that need to be resolved before wide-spread deployment of such an architecture can take place.
This material is based upon work sponsored by the Air Force Material Command, Rome Laboratory, and the Advanced Research Projects Agency under Contract Number F30602-94-C-0253. The content of the information does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred.