next up previous
Next: Database Organisation Up: ConfigDatabase Previous: Requirements and Use Cases


Data Access Libraries

It is expected that the online databases will typically be kept in OKS files. The OKS database includes both the schema and the data, however the OKS classes and objects are instances of generic OksClass and OksObject objects which hold descriptions of the classes and their instantiations.


To have the OKS schema and data available in a corresponding set of C++ classes and objects, we need to implement a data access library (DAL). This would provide a much more convenient access to the database.


The other advantage of using a DAL rather than accessing OKS classes directly is that the same API can be presented to higher levels of software if the underlying persistent database manager (ie OKS) is changed in the future. The same API can also be used offline where the data may be accessed from the offline ``Conditions Database'', or in the case of the trigger menu, even from an ATHENA ``jobOptions'' file.


In the Online software, the configuration database DALs provide read only access to the data. This may be fine also for the trigger menu, but for calibration data it may be more convenient for the calibration programs if the corresponding DAL can also create the OKS objects.


The important point is that all our other software sees the database as a collection of instances of a stable set of run time classes. The details of how these run time objects are read and saved to persistent form should be hidden from the rest of the system. This also applies to mechanisms whereby online databases are archived and retrieved to and from the offline database.


next up previous
Next: Database Organisation Up: ConfigDatabase Previous: Requirements and Use Cases
M.P.J.Landon 2003-05-15