COSMOS Design 209187
Change History
Name: | Date: | Revised Sections: |
---|---|---|
Sheldon Lee-Loy | 12/12/2007 |
|
Workload Estimation
Process | Sizing | Names of people doing the work |
---|---|---|
Design | ||
Code | ||
Test | ||
Documentation | ||
Build and infrastructure | ||
Code review, etc.* | ||
TOTAL |
'* - includes other committer work (e.g. check-in, contribution tracking)
Purpose
The COSMOS I7 End-to-End scenario provides a data collection component that collects and queries logging events. This data collection component utilizes the assembly components that were created in COSMOS I3 as outlined in enhancement 180318. The data collection component for logging event should conform to the new Data Collection framework as defined in enhancement 197868 and 192493
Requirement
A Data Manager is required to query logging information from a logging event repository. The Data Manager should provide the capabilities to allow clients to do the following:
- provide a list of datasets that is contained in the logging event repository. The datasets are ids that group a list of common base events. Typically this id is made up of the agent, host location, monitor and log file name that was collected. Note that this id is constructed from TPTP hierarchy model concepts
- provide a list of common base events associated with a dataset id
- provide a list of common base events grouped by severity
Note that the above operations provides the necessary function to render the current BIRT Log Report.
Design
The following diagram shows the overall architecture of the CBE Data Manager. A client will use the web service client class to communicate with the CBE data manager class over SOAP requests. The CBE data manager will interact with an underlying database that will contain the log event data. The data manager will provide the necessary query APIs to get a list log event data in the form of Common Base Events.
Implementation
The following web service client interface will provide the necessary APIs to get a list of datasets, get a list of cbes based on a dataset and get a list of datasets grouped by serverity
public interface ICBEClient { public Collection<String> getDatasets() throws Exception{ } public Collection<CommonBaseEvent> getAllCBE(String dataset) throws Exception { } public Collection<CBESeverityCount> getCBECountBySeverity(String dataset) throws Exception { } }
The following class diagram shows the set of classes required to create the CBE data manager
The implementation of the CBEDataManager will contain the SQL statements to query the CBE database.