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.
Figure 1 Relationship between the interface classes in the BOSStoRGMA package and those in the BOSS and R-GMA packages.
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.
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).