29 Instant Messaging Server APIs

This chapter describes the APIs used by Oracle Communications Instant Messaging Server.

Instant Messaging Server APIs Overview

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:

Instant Messaging Server Service API

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

Service Provider Interfaces

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:

Archive Provider API

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:

  • The application that records the usage statistics for sizing purposes.

Message Conversion API

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.

Authentication Provider API

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.

Web Presence API

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.