XmlBlaster Logo

REQUIREMENT

interface

XmlBlaster Logo


Type NEW
Priority HIGH
Status CLOSED
Topic XmlBlaster supports a small number of generic methods for remote access
Des
cription

You can access XmlBlaster through its interfaces. There are only a small number of methods to do all MoM activities. The methods have generic XML based arguments to avoid client/server conflicts between different versions.

Note that this is a remote interface, accessible from clients in any programming language and at any geographical location. This is different to JMS (Java message service) where the specification defines the client side Java API.

Following methods are supported (CORBA IDL notation), at the bottom of this page you find links to requirements which describe them in detail:


   typedef string XmlType;
   typedef sequence<XmlType> XmlTypeArr;

   typedef sequence<octet> ContentType;
   typedef sequence<string> StringArr;
   typedef string ExceptionIdType;

   // This contains all informations about a Message and the Message itself.
   struct MessageUnit {
      XmlType xmlKey;
      ContentType content;
      XmlType qos;
   };
   typedef sequence<MessageUnit> MsgUnitArr;


   exception XmlBlasterException
   {
      ExceptionIdType id;  // unique error code: "Modulname.ReasonID"
      string reason;
   };


   // Server side methods:

   XmlType subscribe(in XmlType xmlKey, in XmlType qos)
                                          raises(XmlBlasterException);

   MessageUnitArr get(in XmlType xmlKey, in XmlType qos)
                                          raises(XmlBlasterException);

   void unSubscribe(in XmlType xmlKey, in XmlType qos)
                                          raises(XmlBlasterException);

   XmlType publish(in MessageUnit msgUnit)
                                          raises(XmlBlasterException);

   StringArr publishArr(in MessageUnitArr msgUnitArr)
                                          raises(XmlBlasterException);

   oneway void publishOneway(in MessageUnitArr msgUnitArr);

   XmlTypeArr erase(in XmlType xmlKey, in XmlType qos)
                                          raises(XmlBlasterException);


   // Authentication:

   XmlType connect(in serverIdl::XmlType qos)
                                         raises (XmlBlasterException);

   void disconnect(in string sessionId, in serverIdl::XmlType qos)
                      raises (serverIdl::XmlBlasterException);


   // Client side methods:

   // Asynchronous callback to client
   StringArr update(in string sessionId, in MessageUnitArr msgUnitArr)
                                raises(XmlBlasterException);

   // Asynchronous callback to client without ACK
   oneway void updateOneway(in string sessionId, in MessageUnitArr msgUnitArr);
     
Example
XML
Configure

NOTE: Configuration parameters are specified on command line (-someValue 17) or in the xmlBlaster.properties file (someValue=17). See requirement "util.property" for details.
Columns named Impl tells you if the feature is implemented.
Columns named Hot tells you if the configuration is changeable in hot operation.

See REQ interface.connect
See REQ interface.disconnect
See REQ interface.publish
See REQ interface.subscribe
See REQ interface.unSubscribe
See REQ interface.update
See REQ interface.erase
See REQ interface.get
See http://www.xmlBlaster.org/xmlBlaster/src/java/org/xmlBlaster/protocol/corba/xmlBlaster.idl.html
See API org.xmlBlaster.protocol.xmlrpc.XmlBlasterImpl
See API org.xmlBlaster.protocol.rmi.I_XmlBlaster

This page is generated from the requirement XML file xmlBlaster/doc/requirements/interface.xml

Back to overview