This chapter describes the APIs used by Oracle Communications Instant Messaging Server.
Instant Messaging Server provides Java APIs that can be used to develop extension or integration modules. Detailed documentation of these APIs is provided in the form of HTML files generated by Javadocs. The Javadoc files are installed in the InstantMessaging_home/html/apidoc directory.
The following Instant Messaging Server APIs are available:
The Instant Messaging Server Service API is used by the applications located on the same host or in the remote host to access Instant Messaging Server services, such as presence and conferences.
The Instant Messaging Server Service API can be used for:
A Java-based or web-based client
A bridge or a gateway to enable another class of clients
Integration of presence into existing applications
The Service Provider Interface APIs provide the ability to extend Instant Messaging Server functionality. The Service Provider Interface is composed of the following independent APIs:
An Archive Provider is a software module usually providing integration with the archive or auditing system. Each configured Archive Provider is invoked for each server process.
The Archive Provider is invoked for the following server processes:
When an instant message is sent
During an authentication event, such as login or logout
When there is a change in presence status
During a subscription event, for example, when someone joins or leaves a conference
Examples of applications that can use the Archive Provider API are:
Instant Messaging Server Archive
The default Instant Messaging Server archive in Instant Messaging Server is based on the Archive Provider API. See "Managing Archiving in Instant Messaging Server" for more information on archiving.
The application that records the usage statistics for sizing purposes.
A Message Converter is invoked for every message or each message part going through the server. The Message Converter may leave the message part intact or modify or remove the message part. The text parts are processed as Java String Objects. The Message Converter processes other attachments as a stream of bytes and returns a potentially different stream of bytes, or nothing at all if the attachment is to be removed.
Examples of applications that can use the Message Conversion API are as follows:
Virus checking and removal
Translation engine integration
Message content filtering
See "Managing Message Conversion in Instant Messaging" for more information on converting messages.
The Authentication Provider API provides the ability to deploy Instant Messaging Server in environments that are not using Access Manager password-based or token-based authentication service. This API is invoked whenever an end user requests authentication, and it can be used with the LDAP authentication.
The Web Presence API makes it possible to retrieve presence information about users connected to the Instant Messaging Server. An example of an application that might use the API would be an enterprise application that provides a presence widget that allows employees to see the presence status of other employees.
See "Using the Web Presence API" for more information about the Web Presence API.