Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
COSMOS Use Cases
COSMOS Project Home > COSMOS Wiki > COSMOS Documents >
Contents
- 1 Overview
- 2 COSMOS Supported Use Cases for M2
- 2.1 MDR Enablement
- 2.1.1 Use Case: Provide a reconciliation taxonomy to manage assets across a multi-vendor-based enterprise
- 2.1.2 Use Case: Provide tooling / approach to identify name conflicts across the reconciliation taxonomy (I know, I know, ambitious)
- 2.1.3 Use Case: Provide reference implementations / guidelines for constructing an MDR for products that expose their data via ODBC or JDBC
- 2.1.4 Use Case: Support reference implementations for accessing File/DB2/Oracle/SQL Server - based MDRs running on Windows, Linux, and UNIX
- 2.1.5 Use Case: Reference implementation and approach for connecting multiple MDRs in an enterprise scattered across continents, and using different languages
- 2.1.6 Use Case: Provide programmer documentation and guidelines for integrating MDRs into COSMOS
- 2.1.7 Use Case: Performance of the Data Managers must result in performance that is within ??% of using the native Data Adapters
- 2.1.8 Use Case: Create a test suite to verify support of the above constructs and performance on the above platforms and databases
- 2.1.9 Use Case: Registering an MDR with the COSMOS framework
- 2.1.10 Use Case: Registration of Federating CMDB
- 2.1.11 Use Case: The actor queries for the complete list of MDRs
- 2.1.12 Use Case: Submitting a CMDBf query to an MDR
- 2.1.13 Use Case: Visualizing a CMDBf graph response from an MDR
- 2.1.14 Use Case: Associate an MDR with a Federating CMDB
- 2.1.15 Use Case: Broadcasting MDR query/registration capabilities via service metadata
- 2.1.16 Use Case: Developer creates a Data Manager
- 2.2 Collection
- 2.2.1 Use Case: Client subscription to events
- 2.2.2 Use Case: Using COSMOS to submit queries to a proprietary data store with operational data
- 2.2.3 Use Case: Report generation on incidents
- 2.2.4 Use Case: Log or statistical data collection and report generation
- 2.2.5 Use Case: Generation and consumption of internal COSMOS errors
- 2.2.6 Use Case: Use of notification events in a CMDBf environment
- 2.3 Management
- 2.4 Generic functionality
- 2.1 MDR Enablement
Overview
The purpose of this page is to articulate the function that COSMOS will provide. While enhancement requests are typically created, they tend to be very fine grained or very macro. We intend to use this page to describe from the user's point of view how they can interact with COSMOS. This page as a way to capture the high level function offered by the COSMOS framework.
The emphasis of this page is for us to focus on the value delivered to the community by COSMOS.
We would like to be able to tie back the work we are doing to a specific use case. Therefore, we will add a link to the Use Case as a comment in the enhancement request.
This has been recorded in the COSMOS Development Process
The current scope of this page is for the delivery of M2 function. Other parts of the project, e.g. SDD, are beginning to develop their use cases. While they are in the process of defining these, we've established a work area for them to hash out the deliverables. The current SDD work area is COSMOS Use Cases for SDD
COSMOS Supported Use Cases for M2
- Use case actors
- End-to-End use cases (out of date-->needs to be updated)
The existing links are, in many cases quite old. Now that we have a tangible release plan, the purpose of this page is to:
- Consolidate all the existing links related to use cases onto a single page
- Sunset all of the old wiki pages
- Consolidate the use case information for M2 onto this page
- Associate enhancement requests with Use Cases. Note: It may be difficult to retroactively add the enhancements to the use cases. However, as we open new enhancements, we should map them back to a use case in this document
- Provide a blueprint for the system verification tests
These use cases typically span more than one COSMOS component. Therefore, we've come up with three "categories".
MDR Enablement
(led by Jimmy M.)
Related components/technologies/standards:
- CMDBf
- MDR
The following document outlines COSMOS commitment to the CMDBf standard: Leveraging CMDBf
Use Case: Provide a reconciliation taxonomy to manage assets across a multi-vendor-based enterprise
Actor: Developer, Data Modeler, DBA
Use Case: Provide tooling / approach to identify name conflicts across the reconciliation taxonomy (I know, I know, ambitious)
Actor: Developer, Data Modeler, DBA
Use Case: Provide reference implementations / guidelines for constructing an MDR for products that expose their data via ODBC or JDBC
Asking for this since MANY products are in this boat and do NOT have a Data Adapter of any kind...
Use Case: Support reference implementations for accessing File/DB2/Oracle/SQL Server - based MDRs running on Windows, Linux, and UNIX
Actor: COSMOS Adopter
Use Case: Reference implementation and approach for connecting multiple MDRs in an enterprise scattered across continents, and using different languages
Actor: COSMOS Adopter
Use Case: Provide programmer documentation and guidelines for integrating MDRs into COSMOS
Actor: COSMOS Adopter
Enhancement: 210134
---
Use Case: Performance of the Data Managers must result in performance that is within ??% of using the native Data Adapters
Actor: COSMOS Adopter
Use Case: Create a test suite to verify support of the above constructs and performance on the above platforms and databases
Actor: COSMOS
Use Case: Registering an MDR with the COSMOS framework
Description: This use case describes the ability of adopters to register an internal data store as an MDR. The use case will elaborate COSMOS capabilities that will make registration, service implementation, and discovery of the MDR easier.
- An MDR can choose to provide an implementation of a CMDBf query service. COSMOS helps adopters by providing common libraries that makes service implementation easier
Enhancements: 200222, 204959, 208584
User Documentation: Providing a CMDBf Query and Registration Service - After a service implementation, an adopter can register the data store with COSMOS data broker.
Enhancements: 197867, 192493
User Documentation: COSMOS Programming Model - Adopters can choose to provide customized visualizations/reports or use existing COSMOS views.
Enhancements: 206771, 208603, 208595, 211093
Use Case: Registration of Federating CMDB
Enhancements:
Use Case: The actor queries for the complete list of MDRs
Actor: System Admin,
Enhancements:
Use Case: Submitting a CMDBf query to an MDR
This use case should elaborate on adopter's ability to contribute customized queries to the COSMOS UI
Enhancements:214153 214143
Use Case: Visualizing a CMDBf graph response from an MDR
This use case should elaborate on adopter's ability to associate customized visualization to specific query response
Enhancements:214158 214145
Use Case: Associate an MDR with a Federating CMDB
Enhancements:
Use Case: Broadcasting MDR query/registration capabilities via service metadata
Enhancements:
Use Case: Developer creates a Data Manager
Actor: Developer
Description: Developer uses COSMOS tooling to create a Data Manager. The purpose of this tool is to facilitate COSMOS adoption.
- Developer generates a Data Manager bundle in Eclipse using the tooling (File->New->COSMOS Data Manager will generate a skeleton Data Manager)
- input to the tool include the Data Manager name, supported interfaces (ie: CBE, Statistical, MDR, SNMP with MIB2, etc)
- output from the tool is a skeleton bundle for the Data Manager. If the MDR interface is selected, then the skeleton includes the MDR handlers
- Developer customizes the generated interface implementation skeleton by adding code
- Developer builds a package for the Data Manager (with SDD?)
- Developer deploys the Data Manager package in a container
- Developer tests the Data Manager
Enhancements: 208274
Collection
Led by: Ali Mehregani & Hubert Leung
Related components/technologies/standards:
- Integration with Application Logs (Based on existing work)
- Performance Data
- Event subscription & publication
- WS-BaseNotification, WS-NotificationBroker, WS-Topics
- WSDM Event Format
Use Case: Client subscription to events
Description: This use case elaborates COSMOS efforts around WS-Notification. There will be a notification broker provided in COSMOS where notification producers and consumers can publish or subscribe to events in the context of web services.
- Client contacts the management domain
- Client queries for the notification broker associated with the management domain. Notice that an adopter can choose to replace COSMOS notification broker with a completely differently implementation that is based on WS-NotificationBroker
- Using the end point reference of the notification broker, the client queries for topics published by notification producers using WS-Resource Properties.
- Client subscribes to one or more published topics. Subscribing to a topic will cause a notification every time an event associated with the topic is raised.
Use Case: Using COSMOS to submit queries to a proprietary data store with operational data
Description: The COSMOS framework will allow adopters to plug-in a proprietary repository that stores operational data (e.g. performance/monitoring/statistical/etc...). An adopter can use COSMOS to provide a consolidated view for all data stores that are independent of each other.
- Adopter registers the data store as a data manager
- Adopter extends the COSMOS client to provide customized action on the newly added data manager
- The action is linked with report/visualizations that are populated based on a query to the underlying data store
The same user experience can be used for multiple data stores that have similar characteristics but different implementations.
Enhancements: 208274, 192493, 197867, 208976, 208595
Use Case: Report generation on incidents
Description: This use case elaborates on end user's ability to generate reports on any incident that a notification producer generates. The use case assumes the existence of a notification consumer that persists all events generated by notification producers.
- The user opens the COSMOS client and discovers the incident manager in the navigator
- The user expands the incident manager to display the set of configuration items associated with the MDR. In the background, a CMDBf query is submitted to retrieve all configuration items of the incident manager.
- The user selects a specific configuration item to generate report on the incidents that are associated with the selected item. A custom query API can be used in this case to retrieve incidents associated with the item.
- The user can also generate overall reports by selecting the incident manager instead of an individual configuration item
Enhancements: 212293, 212297, 209990
Use Case: Log or statistical data collection and report generation
Description: COSMOS includes two exemplary data managers that store logging and statistical data. This use case indicates the steps that users need to perform to generate reports based on logging and statistical data
- If installed properly, the logging and statistical data managers will be displayed in COSMOS client
- To generate a report, the user will need to right click a desired data manager and select one of the available reports.
The action will query the underlying data store for information and generate a report based on the results. Enhancements: 212187, 212189, 206772
Use Case: Generation and consumption of internal COSMOS errors
Description: COSMOS provides an error handling mechanism to allow internal components to log events that can be used for troubleshooting.
- Internal components can use the notification broker to produce events as a result of internal errors
- The event generated via the notification broker will be persisted by the incident manager
- Alternatively, an internal component can use the error handling mechanism to log events to a local file
Use Case: Use of notification events in a CMDBf environment
Description: The CMDBf specification falls short of describing a notification mechanism for item/relationship status updates. For example, if an MDR registers an item with a federating CMDB, then events need to be generated any time data is added, updated, or deleted. See lines 1557-1570 of the CMDBf1.0 specification for examples of policies that a federating CMDB can use in case of data modifications.
The COSMOS notification mechanism can help to complement a CMDBf architecture. The following use case assumes the existence of a federating CMDB.
- An MDR publishes a topic to the notification broker based on item/relationship updates
- An MDR registers an item with a federating CMDB
- Before accepting the registration, the federating CMDB subscribes to the topic for status updates on the MDR data
- The item is accepted with a positive registration response
- The federating CMDB can make any required changes based on notifications produced by the MDR. If for example the item is deleted, then the federating CMDB can choose to also delete the item.
Enhancements: 212293, 204959, 208584
Management
(led by Bill)
Note: There should at least be one use case for each one of the topics below: * Security enhancements planned for i8 * Any SDD work planned for i8/i9 * SNMP work planned for i8/i9 * Management of data managers via WSDM
Related components/technologies/standards:
- CMDBf Administration
- SNMP (MIB2RDML??)
- WSDM Tooling
- WSDM Annotations
- SDD
- SML
Use Cases:
- Resource Modeling use cases
- Build to Manage use cases (Needs to be cleaned up)
Use Case: Administrator installs the base COSMOS infrastructure
Actor: System Administrator
Description:
- Administrator installs the COSMOS Domain and Broker in containers (using SDD?)
- Administrator configures the Broker with the Domain
- Administrator starts the Domain and Broker
- Broker registers with the Domain
Enhancements:
Use Case: Administrator configures COSMOS Security
Actor: System Administrator
Description: (scheduled for i9)
- Administrator configures COSMOS security (encryption, etc)
- Administrator defines COSMOS users, establishes credentials, and assigns proper authorization to the users.
Enhancements: 205863,
Use Case: Administrator installs a Data Manager
Actor: System Administrator
Description:
- Administrator installs a Data Manager package in a container
- If the Data Manager is a COSMOS MDR, then the adminstrator configures the MDR with the Domain
- If the Data Manager is NOT a COSMOS MDR, then the adminstrator manually configures the MDR with the Domain (using a command line or UI)
- Administrator starts the container
- If the Data Manager is a COSMOS Data Manager, it autostarts and registers itself with the Broker using the Domain
Enhancements:
Use Case: Administrator upgrades a Data Manager
Actor: System Administrator
Description:
- Administrator deregisters a deployed Data Manager from the Broker
- Administrator installs (upgrades) the new Data Manager package into the container
- Administrator starts the new Data Manager
Enhancements:
Use Case: Administrator uninstalls a Data Manager
Actor: System Administrator
Description:
- Administrator deregisters a deployed Data Manager from the Broker
- Administrator removes the Data Manager from the container
Enhancements:
Generic functionality
SML and SML-IF validation support
Actor: any, including COSMOS framework
Description:
- SML validator implementation for validating SML and SML-IF documents
- SML-IF editor for importing and exporting SML documents from an SML repository
- SML representation of a simple Data Center repository
During the i9 iteration, the following changes should be applied to the existing code:
- Update SML and SML-IF validation to comply with the SML specification, last call version, to be published end of January 2008.
- Update Data Center definition and instances to comply with the new specification.
- Update any COSMOS framework that makes use of specific SML constructs, if any; SML repository API may be one target.
- Update SML-IF editor to match the new SML and SML-IF specification.
- Review the SML validator and make sure all parts of the SML and SML-IF specification are being addressed ( more testcases required to validate this )