Pricing      Download   
MENU 
 Home Products About Support Contact
 

Overview | Classes | Examples | Standards | Related

The Java CMIS Messaging API includes a complete set of Common Management Information Service (CMIS) oriented communication and messaging classes for sending and receiving Common Management Information Protocol (CMIP) messages.

 

CMIS Messaging API Overview

The Java CMIS Messaging API provides high-level classes for the complete set of CMIS messages and CMIP parameter types as defined in the ITU standards. The API also defines a set of communications and association management classes which simplify the development of CMIS level manager and agent applications. The primary API features include:

  • an easy to use CMIS service level messaging API
  • support for both CMIS manager and agent development
  • support for all standard CMIS messages
  • support for listener based CMIS notification dispatching
  • support for listener based CMIS indication dispatching
  • support for pending requests for response processing
  • fully configurable message processing (queueing, threading)
  • a completed set of CMIS message classes
  • all standard CMIP parameter classes
  • transport independent association classes
  • manager role naming service for association management
  • easily extensible to add custom protocol tranport providers
  • simplified object naming syntax (ex: "/managedElementId=191")
 

CMIS Messaging API Classes

The Java CMIS Messaging API service message classes correspond to the different CMIS services defined in the Common Management Information Service ITU standard (X.710). For example, some of the Java CMIS message classes are:

   M_GET_Req      : M-GET Request
   M_GET_Ind      : M-GET Indication
   M_GET_Cnf      : M-GET Confirmation
   M_GET_Rsp      : M-GET Response

   M_SET_Req      : M-SET Request
   M_SET_Ind      : M-SET Indication
   M_SET_Cnf      : M-SET Confirmation
   M_SET_Rsp      : M-SET Response

   ... and so on for M-CREATE, M-DELETE, M-ACTION, 
   ... M-EVENT-REPORT and M-CANCEL-GET
   

In addition to the message classes, the CMIS Messaging API provides high-level parameter and error classes for the CMIP datatypes defined in the Common Management Information Protocol ITU standard (X.710). Some of the parameter and error classes are:

   ObjectClass           AttributeId 
   ObjectInstance        EventTypeId
   Scope                 ActionTypeId
   Filter                Attribute
   Mode                  Modification
   AttributeList         GetListError
   Sync                  SetListError
   

And finally, the API includes high-level CMIS communications classes for managing associations with remote agents and handling messages sent and received by your application. These communications classes are listed below:

   AgentHandle             : handle to a remote agent
   Assocation              : association with remote entity
   AE                      : local application entity
   CMISE                   : CMIS messing 'sending' interface
   Notification            : incoming notification
   NotificationListener    : CMIS event listener
   IndicationListener      : CMIS indication listener
   M_GET_PendingIndication : represents uncompleted indication
   M_GET_PendingRequest    : represents outstanding request

   ... and so on for the other CMIS services
   

For a complete set of API Javadoc, developer guides, agent simulators and much more, please click here to download the DynamicTMN® CMIP Suite evaluation package.

 

CMIS Messaging API Examples

The following example demonstrates the use of the CMIS Messaging API to create an association, send an M-GET request, receive the M-GET response, and view the results:


      // -- create an M-GET request to retrieve 2
      // -- attributes from the specified network element
      // --
      M_GET_Req req = new M_GET_Req("managedElement", 
                                    "/managedElementId=1");
      req.addAttrid("locationName");
      req.addAttrid("administrativeState");

      // -- get the AgentHandle from the API's naming service
      // -- for the remote agent based on the object instance
      // --
      NamingService nameserv   = TMNFramework.GetNamingService();
      AgentHandle agent_handle = 
                  nameserv.getAgentHandle(req.getObjectInstance());

      // -- create and return association to the agent
      // --
      Association assoc = agent_handle.getValidAssociation();

      // --  send the M-GET request to the agent
      // --
      M_GET_PendingRequest pr = assoc.cmise().send(req, 10);

      // --  block awaiting the M-GET confirmation (response)
      // --
      M_GET_Cnf cnf = pr.cnf();


      if ( ! (cnf.isError() || cnf.isReject()) )
      {
         Attribute.Iterator iter = cnf.getAttributes();
         while(iter.hasNext())
         {
            Attribute attr = iter.next();

             AttributeId  id = attr.getAttributeId(); 
             AbstractData val = attr.getAttributeValue(); 
             System.out.println("(" + id + " = " + val + ")");
        }
      }
      else
      {
         System.out.println("error: " + cnf);
      }

   

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 CMIS Messaging API implements the following standards:

  • TMF 041: Based on the TMForum CMIS API Standard
  • ITU-T X.219: Remote Operations (ROSE) Service Definition
  • ITU-T X.229: Remote Operations (ROSE) Protocol
  • ITU-T X.710: Common Management Information Service (CMIS)
  • ITU-T X.711: Common Management Information Protocol (CMIP)
  • RFC1006: OSI over TCPIP (CMIP over TCPIP)
 

Related DynamicTMN® Components

The Java CMIS Messaging API uses the following Java APIs:

Is used by the following DynamicTMN® Java APIs:

And is included in the following DynamicTMN® products: