Architecture

Packages

Figure 1 shows the overall relationship between our package BOSStoRGMA with the BOSS and R-GMA packages provided by CMS and EDG respectively. Only the classes directly involved in inter-package communication are shown.

UML packages

Figure 1 Relationship between the interface classes in the BOSStoRGMA package and those in the BOSS and R-GMA packages.

Classes

Figure 2 shows the classes and their operations for the software developed in GRIDPP by Brunel for this milestone. The class BossRealTimeRGMAUpdater was written in C++ and the other classes were written in Java.

UML class diagram

Figure 2 The BOSStoRGMA Class Diagram

Data is sent through R-GMA in the form of messages describing the updates to be made (R-GMA’s bossJobExOutMessage table), rather than complete tuples. Although this introduces the risk that the BOSS database will be left in an inconsistent state if a message gets lost, it insulates the R-GMA transport layer from any changes in the BOSS database structure, such as the addition of new job types. (The BOSS database is in any case validated against the correct data returned as a journal file in the output sandbox).