Java CMIP High-level GDMO Manager API |
Overview | Classes | Examples | Standards | Related
The Java GDMO Manager API is a high-level manager role Java programming interface for accessing and manipulating remote managed object (MO) instances through CMIP. It provides a plethora of features and high-level API components which minimize the amount of application code required to perform complex managed object related operations.
GDMO Manager API Overview
Based upon the Telemanagement Forum's TMF 042 GDMO API standard, the Java GDMO Manager API provides the high-level components required to quickly and easily develop complex TMN manager applications with minimal effort. By concealing the CMIP messaging layer underneath a high-level managed object oriented interface, the GDMO manager API allows the user to concentrate on the GDMO managed object interactions and managed object data rather than worrying about the CMIP messaging details.
The Java GDMO Manager API has the following features:
- 100% Java (Java 2 SDK version 1.2 or greater)
- high-level API support for all CMIS services
- full CMIS scope and filter support
- managed object (MO) abstraction classes (MOHandles)
- high-level MO collection classes (MOHCollections)
- local caching of managed object attribute values
- notification based managed object attribute cache updates
- synchronous, asynchronous and pseudosynchronous API interfaces
- association management though naming service configurations
- listener based cache change and CMIS event delivery
- modeling of Managed Object (MO) relationships
- and much more ...
GDMO Manager API Classes
The Java GDMO Manager API provides 3 primary high-level classes which simply the task of operating on remote managed objects:
MOHandle
MOHCollectionByRule
MOHCollectionEnum
The MOHandle
represents an actual or potential
managed object instance in a remote CMIP agent. It provides a convenience
interface for easily performing CMIS operations on the underlying managed
object or for accessing attribute data from the MO instance.
The MOHandle
provides the following features:
- configurable local cache of MO attribute values
- supports all CMIS operations
- M-CREATE
- M-GET
- M-SET
- M-ACTION
- M-DELETE
- M-CANCEL-GET
- synchronous, asynchronous, and pseudosynchronous CMIS methods
- notification based attribute cache updates
- listener based cache change notifications
- listener CMIS notification delivery
- and much more ...
The MOHCollectionByRule
represents a group of
remote managed object instances which are related by a specific
CMIS scope and filter. At the API level, the
MOHCollectionByRule
contains a set of MOHandle
instances which represent the managed objects encompased by the
collection's scope and filter criteria.
The MOHCollectionByRule
provides the
following features:
- supports all CMIS scoped/filtered operations
- M-GET
- M-SET
- M-ACTION
- M-DELETE
- M-CANCEL-GET
- synchronous, asynchronous, and pseudosynchronous CMIS methods
- notification driven membership updates (
objectCreation
, etc) - listener based membership change notifications
- listener based member
MOHandle
event consolidation - easy to use
MOHandle
iterator interface - and much more ...
The MOHCollectionEnum
represents a group of
remote managed object instances where the collection membership is
defined by the API user through add(...)
and
remove(...)
methods. It provides a CMIS service interface
which allows the user to perform the same CMIS operation on all
managed objects in the collection. The MOHCollectionEnum
can be used to capture
a snapshot of another collection, to group a set of top-level
agent managed objects, or to maintain a set of disparate objects of
different object classes. At the API level, the
MOHCollectionEnum
contains a set of MOHandle
instances which represent the managed objects int the collection.
The MOHCollectionEnum
provides the
following features:
- supports all baseObject CMIS operations:
- M-CREATE
- M-GET
- M-SET
- M-ACTION
- M-DELETE
- M-CANCEL-GET
- synchronous, asynchronous, and pseudosynchronous CMIS methods
- API user driven membership updates (
add/remove
) - listener based membership change notifications
- listener based member MOHandle event consolidation
- easy to use MOHandle iterator interface
- and much more ...
For a complete set of API examples, API Javadoc, developer guides, agent simulators and much more, please download the DynamicTMN® CMIP Suite evaluation package.
GDMO Manager API Examples
Perhaps the best way to illustrate the high-level GDMO Manager API is through
an example. The following is an example demonstrating the use of the GDMO
manager API's MOHandle
class to
perform a CMIS M-GET of all attribute values from managedElement
object instance in a remote CMIS agent:
// -- create an MOHandle for a managedElement instance MOHandle moh = new MOHandle("/managedElementId='NE1000'"); // -- perform an M-GET of all attributes moh.performGet(); // -- print out ALL attributes System.out.println(moh); // -- print the administrativeState attribute System.out.println(moh.get("administrativeState"));
In addition to the MOHandle
, the API also provides classes for
working with groups of managed objects. The following example shows how to use
the MOHCollectionByRule
API class to perform a scoped
and filtered M-GET of equipment
objects in
a managedElement
.
// -- create an MOHCollectionByRule for all 'equipment' // -- MO instances contained by a 'managedElement' MOHCollectionByRule coll = new MOHCollectionByRule( "managedElement", // class "/managedElementId='NE1000'", // instance Scope.firstLevelOnly, // scope Filter.OnObjectClass("equipment"));// filter // -- perform a scoped/filter M-GET of all MOs coll.performGet(); // -- Get iterator to MOHandles retrieved MOHandle.Iterator iter = coll.getMOHandles(); while(iter.hasNext()) { MOHandle moh = iter.next(); // -- print the administrativeState attribute System.out.println(moh.get("administrativeState")); }
For a complete set of API examples, API Javadoc, developer guides, agent simulators and much more, please download the DynamicTMN® CMIP Suite evaluation package.
Supported Standards
The Java GDMO Manager API implements a portion of the components from the following standards in addition to the standards implemented by the underlying APIs it utilizes:
- ITU-T X.701: Systems Management Overview
- ITU-T X.710: Common Management Information Service (CMIS)
- ITU-T X.711: Common Management Information Protocol (CMIP)
- ITU-T X.720: Structure of Management Information (SMI)
- ITU-T X.721: Definition of Management Information (DMI)
- ITU-T X.722: Guidelines for the Definition of Managed Objects (GDMO)
- ITU-T X.723: Generic Management Function
- ITU-T X.725: General Relationship Model
- ITU-T X.730: Object Management Function
- ITU-T X.731: State Management Function
- ITU-T X.732: Attributes for Representing Relationships
- ITU-T X.733: Alarm Reporting Function
- ITU-T X.734: Event Report Management Function
- TMF 042: TMForum GDMO API
- RFC1006: OSI over TCPIP (CMIP/OSI over TCP/IP)
Note: These standards provide components implemented directly by the GDMO Manager API. The API will also support ANY technology specific standard (SONET,SDH,Trouble Admin, etc) or vendor proprietary GDMO and ASN.1 through the use of the ASN.1 and GDMO compiler.
Related DynamicTMN® Components
The Java GDMO Manager API uses the following DynamicTMN® Java APIs:
And is included in the following DynamicTMN® product: