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

Difference between revisions of "COSMOS Use Cases"

 
(Generic functionality)
 
(530 intermediate revisions by 19 users not shown)
Line 1: Line 1:
Here is the information on our use cases
+
[http://www.eclipse.org/cosmos/ COSMOS Project Home] >  [[COSMOS|COSMOS Wiki]] >  [[COSMOS_Documents|COSMOS Documents]] >
  
 +
= 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 dev process|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]]
 +
 +
[[Talk:COSMOS Use Cases|Comments are on the Talk page]]
 +
 +
= COSMOS Supported Use Cases for 1.1 =
 +
 +
In addition to the COSMOS 1.0 use cases, there will be a number of new use cases necessary for 1.1 development.  Please refer to the [[COSMOS Use Cases 1.1]] document for these new use cases.
 +
 +
= COSMOS Supported Use Cases for 1.0 =
 
* [[Use case actors]]
 
* [[Use case actors]]
* [[Monitoring User Interface use cases]]
+
* [[End-to-End use cases]] (out of date-->needs to be updated)
* [[Data collection and server use cases]]
+
 
* [[Build to Manage use cases]]
+
 
 +
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 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 ===
 +
 
 +
<font color="green">'''Complete - Bug fixes, JUnits and contextual help in i12.'''</font>
 +
 
 +
 
 +
Actor: Developer
 +
 
 +
Description: Developer uses COSMOS tooling to create a Data Manager. The purpose of this tooling is to facilitate COSMOS adoption.
 +
 +
# Developer generates a Data Manager or MDR in Eclipse using the tooling. The tooling will automate many of the manual tasks for setting up the Eclipse project. Both J2EE (Tomcat) and OSGi should be supported. If the MDR interface is selected, then the generated stubs include the MDR handlers<br/>Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=208274 208274 (i9)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=220593 220593 (future)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=220594 220594 (i11)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=237161 237161 (future)]
 +
# Developer customizes the generated interface implementation skeleton by adding code
 +
# Developer builds a package for the Data Manager (potentially with SDD)
 +
# Developer deploys the Data Manager package in a container<br/>Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=232161 232161 (future)]
 +
# Developer tests the Data Manager<br/>Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=220639 220639 (i10)]
 +
 
 +
----
 +
 
 +
=== Use Case: Construct an MDR from a product that exposes its data via ODBC or JDBC ===
 +
<font color="green">'''Complete - Bug fixes in i11.'''</font>
 +
 
 +
 
 +
* i10
 +
* This is the Aperi discussion
 +
 
 +
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.
 +
 
 +
# Developer uses an exemplar implementation of an MDR which is based on a relational database.
 +
# Developer utilizes reference implementations / guidelines for constructing this MDR.
 +
 
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=209987 209987 (i10)]
 +
----
 +
 
 +
=== Use Case: Register an MDR with the COSMOS framework ===
 +
<font color="green">'''Complete - Bug fixes in i11.'''</font>
 +
 
 +
* This use case is complete in M2
 +
* 211093 will be moved into a new use case and evaluated for i10.
 +
 
 +
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.
 +
 
 +
# 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 <br/> Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=200222 200222 (i7)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=204959 204959 (i7)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=208584 208584 (i8)]<br/> User Documentation: [[Providing a CMDBf Query and Registration Service]] <br/>
 +
# After a service implementation, an adopter can register the data store with COSMOS data broker. <br/> Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=197867 197867 (i6)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=192493 192493 (i6)]<br/>User Documentation: [[COSMOS Programming Model]] <br/>
 +
# Adopters can choose to provide customized visualizations/reports or use existing COSMOS views.  <br/> Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=206771 206771 (i7)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=208603 208603 (i8)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=208595 208595 (i8)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=211093 211093 (future)]<br/>
 +
----
 +
 
 +
=== Use Case: Register a NON-COSMOS MDR ===
 +
<b><font color="red">Not complete - target i11 (229795)</font></b>
 +
 
 +
Actor: System Administrator
 +
 
 +
Description: System Administrator needs to install a NON-COSMOS MDR into the COSMOS environment, including registration with the COSMOS Broker.
 +
# System Administrator installs the MDR according to its documentation
 +
# System Administrator obtains the MDR's WSDL and sends it into a COSMOS utility</br>
 +
Enhancements: TBD
 +
# 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)
 +
# 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
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=220949 Bug 220949 (i10)] MDRs need to accept vanilla web service requests
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=220952 Bug 220952 (i10)] Broker to manage MDRs that do not support WSA and WSRF
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=229795 Bug 229795 (i11)] CLI client: provide cmd line command to register individual services
 +
 
 +
----
 +
 
 +
=== Use Case: Query for a list of MDRs and their status===
 +
<b><font color="red">Not complete - Need to close on consumer requirements in this space. Mark and Paul will investigate and discuss at May 16 Summit. Tentative target: i12. Need an update here for June summit</font></b>
 +
 
 +
* We can query for the list, but we cannot reflect the status at this point.
 +
* We will break the status gathering into a separate use case.
 +
* Mark & Bill
 +
 
 +
Actor: System Administrator
 +
 
 +
Description:
 +
# System Administrator opens the COSMOS UI
 +
# System Administrator navigates to a view which displays all the Data Managers and the MDR's
 +
# Each MDR (and Data Manager) also denotes whether it is online or offline
 +
 
 +
Enhancements: TBD
 +
----
 +
 
 +
=== Use Case: Take an MDR "offline" or "online"===
 +
<b><font color="red">Not complete - Need to close on consumer requirements in this space. Mark and Paul will investigate and discuss at May 16 Summit. Tentative target: i12. Need an update for June summit</font></b>
 +
 
 +
 
 +
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.
 +
 
 +
# System Administrator opens the COSMOS UI, which displays all the data managers and MDR's
 +
# System Administrator selects the MDR she wishes to take offline (or online)
 +
# System Administrator updates the status of the MDR
 +
 +
Enhancements: TBD
 +
 +
----
 +
 
 +
=== Use Case: Submit a CMDBf query to an MDR ===
 +
<b><font color="red">Partially Complete</font></b>
 +
 
 +
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:
 +
#The end user opens the COSMOS UI and navigates to the MDR that has the information.
 +
#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.[https://bugs.eclipse.org/bugs/show_bug.cgi?id=214153 214153 (i10)]
 +
 
 +
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.  [https://bugs.eclipse.org/bugs/show_bug.cgi?id=214794 214794(19)]
 +
 
 +
Launching the COSMOS UI with a MDR query: [http://bugs.eclipse.org/236907 236907]
 +
----
 +
 
 +
=== Use Case: Manage CMDBf queries for a specific MDR ===
 +
<b><font color="red">Partial query management was done in i11.  Additional work required in i12 to complete this use case.</font></b>
 +
 
 +
Led by: Sheldon Lee-Loy
 +
 
 +
Description: 
 +
 
 +
The COSMOS Web UI provides an interface for end users to submit CMDBf queries to a specific MDR.  It is useful to save these queries so that they can be reused at a later time.  The end user would not need to recreate the query a the start of their session.  It would also be useful for the user to have the ability to organize these queries within the navigation tree.  This will allow end users to manage their queries.
 +
 
 +
The type of operations that are required for managing queries is as follows:
 +
# The user logs in.
 +
# The user creates the query and persists the query.
 +
# The user can delete the query from the navigation tree
 +
# The user can rename the query.
 +
# The user can copy the query.
 +
 
 +
Enhancements:
 +
 
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=223271 223271(i11)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=223270 223270(i11)]
 +
<font color="red">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=236670 236670 (i12?)]</font>
 +
 
 +
----
 +
 
 +
=== Use Case: Visualizing a CMDBf graph response from an MDR ===
 +
<b><font color="green">Completed basic part of this use case;</font></b>
 +
 
 +
 
 +
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. [https://bugs.eclipse.org/bugs/show_bug.cgi?id=214158 214158 (i10)]
 +
 
 +
 
 +
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. [https://bugs.eclipse.org/bugs/show_bug.cgi?id=214145 214145 (i9)]
 +
 
 +
Additional Record Types for the Graph Reponse Viewer [https://bugs.eclipse.org/bugs/show_bug.cgi?id=220334 220334 (i10)]
 +
 
 +
Improve the Graph Response Viewer View [https://bugs.eclipse.org/bugs/show_bug.cgi?id=224166 224166 (i11)]
 +
 
 +
Related Use Case:
 +
[http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Using_COSMOS_to_submit_queries_to_a_proprietary_data_store_with_operational_data Using COSMOS to submit queries to a proprietary data store with operational data]
 +
----
 +
 
 +
=== Use Case: Retrieve the metadata for an MDR ===
 +
* Complete in i11.  The current view is sufficient for our 0.9 release.
 +
* We will evaluate if we need a more usable view post 0.9 release.
 +
 
 +
 
 +
Actor: System Administrator
 +
 
 +
Description: The System Administrator wants to query the optional features, data model(s), or record types supported by an MDR.
 +
 
 +
# System Administrator opens the COSMOS UI
 +
# System Administrator navigates to a view which displays all the Data Managers and the MDR's
 +
# System Administrator selects an MDR, and selects '''Retrieve Service Metadata''' from the context menu
 +
# A view of the data retrieved from the MDR is displayed. 
 +
 
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=212185 212185 (i8)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=215521 215521 (i9)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=215123 215123 (i9)]
 +
----
 +
 
 +
=== Use Case: Configure an MDR ===
 +
 
 +
Actor: System Administrator
 +
 
 +
Description: There are cases where the user may provide configuration options for the MDR to carry out certain operations.  These options may include:
 +
 
 +
* Security credentials
 +
* SOAP version
 +
* Custom configuration properties.
 +
 
 +
There are two parts to this use case:
 +
# Provide the ability for an adopter to configure an MDR
 +
# Provide a service to allow client application to display these configuration information (i.e. meta data)
 +
 
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=234517 234517 (i12?)]
 +
Notes: What information should be displayed to the user? Should we append these additional meta data to the service meta data XML document.
 +
 
 +
== 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 ===
 +
<b><font color="red">Archived - No longer valid for COSMOS 1.0</font></b>
 +
* Link to [[COSMOS_Archived_Use_Cases| archive]]
 +
 
 +
----
 +
 
 +
=== Use Case: Using COSMOS to submit queries to a proprietary data store with operational data ===
 +
<b><font color="green">Complete</font></b>
 +
 
 +
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: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=208274 208274 (i9)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=192493 192493 (i6)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=197867 197867 (i6)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=208976 208976 (i7)],
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=208595 208595 (i8)]
 +
----
 +
 
 +
 
 +
 
 +
=== Use Case: Report generation for logging and statistical data ===
 +
<b><font color="green">Complete</font></b>
 +
 
 +
Description:  COSMOS includes two exemplary data managers that have a database containing 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: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=212187 212187 (i8)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=212189 212189 (i8)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=206772 206772 (i7 - Marked WONTFIX)]
 +
----
 +
 
 +
=== Use Case: Report generation based on CMDBf Constructs===
 +
<b><font color="red">A candidate enhancement for i12</font></b>
 +
 
 +
Description:  COSMOS includes a set of data managers that provides information on CIs (Aperi, Example MDR, Asset Repository).  A useful report should be created based on CIs. 
 +
 
 +
This will provide adopters with examplar reports that work off of CMDBf constructs and services. 
 +
* Provide a report that shows what query operations are available (Service Meta Data).
 +
* Provide a report that lists configuration items based on a query (Similar to the graph view but use BIRT to visualize CDMBf graph).
 +
** Shows how to create a custom report based on CMDBf graph construct.
 +
 
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=237655 237655 (i12)] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=230405 230405 (i12)]
 +
 
 +
----
 +
 
 +
=== Use Case: Logging in COSMOS  ===
 +
 
 +
<b><font color="green">Complete</font></b>
 +
 
 +
Description: COSMOS provides an error handling mechanism to allow internal components to log events that can be used for troubleshooting.
 +
 
 +
# Use log4j logging mechanism
 +
# Log entry format and location are configurable declaratively
 +
# Enable messages to be translated by externalize the strings in properties files
 +
# Message ID can be generated for log messages that follow a convention in the properties
 +
# Documented logging strategy at http://wiki.eclipse.org/COSMOS_Logging.
 +
 
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=229426 229426 (i11)]
 +
 
 +
----
 +
 
 +
=== Use Case: Use of notification events in a CMDBf environment  ===
 +
<b><font color="red">This is a valid use case; we whould consider implementing in COSMOS 1.0.  CA has an adopter for this use case now and this capabilitiy will facilitate adoption by one more team at CA.  If it is not containable, move to future. </font></b>
 +
 
 +
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: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=212293 212293 (future)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=204959 204959 (i7)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=208584 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:
 
* [[Resource Modeling use cases]]
 
* [[Resource Modeling use cases]]
 +
* [[Build to Manage use cases]]  (Needs to be cleaned up)
 +
 +
----
 +
 +
=== Use Case: Administrator installs the base COSMOS infrastructure ===
 +
<b><font color="green">Manual install steps complete in i9.</font><font color="red">SDD team working on install prototype for i11</font></b>
 +
 +
 +
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 container, which autostarts the Domain and Broker.
 +
# The Broker registers itself with the Domain
 +
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=209980 209980 (i9)]
 +
 +
----
 +
 +
=== Use Case: Administrator installs a Data Manager ===
 +
<b><font color="red">Manual steps documented and complete in i9</font></b>
 +
 +
<b><font color="red">What does this look like when you have an existing product.  This sounds like a composite install and may fit with SDD.  Can we do this in i10?</font></b>
 +
 +
<b><font color="red">215502 should be targeted to i10.  Need to have more detail and ensure the proper scope.
 +
218827 is a related bug to address in this work.
 +
</font></b>
 +
 +
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 Broker (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 ===
 +
<b><font color="red">Should be done in i10.  This use case needs to take into account how to "de-register" an MDR from a broker.</font></b>
 +
 +
 +
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 ===
 +
<b><font color="red">Should be done in i10.  This use case needs to take into account how to "de-register" an MDR from a broker.</font></b>
 +
 +
 +
Actor: System Administrator
 +
 +
Description:
 +
 +
# Administrator deregisters a deployed Data Manager from the Broker
 +
# Administrator removes the Data Manager from the container
 +
 +
Enhancements:
 +
 +
----
 +
 +
=== Use Case: Registering configuration items of an MDR with a federating CMDB ===
 +
<b><font color="green">Complete</font></b>
 +
 +
 +
 +
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:
 +
 +
<b>Registering all items of an MDR</b>
 +
 +
<b><font color="green">Complete</font></b>
 +
# User right clicks one or more MDR
 +
# User selects "Register Configuration Items" from the context menu
 +
# A dialog is displayed where the user will be able to select the federating CMDB that the items should be registered with
 +
# All items/relationships are registered and a view is displayed to indicated the ones that have been approved or rejected.
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=214672 214672 (i9)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=215267 215267 (i9)]
 +
 +
 +
<b>Selective registration of items </b>
 +
 +
<b><font color="green">Complete</font></b>
 +
# User right clicks an MDR
 +
# User selects "Query Data Repository" from the context menu
 +
# A wizard is displayed where the user will be able to specify the constraints and arguments of the query
 +
# The query is submitted and the results are returned in a tabular view
 +
# 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.
 +
# The selected items/relationships are registered and a view is displayed to indicate the ones that have been approved or rejected.
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=217303 217303 (i10)]
 +
 +
 +
----
 +
 +
=== Use Case: Deregistering configuration items of an MDR with a federating CMDB ===
 +
<b><font color="green">Complete</font></b>
 +
 +
 +
 +
Actor: System Administrator
 +
 +
Description:
 +
 +
This use case illustrates how the user will be able to either deregister all items/relationships or a selective items/relationships of an MDR with a federating CMDB.  See the steps below:
 +
 +
<b>Deregistering all items of an MDR</b>
 +
 +
<b><font color="green">Complete</font></b>
 +
# User right clicks on a federating CMDB and selects "Deregister Configuration Items"
 +
# The same dialog used for registration will appear with a check-box list of MDRs
 +
# User selects the MDRs that they wish to disassociate with a federating CMDB and selects "Deregister"
 +
# All registered items of the selected MDRs will be deregistered with the federating CMDB
 +
# A dialog will appear displaying the status of the deregistration process
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=214672 214672 (i9)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=215267 215267 (i9)]
 +
 +
 +
<b>Selective registration of items </b>
 +
 +
<b><font color="green">Complete</font></b>
 +
# User performs a CMDBf query on the federating CMDB
 +
# In the tabular view displaying the result of the query, the user will be able to select a set of items > right click > and select deregister.
 +
# The items are deregistered and the status is displayed to the user
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=217303 217303 (i10)]
 +
 +
 +
----
 +
 +
=== Security Specific Use Cases ===
 +
(led by Jimmy Mohsin)
 +
 +
Per http://wiki.eclipse.org/Use_case_actors, the Monitor Adminsitrator role is one of the two key kinds of actors in Eclipse COSMOS, the other being System Adminsitrator.  The Monitor Administrator is an Admin who is responsible for the installation, configuration, and operation of COSMOS.  Given this definition, the Monitor Administrator responsible for COSMOS Security.  The System Adminstrator is viewed as the the role that utilizes and accesses the MDRs.
 +
 +
Related components/technologies/standards:
 +
* WS-Security
 +
 +
----
 +
==== Use Case: User provides credentials for an MDR to COSMOS ====
 +
<b><font color="red">Completed i11. </font></b>
 +
 +
 +
Actor: COSMOS User
 +
 +
Description:
 +
 +
# User provides username/password to COSMOS client for specific MDR with the security mechanism
 +
# COSMOS client builds the appropriate security token/ticket and presents to the MDR requiring authentication
 +
# MDR decrypts the security token/ticket and validates user operation for the MDR.
 +
# Necessary credentials (username/password etc) passed to Data Source for access.
 +
# User does NOT need to reenter credentials for same MDR
 +
# User does need to provide credentials for each MDR requiring authentication 
 +
 +
Enhancements:
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=216332 216332 (i12)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=231400 231400 (i11)]
 +
 +
 +
----
 +
 +
==== Use Case: Wrap authentication returns from underlying repositories and surface them accordingly ====
 +
<b><font color="red">Related to the System Administrator Provides Credentials to COSMOS.  Complete ?</font></b>
 +
 +
 +
Actor: COSMOS
 +
 +
Description:
 +
 +
# Client provides invalid credentials  (username/password etc), or no credentials to MDR for access. 
 +
# MDR returns appropriate messaging back to client.
 +
 +
 +
Enhancements:
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=216332 216332 (i12)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=231400 231400 (i11)]
 +
----
 +
 +
==== Use Case: User inactivity timeout ====
 +
<b><font color="red">Related to the System Administrator Provides Credentials to COSMOS.  Future ? ?</font></b>
 +
 +
 +
Actor: COSMOS
 +
 +
Description:
 +
 +
# User provides username/password information to COSMOS client related to specific MDR.
 +
# User is not required to re-enter credentials for that MDR to COSMOS client within timeout period .
 +
# User is required to re-enter username/password to COSMOS client outide of timeout period
 +
 +
Enhancements:
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=216332 216332 (i12)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=231400 231400 (i11)]
 +
----
 +
 +
==== Use Case: Administrator grants / revokes access to an MDR for a User ====
 +
<b><font color="red">Target: Future. </font></b>
 +
 +
 +
Actor:  Administrator
 +
 +
Description:
 +
 +
# Administrator gets a request and relevant details to grant / revoke MDR access for a User
 +
# Administrator accesses security model to grant access to the (specific?) MDR for the specified User
 +
# Administrator notifies the User in regards to their access
 +
 +
Enhancements:
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=216332 216332 (i12)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=205863 205863 (future)]
 +
----
 +
==== Use Case: Setting Access levels for a user ====
 +
<b><font color="red">
 +
Target: Future
 +
</font></b>
 +
 +
Actor: Administrator
 +
 +
Description:
 +
 +
# Administrator gets a request and relevant details to set specific level of access within a given  MDR  for a User.
 +
# Administrator accesses security model to set level access to the MDR for the specified User
 +
# Administrator notifies the User in regards to their access
 +
 +
Enhancements:
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=216332 216332 (i12)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=205863 205863 (future)]
 +
 +
 +
----
 +
----
 +
 +
==== Use Case: MDR accesses Security Model for authentication/access level ====
 +
<b><font color="red">
 +
Target: Future
 +
</font></b>
 +
 +
Actor: COSMOS MDR
 +
 +
Description:
 +
 +
# Client sends a request to an MDR with a given user identity
 +
# MDR accesses security model to determine authentication and level of access to the Data Source for the specified User identity.
 +
# User information is encrypted
 +
# MDR applies appropriate restrictions based on user identity
 +
 +
Enhancements:
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=216332 216332 (i12)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=205863 205863 (future)]
 +
 +
==== Use Case: Specify Security Model on the Data Model, i.e. determine who can see which MDRs ====
 +
This is out of scope.  This falls under the purview of the Federating CMDB.
 +
 +
----
 +
 +
===I18n Specific Use Cases===
 +
 +
As detailed in the “Internationalization Support - programming model” [https://bugs.eclipse.org/bugs/show_bug.cgi?id=208593  ER 208593] COSMOS is required to provide the capability of making itself adaptable to the requirements of different native languages, local customs and coded character sets.
 +
The following use cases describe the requirements for functionality in the COSMOS  platform to support globalization. The goal is to make it possible to support delivery of applications which work properly in multiple locales with the lowest development and maintenance cost.
 +
----
 +
 +
====Use Case: Authoring of COSMOS Components for use in Non English Environment ====
 +
 +
Actor: COSMOS Developer
 +
 +
Description:
 +
 +
A COSMOS Developer needs to author a COSMOS Components eg) MDR, COSMOS UI, in a language besides English, and possibly a character set besides ISO-8859-1. This includes the operation of the COSMOS component itself, eg. logging/error messages, handling of dates/currency/numerics, Widget labels etc. as well as communications with other COSMOS components eg. Data Broker, Client API, MDR
 +
 +
The activities to perform localization work should be achievable without significant changes to code or functionality. Modifications to support a given locale should be limited to resource files, message catalogs and configuration entries
 +
 +
COSMOSUI Bug Ids [https://bugs.eclipse.org/bugs/show_bug.cgi?id=219806 219806 (i10)], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=219629 219629 (i10)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=219629 229820 (i11)]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=232090 232090 (i11)]
 +
 +
Enhancements: TBD
 +
 +
 +
<b><font color="red">Verification of non-localized strings should be part of the build process. Check to see if we have an enhancement open for this.</font></b>
 +
----
 +
 +
====Use Case: Process/Document for localization of COSMOS Components. ====
 +
<b><font color="red">Target i10</font></b>
 +
 +
 +
Actor: COSMOS Developer
 +
 +
Description:
 +
 +
The procedure required to perform localization work and the entities that contain localized entries must be documented in such a way that the scope and effort to perform the work can be quantified readily. Translations should be applicable to an identifiable set of files and modifiable by non technical resources.
 +
 +
Enhancements: TBD
 +
 +
<b><font color="red">
 +
This includes the set of work to identify all of the resources that should be translated.  We don't have a way to automatically "tag" or include an externalized file for translation.  It's not easy to derive this set.
 +
 +
 +
If you have a set of externalized files, how do you get them included in the build.
 +
</font></b>
 +
 +
 +
----
 +
 +
====Use Case: Operation of COSMOS Components in a mixed language environment ====
 +
<b><font color="red">Future</font></b>
 +
 +
Actor: COSMOS Developer
 +
 +
Description:
 +
 +
A Developer needs to author COSMOS Components which inter operate in multiple languages. Where a COSMOS implementation is deployed across geographical locations, components may not all be operating using the same locale. Eg) A COSMOS UI localized and operating within a German locale may communicate with an MDR localized for a doublebyte locale such as Chinese Mandarin.
 +
 +
Enhancements: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=232164 232164]
 +
----
 +
 +
 +
 +
== New Use Cases ==
 +
 +
'''These use cases for Discussion at COSMOS Summit 20th June,2008'''
 +
==== Use Case: Query for a list of MDR’s and their Meta Data ====
 +
 +
Description: Typically when an application makes use of COSMOS it will be looking for a certain type of data for which it has a requirement eg) asset data, performance data. Alternatively the application may require access to a Data Manager for a specific data source eg)Aperi
 +
 +
Whereas the COSMOS Broker carries basic information regarding the Data Managers that are known to COSMOS however this does not include Meta Data.
 +
 +
Currently for an application to ‘find’ a Data Manager that will serve up the correct type of data it is necessary to code a loop within the application to perform this task
 +
 +
# Get Data Manager from Broker
 +
# Get Meta Data from Data Manager
 +
# Check if correct type
 +
# if not goto 2
 +
 +
Whilst it is possible for each adopter to implement this functionality in their code, such a common task should be provided by COSMOS out of the box.
 +
 +
This functionality should not require that meta data be maintained in the broker, or any additional work for the broker itself.
 +
 +
The COSMOS adopter would use this feature thus:-
 +
 +
Application requires a full list of all Data Managers known to COSMOS with Meta Data
 +
# Application requires non specific data
 +
# Application calls webservice with no filter parameter
 +
# Webservice returns Data Manager EP’s and Meta Data for all Data Managers.
 +
 +
 +
Application requires general “storage” data.
 +
# Application requires data related to storage
 +
# Application calls webservice with parameter “storage*”
 +
# Webservice returns matching Data Manager EP’s and Meta Data
 +
 +
Application requires specific Aperi data
 +
 +
# Application requires data specific to Aperi
 +
# Application calls webservice with parameter “StoragePool” (or other specific Aperi recordtype)
 +
# Webservice returns Data Manager EP’s and Meta Data for Aperi Data Managers
 +
 +
Enhancements:  [https://bugs.eclipse.org/bugs/show_bug.cgi?id=231343 231343]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=235898 235898]
 +
----
 +
 +
== Work To Do ==
 +
 +
=== Carried over use cases ===
 +
'''High'''
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#SML_and_SML-IF_validation_support (Ali/David)
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Register_a_NON-COSMOS_MDR (Hubert)
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Registering_configuration_items_of_an_MDR_with_a_federating_CMDB (Bill/Sheldon/Ali)
 +
* New Use case: Add new use case to cover behavior for registration manager. (Ali/Bill)
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Create_a_Data_Manager (David/Hubert/Sheldon)
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Query_for_a_list_of_MDRs_and_their_status (Mark/Bill/Hubert)
 +
 +
 +
'''Medium'''
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Monitor_Admin_updates_the_Meta_Data_e.g._depth_level_for_an_MDR (visualization of metadata) (sheldon)
 +
* new Use Case: Define the logging use cases and prioritize these for i10. (MDR only. Martin)
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Construct_an_MDR_from_a_product_that_exposes_its_data_via_ODBC_or_JDBC (Bill/Mark/Hubert)
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Visualizing_a_CMDBf_graph_response_from_an_MDR (sheldon)
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Administrator_installs_a_Data_Manager  (218827 - medium, 215502 - low) (bill)
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Administrator_uninstalls_a_Data_Manager (bill)
 +
* New use case: "de-register" an MDR from a broker.  The MDR is still reachable, not shut down. THis is Broker API. (hubert)
 +
 +
'''Low'''
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Authoring_of_COSMOS_Components_for_use_in_Non_English_Environment
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Process.2FDocument_for_localization_of_COSMOS_Components.
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Take_an_MDR_.22offline.22_or_.22online.22
 +
* New use case: Administrator installs the base COSMOS infrastructure -- What SDD work will be in scope for i10?
 +
* New use case:  How do we allow the metadata to be updated. It is a valuable use case to facilitate the manipulation of this metadata. This should not be under the security section either. (Ali/Sheldon/Bill) (update of metadata)
 +
 +
 +
 +
'''Move To Post-1.0'''
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_System_Administrator_provides_credentials_for_an_MDR_to_COSMOS
 +
* http://wiki.eclipse.org/COSMOS_Use_Cases#Use_Case:_Wrap_returns_from_underlying_repositories_and_surface_them_accordingly
 +
 +
 +
 +
 +
 +
 +
 +
----
 +
 +
 +
[[Category:COSMOS Use Cases]]
 +
[[Category:SDD Tooling Use Cases]]

Latest revision as of 12:34, 1 April 2009

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 1.1

In addition to the COSMOS 1.0 use cases, there will be a number of new use cases necessary for 1.1 development. Please refer to the COSMOS Use Cases 1.1 document for these new use cases.

COSMOS Supported Use Cases for 1.0


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

Complete - Bug fixes, JUnits and contextual help in i12.


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 or MDR in Eclipse using the tooling. The tooling will automate many of the manual tasks for setting up the Eclipse project. Both J2EE (Tomcat) and OSGi should be supported. If the MDR interface is selected, then the generated stubs include the MDR handlers
    Enhancements: 208274 (i9), 220593 (future), 220594 (i11), 237161 (future)
  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
    Enhancements: 232161 (future)
  5. Developer tests the Data Manager
    Enhancements: 220639 (i10)

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

Complete - Bug fixes in i11.


  • i10
  • This is the Aperi discussion

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 (i10)


Use Case: Register an MDR with the COSMOS framework

Complete - Bug fixes in i11.

  • This use case is complete in M2
  • 211093 will be moved into a new use case and evaluated for i10.

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

Not complete - target i11 (229795)

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
  • Bug 220949 (i10) MDRs need to accept vanilla web service requests
  • Bug 220952 (i10) Broker to manage MDRs that do not support WSA and WSRF
  • Bug 229795 (i11) CLI client: provide cmd line command to register individual services

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

Not complete - Need to close on consumer requirements in this space. Mark and Paul will investigate and discuss at May 16 Summit. Tentative target: i12. Need an update here for June summit

  • We can query for the list, but we cannot reflect the status at this point.
  • We will break the status gathering into a separate use case.
  • Mark & Bill

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"

Not complete - Need to close on consumer requirements in this space. Mark and Paul will investigate and discuss at May 16 Summit. Tentative target: i12. Need an update for June summit


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

Partially Complete

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 (i10)

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. 214794(19)

Launching the COSMOS UI with a MDR query: 236907


Use Case: Manage CMDBf queries for a specific MDR

Partial query management was done in i11. Additional work required in i12 to complete this use case.

Led by: Sheldon Lee-Loy

Description:

The COSMOS Web UI provides an interface for end users to submit CMDBf queries to a specific MDR. It is useful to save these queries so that they can be reused at a later time. The end user would not need to recreate the query a the start of their session. It would also be useful for the user to have the ability to organize these queries within the navigation tree. This will allow end users to manage their queries.

The type of operations that are required for managing queries is as follows:

  1. The user logs in.
  2. The user creates the query and persists the query.
  3. The user can delete the query from the navigation tree
  4. The user can rename the query.
  5. The user can copy the query.

Enhancements:

223271(i11) 223270(i11) 236670 (i12?)


Use Case: Visualizing a CMDBf graph response from an MDR

Completed basic part of this use case;


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 (i10)


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)

Additional Record Types for the Graph Reponse Viewer 220334 (i10)

Improve the Graph Response Viewer View 224166 (i11)

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


Use Case: Retrieve the metadata for an MDR

  • Complete in i11. The current view is sufficient for our 0.9 release.
  • We will evaluate if we need a more usable view post 0.9 release.


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)


Use Case: Configure an MDR

Actor: System Administrator

Description: There are cases where the user may provide configuration options for the MDR to carry out certain operations. These options may include:

  • Security credentials
  • SOAP version
  • Custom configuration properties.

There are two parts to this use case:

  1. Provide the ability for an adopter to configure an MDR
  2. Provide a service to allow client application to display these configuration information (i.e. meta data)

Enhancements: 234517 (i12?) Notes: What information should be displayed to the user? Should we append these additional meta data to the service meta data XML document.

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

Archived - No longer valid for COSMOS 1.0


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

Complete

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 for logging and statistical data

Complete

Description: COSMOS includes two exemplary data managers that have a database containing 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: Report generation based on CMDBf Constructs

A candidate enhancement for i12

Description: COSMOS includes a set of data managers that provides information on CIs (Aperi, Example MDR, Asset Repository). A useful report should be created based on CIs.

This will provide adopters with examplar reports that work off of CMDBf constructs and services.

  • Provide a report that shows what query operations are available (Service Meta Data).
  • Provide a report that lists configuration items based on a query (Similar to the graph view but use BIRT to visualize CDMBf graph).
    • Shows how to create a custom report based on CMDBf graph construct.

Enhancements: 237655 (i12) 230405 (i12)


Use Case: Logging in COSMOS

Complete

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

  1. Use log4j logging mechanism
  2. Log entry format and location are configurable declaratively
  3. Enable messages to be translated by externalize the strings in properties files
  4. Message ID can be generated for log messages that follow a convention in the properties
  5. Documented logging strategy at http://wiki.eclipse.org/COSMOS_Logging.

Enhancements: 229426 (i11)


Use Case: Use of notification events in a CMDBf environment

This is a valid use case; we whould consider implementing in COSMOS 1.0. CA has an adopter for this use case now and this capabilitiy will facilitate adoption by one more team at CA. If it is not containable, move to future.

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

Manual install steps complete in i9.SDD team working on install prototype for i11


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

Manual steps documented and complete in i9

What does this look like when you have an existing product. This sounds like a composite install and may fit with SDD. Can we do this in i10?

215502 should be targeted to i10. Need to have more detail and ensure the proper scope. 218827 is a related bug to address in this work.

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

Should be done in i10. This use case needs to take into account how to "de-register" an MDR from a broker.


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

Should be done in i10. This use case needs to take into account how to "de-register" an MDR from a broker.


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

Complete


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

Complete

  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.

Enhancements: 214672 (i9), 215267 (i9)


Selective registration of items

Complete

  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: 217303 (i10)



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

Complete


Actor: System Administrator

Description:

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

Deregistering all items of an MDR

Complete

  1. User right clicks on a federating CMDB and selects "Deregister Configuration Items"
  2. The same dialog used for registration will appear with a check-box list of MDRs
  3. User selects the MDRs that they wish to disassociate with a federating CMDB and selects "Deregister"
  4. All registered items of the selected MDRs will be deregistered with the federating CMDB
  5. A dialog will appear displaying the status of the deregistration process

Enhancements: 214672 (i9), 215267 (i9)


Selective registration of items

Complete

  1. User performs a CMDBf query on the federating CMDB
  2. In the tabular view displaying the result of the query, the user will be able to select a set of items > right click > and select deregister.
  3. The items are deregistered and the status is displayed to the user

Enhancements: 217303 (i10)



Security Specific Use Cases

(led by Jimmy Mohsin)

Per http://wiki.eclipse.org/Use_case_actors, the Monitor Adminsitrator role is one of the two key kinds of actors in Eclipse COSMOS, the other being System Adminsitrator. The Monitor Administrator is an Admin who is responsible for the installation, configuration, and operation of COSMOS. Given this definition, the Monitor Administrator responsible for COSMOS Security. The System Adminstrator is viewed as the the role that utilizes and accesses the MDRs.

Related components/technologies/standards:

  • WS-Security

Use Case: User provides credentials for an MDR to COSMOS

Completed i11.


Actor: COSMOS User

Description:

  1. User provides username/password to COSMOS client for specific MDR with the security mechanism
  2. COSMOS client builds the appropriate security token/ticket and presents to the MDR requiring authentication
  3. MDR decrypts the security token/ticket and validates user operation for the MDR.
  4. Necessary credentials (username/password etc) passed to Data Source for access.
  5. User does NOT need to reenter credentials for same MDR
  6. User does need to provide credentials for each MDR requiring authentication

Enhancements: 216332 (i12) 231400 (i11)



Use Case: Wrap authentication returns from underlying repositories and surface them accordingly

Related to the System Administrator Provides Credentials to COSMOS. Complete ?


Actor: COSMOS

Description:

  1. Client provides invalid credentials (username/password etc), or no credentials to MDR for access.
  2. MDR returns appropriate messaging back to client.


Enhancements: 216332 (i12) 231400 (i11)


Use Case: User inactivity timeout

Related to the System Administrator Provides Credentials to COSMOS. Future ? ?


Actor: COSMOS

Description:

  1. User provides username/password information to COSMOS client related to specific MDR.
  2. User is not required to re-enter credentials for that MDR to COSMOS client within timeout period .
  3. User is required to re-enter username/password to COSMOS client outide of timeout period

Enhancements: 216332 (i12) 231400 (i11)


Use Case: Administrator grants / revokes access to an MDR for a User

Target: Future.


Actor: Administrator

Description:

  1. Administrator gets a request and relevant details to grant / revoke MDR access for a User
  2. Administrator accesses security model to grant access to the (specific?) MDR for the specified User
  3. Administrator notifies the User in regards to their access

Enhancements: 216332 (i12) 205863 (future)


Use Case: Setting Access levels for a user

Target: Future

Actor: Administrator

Description:

  1. Administrator gets a request and relevant details to set specific level of access within a given MDR for a User.
  2. Administrator accesses security model to set level access to the MDR for the specified User
  3. Administrator notifies the User in regards to their access

Enhancements: 216332 (i12) 205863 (future)




Use Case: MDR accesses Security Model for authentication/access level

Target: Future

Actor: COSMOS MDR

Description:

  1. Client sends a request to an MDR with a given user identity
  2. MDR accesses security model to determine authentication and level of access to the Data Source for the specified User identity.
  3. User information is encrypted
  4. MDR applies appropriate restrictions based on user identity

Enhancements: 216332 (i12) 205863 (future)

Use Case: Specify Security Model on the Data Model, i.e. determine who can see which MDRs

This is out of scope. This falls under the purview of the Federating CMDB.


I18n Specific Use Cases

As detailed in the “Internationalization Support - programming model” ER 208593 COSMOS is required to provide the capability of making itself adaptable to the requirements of different native languages, local customs and coded character sets. The following use cases describe the requirements for functionality in the COSMOS platform to support globalization. The goal is to make it possible to support delivery of applications which work properly in multiple locales with the lowest development and maintenance cost.


Use Case: Authoring of COSMOS Components for use in Non English Environment

Actor: COSMOS Developer

Description:

A COSMOS Developer needs to author a COSMOS Components eg) MDR, COSMOS UI, in a language besides English, and possibly a character set besides ISO-8859-1. This includes the operation of the COSMOS component itself, eg. logging/error messages, handling of dates/currency/numerics, Widget labels etc. as well as communications with other COSMOS components eg. Data Broker, Client API, MDR

The activities to perform localization work should be achievable without significant changes to code or functionality. Modifications to support a given locale should be limited to resource files, message catalogs and configuration entries

COSMOSUI Bug Ids 219806 (i10), 219629 (i10) 229820 (i11) 232090 (i11)

Enhancements: TBD


Verification of non-localized strings should be part of the build process. Check to see if we have an enhancement open for this.


Use Case: Process/Document for localization of COSMOS Components.

Target i10


Actor: COSMOS Developer

Description:

The procedure required to perform localization work and the entities that contain localized entries must be documented in such a way that the scope and effort to perform the work can be quantified readily. Translations should be applicable to an identifiable set of files and modifiable by non technical resources.

Enhancements: TBD

This includes the set of work to identify all of the resources that should be translated. We don't have a way to automatically "tag" or include an externalized file for translation. It's not easy to derive this set.


If you have a set of externalized files, how do you get them included in the build.



Use Case: Operation of COSMOS Components in a mixed language environment

Future

Actor: COSMOS Developer

Description:

A Developer needs to author COSMOS Components which inter operate in multiple languages. Where a COSMOS implementation is deployed across geographical locations, components may not all be operating using the same locale. Eg) A COSMOS UI localized and operating within a German locale may communicate with an MDR localized for a doublebyte locale such as Chinese Mandarin.

Enhancements: 232164



New Use Cases

These use cases for Discussion at COSMOS Summit 20th June,2008

Use Case: Query for a list of MDR’s and their Meta Data

Description: Typically when an application makes use of COSMOS it will be looking for a certain type of data for which it has a requirement eg) asset data, performance data. Alternatively the application may require access to a Data Manager for a specific data source eg)Aperi

Whereas the COSMOS Broker carries basic information regarding the Data Managers that are known to COSMOS however this does not include Meta Data.

Currently for an application to ‘find’ a Data Manager that will serve up the correct type of data it is necessary to code a loop within the application to perform this task

  1. Get Data Manager from Broker
  2. Get Meta Data from Data Manager
  3. Check if correct type
  4. if not goto 2

Whilst it is possible for each adopter to implement this functionality in their code, such a common task should be provided by COSMOS out of the box.

This functionality should not require that meta data be maintained in the broker, or any additional work for the broker itself.

The COSMOS adopter would use this feature thus:-

Application requires a full list of all Data Managers known to COSMOS with Meta Data

  1. Application requires non specific data
  2. Application calls webservice with no filter parameter
  3. Webservice returns Data Manager EP’s and Meta Data for all Data Managers.


Application requires general “storage” data.

  1. Application requires data related to storage
  2. Application calls webservice with parameter “storage*”
  3. Webservice returns matching Data Manager EP’s and Meta Data

Application requires specific Aperi data

  1. Application requires data specific to Aperi
  2. Application calls webservice with parameter “StoragePool” (or other specific Aperi recordtype)
  3. Webservice returns Data Manager EP’s and Meta Data for Aperi Data Managers

Enhancements: 231343 235898


Work To Do

Carried over use cases

High


Medium

Low


Move To Post-1.0





Back to the top