Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

COSMOS Use Cases

Revision as of 02:54, 18 January 2008 by Jim.gyng.com (Talk | contribs) (Monitor Administrator grants / revokes access to an MDR for a Software Developer role)

COSMOS Project Home > COSMOS Wiki > COSMOS Documents >

Contents

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

Comments are on the Talk page

COSMOS Supported Use Cases for M2


The existing links are, in many cases quite old. Now that we have a tangible release plan, the purpose of this page is to:

  1. Consolidate all the existing links related to use cases onto a single page
  2. Sunset all of the old wiki pages
  3. Consolidate the use case information for M2 onto this page
  4. 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
  5. 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 Mohsin)

Related components/technologies/standards:

  • CMDBf
  • MDR

The following document outlines COSMOS commitment to the CMDBf standard: Leveraging CMDBf


Use Case: Create a Data Manager

Actor: Developer

Description: Developer uses COSMOS tooling to create a Data Manager. The purpose of this tooling is to facilitate COSMOS adoption.

  1. Developer generates a Data Manager bundle in Eclipse using the tooling (File->New->COSMOS Data Manager). The input to the tool includes the Data Manager name and the supported interfaces (ie: CBE, Statistical, MDR, SNMP with MIB2, etc). The 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
    Enhancements: 208274 (i9)
  2. Developer customizes the generated interface implementation skeleton by adding code
  3. Developer builds a package for the Data Manager (potentially with SDD)
  4. Developer deploys the Data Manager package in a container
  5. Developer tests the Data Manager

Use Case: Construct an MDR from a product that exposes its data via ODBC or JDBC

Actor: Developer

Description: Developer has an existing product that merely has a ODBC / JDBC interface. This product does not have a well-formed Data Adapter or Data Manager. This is a very relevant use case since many older products are fall into this category and do not have a Data Adapter of any kind.

  1. Developer uses an exemplar implementation of an MDR which is based on a relational database.
  2. Developer utilizes reference implementations / guidelines for constructing this MDR.

Enhancements: 209987 (i9)


Use Case: Register an MDR with the COSMOS framework

Actor: System Administrator

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.

  1. 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 (i7), 204959 (i7), 208584 (i8)
    User Documentation: Providing a CMDBf Query and Registration Service
  2. After a service implementation, an adopter can register the data store with COSMOS data broker.
    Enhancements: 197867 (i6), 192493 (i6)
    User Documentation: COSMOS Programming Model
  3. Adopters can choose to provide customized visualizations/reports or use existing COSMOS views.
    Enhancements: 206771 (i7), 208603 (i8), 208595 (i8), 211093 (future)

Use Case: Register a NON-COSMOS MDR

Actor: System Administrator

Description: System Administrator needs to install a NON-COSMOS MDR into the COSMOS environment, including registration with the COSMOS Broker.

  1. System Administrator installs the MDR according to its documentation
  2. System Administrator obtains the MDR's WSDL and sends it into a COSMOS utility</br>

Enhancements: TBD

  1. The COSMOS utility extracts the CMDBf metadata from the WSDL, locates the Broker thru the Domain, and registers the MDR with the Broker (using the information from the metadata)
  2. At this point, the COSMOS client can locate the NON-COSMOS MDR thru the Broker and access it's CMDBf query interface. If the MDR supported a known record type, then the COSMOS visualization can display the items.</br>

Enhancements:

  • Create/update cmdbf client to handle cmdbf metadata

Use Case: Query for a list of MDRs and their status

Actor: System Administrator

Description:

  1. System Administrator opens the COSMOS UI
  2. System Administrator navigates to a view which displays all the Data Managers and the MDR's
  3. Each MDR (and Data Manager) also denotes whether it is online or offline

Enhancements: TBD


Use Case: Take an MDR "offline" or "online"

Actor: System Administrator

Description: The System Administrator wants to take an MDR "offline", perhaps for maintenance or for any other reason. Alternatively, she may wish to bring the MDR back online.

  1. System Administrator opens the COSMOS UI, which displays all the data managers and MDR's
  2. System Administrator selects the MDR she wishes to take offline (or online)
  3. System Administrator updates the status of the MDR

Enhancements: TBD


Use Case: Submit a CMDBf query to an MDR

Led by: Sheldon Lee-Loy

Description:

End users want to answer system management questions by querying information found in an MDR. Here are some example questions:

  • How many users are logged into the network?
  • How long was user X logged into computer Y on Date Z?
  • What is the operational status of computer Y?

The following are the steps the end user will undergo to submit their question:

  1. The end user opens the COSMOS UI and navigates to the MDR that has the information.
  2. The end user will open up some form of wizard or dialog box where they would enter parameters to their query.

Enhancements:

As a result the COSMOS UI should provide hooks for adopters to contribute wizards/dialog boxes. These wizards/dialog boxes provide users a means to construct queries without understanding the query language syntax.214153 (i9)

A generic query builder would be useful in this use case for users familiar with the CMDBf specification. This generic cmdbf query builder will allow end users to construct queries via a user interface rather than dealing with xml syntax. Validation and correctness is improved when using a user interface catered towards the CMDBf query schema. 214143 (future)


Use Case: Visualizing a CMDBf graph response from an MDR

Led by: Sheldon Lee-Loy

Description:

This use case continues off from "Submit a CMDBf query to an MDR" use case. At this point the end user has submitted a query and wants to understand the response received from the query. There are countless ways to organize and visualize the data so that the the end user can make sense of the data. Furthermore, there can be multiple views of the data. For example, one view of the response may be significant for business-users while another view may be significant for system administrators. Therefore views can be user context sensitive.

Enhancements:

As a result the COSMOS UI should provide hooks for adopters to contribute custom visualizations. 214158 (future)

A generic query response view would be useful in this use case for users familiar with the CMDBf specification. This generic CMDBf query builder will allow end users to view CMDBf graph response. 214145 (i9)

Related Use Case: Using COSMOS to submit queries to a proprietary data store with operational data


Use Case: Retrieve the metadata for an MDR

Actor: System Administrator

Description: The System Administrator wants to query the optional features, data model(s), or record types supported by an MDR.

  1. System Administrator opens the COSMOS UI
  2. System Administrator navigates to a view which displays all the Data Managers and the MDR's
  3. System Administrator selects an MDR, and selects Retrieve Service Metadata from the context menu
  4. A view of the data retrieved from the MDR is displayed.

Enhancements: 212185 (i8), 215521 (i9), 215123 (i9)



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

Dependent on enhancement moved to future. This is no longer i9/M2


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.

  1. Client contacts the management domain
  2. 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
  3. Using the end point reference of the notification broker, the client queries for topics published by notification producers using WS-Resource Properties.
  4. 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.

Enhancements: 197868 (i6), 212293 (future)


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.

  1. Adopter registers the data store as a data manager
  2. Adopter extends the COSMOS client to provide customized action on the newly added data manager
  3. 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 (i9), 192493 (i6), 197867 (i6), 208976 (i7), 208595 (i8)


Use Case: Report generation on incidents

Dependent on enhancement moved to future. This is no longer i9/M2


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.

  1. The user opens the COSMOS client and discovers the incident manager in the navigator
  2. 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.
  3. 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.
  4. The user can also generate overall reports by selecting the incident manager instead of an individual configuration item

Enhancements: 212293 (future), 212297 (future), 209990 (future)


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

  1. If installed properly, the logging and statistical data managers will be displayed in COSMOS client
  2. 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 (i8), 212189 (i8), 206772 (i7 - Marked WONTFIX)


Use Case: Generation and consumption of internal COSMOS errors

Dependent on enhancement moved to future. This is no longer i9/M2


Description: COSMOS provides an error handling mechanism to allow internal components to log events that can be used for troubleshooting.

  1. Internal components can use the notification broker to produce events as a result of internal errors
  2. The event generated via the notification broker will be persisted by the incident manager
  3. Alternatively, an internal component can use the error handling mechanism to log events to a local file

Enhancements: 209224 (i8), 209223 (i8)


Use Case: Use of notification events in a CMDBf environment

Dependent on enhancement moved to future. This is no longer i9/M2


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.

  1. An MDR publishes a topic to the notification broker based on item/relationship updates
  2. An MDR registers an item with a federating CMDB
  3. Before accepting the registration, the federating CMDB subscribes to the topic for status updates on the MDR data
  4. The item is accepted with a positive registration response
  5. 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 (future), 204959 (i7), 208584 (i8)


Setup & Configuration

(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:


Use Case: Administrator installs the base COSMOS infrastructure

Actor: System Administrator

Description:

  1. Administrator installs the COSMOS Domain and Broker in containers (using SDD?)
  2. Administrator configures the Broker with the Domain
  3. Administrator starts the container, which autostarts the Domain and Broker.
  4. The Broker registers itself with the Domain

Enhancements: 209980 (i9)


Use Case: Administrator installs a Data Manager

Actor: System Administrator

Description:

  1. Administrator installs a Data Manager package in a container
  2. If the Data Manager is a COSMOS MDR, then the adminstrator configures the MDR with the Domain
  3. If the Data Manager is NOT a COSMOS MDR, then the adminstrator manually configures the MDR with the Broker (using a command line or UI)
  4. Administrator starts the container
  5. 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:

  1. Administrator deregisters a deployed Data Manager from the Broker
  2. Administrator installs (upgrades) the new Data Manager package into the container
  3. Administrator starts the new Data Manager

Enhancements:


Use Case: Administrator uninstalls a Data Manager

Actor: System Administrator

Description:

  1. Administrator deregisters a deployed Data Manager from the Broker
  2. Administrator removes the Data Manager from the container

Enhancements:


Use Case: Registering configuration items of an MDR with a federating CMDB

Actor: System Administrator

Description:

This use case illustrates how the user will be able to either register all items/relationships or a selective items/relationships of an MDR with a federating CMDB. See the steps below:

Registering all items of an MDR

  1. User right clicks one or more MDR
  2. User selects "Register Configuration Items" from the context menu
  3. A dialog is displayed where the user will be able to select the federating CMDB that the items should be registered with
  4. All items/relationships are registered and a view is displayed to indicated the ones that have been approved or rejected.

Selective registration of items

  1. User right clicks an MDR
  2. User selects "Query Data Repository" from the context menu
  3. A wizard is displayed where the user will be able to specify the constraints and arguments of the query
  4. The query is submitted and the results are returned in a tabular view
  5. The user will be able to drag and drop a set of items/relationships from the result view to a federating CMDB. Alternatively the user can drag and drop the query tree item that appears in the left panel to register all items/relationships of the query with a federating CMDB.
  6. The selected items/relationships are registered and a view is displayed to indicate the ones that have been approved or rejected.

Enhancements: 214672 (i9), 215267 (i9)


Security Specific Use Cases

(led by Jimmy Mohsin)

Per http://wiki.eclipse.org/Use_case_actors, the Software Developer role is one of the two key kinds of actors in Eclipse COSMOS, the other being Admin. The Monitor Adminstrator is an Admin who is responsible for the installation, configuration, and operation of COSMOS. Given this definition, the Monitor Adminstrator will configure COSMOS Security.

Traditionally, the Security Administrator owns Security; however, per the Use Case Actors page referenced above, the role of Security Adminstrator does not exist in COSMOS yet.

Related components/technologies/standards:

  • WS-Security

Use Case: Monitor Administrator creates / deletes a user with Software Developer role

Actor: Monitor Administrator

Description:

  1. Monitor Administrator gets a request and relevant details to create / delete a user with Software Developer role
  2. Monitor Administrator accesses the relevant UI and fills in the data pertaining to the new user and assigns them the Software Developer role
  3. Monitor Administrator notifies the Software Developer in regards to their credentials, in case of a new account creation

Enhancements: 209337 (i8) 205863 (i9)


Monitor Administrator creates / deletes a user with Admin role

Actor: Monitor Administrator

Description:

  1. Monitor Administrator gets a request and relevant details to create / delete a user with Admin role
  2. Monitor Administrator accesses the relevant UI and fills in the data pertaining to the new user and assigns them the Admin role
  3. Monitor Administrator notifies the Admin in regards to their credentials, in case of a new account creation

Enhancements: 209337 (i8) 205863 (i9)


Monitor Administrator grants / revokes access to an MDR for a Software Developer role

Actor: Monitor Administrator

Description:

  1. Monitor Administrator gets a request and relevant details to grant / revoke access to an MDR for a specified user
  2. Monitor Administrator accesses the relevant UI and adds / removes access to the specified MDR for the user in question
  3. Monitor Administrator notifies the user in regards to their updated MDR access

Enhancements: 209337 (i8) 205863 (i9)


Admin or Software Developer changes password

Actor: Admin or Software Developer

Description:

  1. User logs into their account
  2. User navigates to the change password UI
  3. User updates their password

Enhancements: 209337 (i8) 205863 (i9)


Generic functionality

SML and SML-IF validation support

Actor: web developer, Eclipse developer, COSMOS framework

Description:

  1. SML validator implementation for validating SML and SML-IF documents
    1. A web developer builds an xml set of documents that conform with the SML specification. He needs a validator to validate the xml documents. He then goes to the COSMOS web page and downloads the package containing the SML validator. Since this validator is rather small, under 1M, and not related to the COSMOS management framework, it is important to be able to download it separate from the COSMOS framework. The user validates the files by running a set of SML validation API's provided by COSMOS.
    2. An Eclipse user builds SML documents. He needs a validator to validate these documents. He then points to the Update Manager site and tries to install the SML validator feature offered by COSMOS. This user will also require Eclipse based actions that integrate with the Eclipse framework : Validate SML popup action on an SML file, list of files or folder. The user can exchange data by running Export, Import to SMLIF actions on a set of SML documents.
    3. The COSMOS framework will exchange SML documents, packaged or not in an SML-IF envelope. This information may need to be validated, in which case the SML validation tool will be used. Depending on the location where data is validated, the COSMOS framework may require the validator to be run in or outside of the Eclipse framework.
  1. SML-IF editor for importing and exporting SML documents from an SML repository
    1. A web developer builds an SML repository. He needs to exchange these documents with other repositories. He then goes to the COSMOS web page and downloads the package containing the SML-IF import/export API's. Since SML-IF package is rather small, under 1M, and not related to the COSMOS management framework, it is important to be able to download it separate from the COSMOS framework. The user exports and imports SML documents by running a set of SML validation API's provided by COSMOS. The SML-IF editor, which is Eclipse based, will not be used here.
    2. An Eclipse user builds an SML repository. He needs to exchange these documents with other repositories. He then points to the Update Manager site and tries to install the SML-IF feature offered by COSMOS. This user will also require the SML-IF editor.
    3. The COSMOS framework will exchange SML documents, packaged in an SML-IF envelope. It will use a set of API's to import and export to SML-IF. The SML-IF editor will not be used here.
  2. SML representation of a simple Data Center repository
    1. COSMOS framework may use this to define a common taxonomy for exchanged data.
    2. An end user may need this to play with SML and SML-IF structures.

During the i9 iteration, the following changes should be applied to the existing code:

  1. Update SML and SML-IF validation to comply with the SML specification, last call version, to be published end of January 2008.
  2. Update Data Center definition and instances to comply with the new specification.
  3. Update any COSMOS framework that makes use of specific SML constructs, if any; SML repository API may be one target.
  4. Update SML-IF editor to match the new SML and SML-IF specification.
  5. 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 )

Enhancements: 205825 (i9), 205826 (i9)

Back to the top