CTS 2 defines a service root component that allows for the query of information and access to all of the service capabilities.
This functionality resides in the domain access layer. Below is the structure and substructure of the domain access layer.
Structure: Main Components
- Database
- An access point for CRUD (Create, Read, Update, Delete) operations
- Will contain a ServiceManager Interface, which will expose Service Layer consumable CRUD services.
- Contains logic for LexGrid Schema Version detection and Database Type detection.
- Serves as the Transaction Demarcation Layer
- System Resources
- Provides various system-level services
- Registry
- Maintains a list of available Resources (loaded Coding Schemes, Histories, etc)
- Index
- Provides a Lucene-based indexing service
Structure: Sub Components
- (Data Access Object) DAO Manager
- Provides fine-grained CRUD access to the Database
- Is NOT Transaction aware -- all transactions must be defined by the calling services
- Does NOT cascade
- This is done to allow the the Service to define exact transaction granularity
- Event framework is implemented in the individual DAOs, not the Services