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 Design 204959

Revision as of 15:30, 4 October 2007 by Amehrega.ca.ibm.com (Talk | contribs) (''' Purpose ''')

Provide reusable CMDBf APIs for adopters that intend to provide a CMDBf query service

Change History

Name: Date: Revised Sections:
Ali Mehregani 10/04/2007
  • Initial version

Workload Estimation

Rough workload estimate in person weeks
Process Sizing Names of people doing the work
Design 1 David/Ali
Code 2 David/Ali
Test 1 David/Ali
Documentation 0.4
Build and infrastructure 0.2
Code review, etc.* 0.2
TOTAL 4.8

Terminologies/Acronyms

The terminologies/acronyms below are commonly used throughout this document. The list below defines each term regarding how it is used in this document:

Term Definition
MDR management data repository
CMDBf specification for a CMDB that federates between multiple MDRs[1]
federating CMDB the CMDB that federates between MDRs, offering a common access point to clients and correlating identifying record data
CMDB configuration management database
SML Repository repository of SML documents hosted in COSMOS with an established API (see bugzilla 179828)
Query service MDRs make data available to Clients via a Query service. Queries may select and return items, relationships, and/or graphs containing items and relationships.

Purpose

The purpose of this enhancement is to refactor the CMDBf query code to make it more reusable. The SML repository already defines a set of APIs related to the CMDBf query. This set needs to be migrated to org.eclipse.cosmos.dc.cmdbf.query so that it can be reused by contributors who intend to provide a query service for a data provider.

This document will detail out the structure of the code and the minimum API set required to be implemented by contributors. The document will include code snippets to illustrate the simplicity in leveraging the available APIs. As part of the implementation of this enhancement the SML repository will be modified based on the refactored code. The set of classes provided in org.eclipse.cosmos.dc.cmdbf.query will be divided into two sets:

  1. CMDBfTransformation.jar
  2. CMDBfService.jar
The set included under CMDBfTransformation.jar will contain any necessary code for clients who intend to build a CMDBf query and consume a query response. It performs the following transformations:
  • CMDBf XML query document > POJO representation of the query
  • POJO representation of the query > CMDBf XML query document
  • CMDBf XML query response > POJO representation of the query repsonse
  • POJO representation of the query repsonse > CMDBf XML query response
Adopters can choose to use CMDBfTrasformation.jar as is or have it tweaked based on their needs. What will be included in this jar file will be a concrete implementation of the transformations.

CMDBfService.jar will contain the necessary code for processing a query that conforms to CMDBf. This set will allow the user to provide implementations of selector handlers that are specific to a data provider. This set cannot be used as-is. It will require an implementation of a minimum API set before it can be used. This jar file will be dependent on CMDBfTransformation.jar.

Requirements

Use Cases

Implementation Detail

Scope

Architecture

Test Coverage

Task Breakdown

Open Issues/Questions


Back to the top