Pricing      Download   
MENU 
 Home Products About Support Contact
 

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: