Sun Java System Instant Messaging 7.2 管理ガイド

付録 D Instant Messaging API

この章では、Instant Messaging によって使われる API について、次の各節で説明します。

Instant Messaging API の概要

Instant Messaging には、拡張モジュールや統合化モジュールの開発に役立つ Java API が各種用意されています。それらの API の詳細なマニュアルは、Javadoc によって生成された HTML ファイルとして、インストールされた Instant Messenger コンポーネントに付属しています。Javadoc ファイルは、im-svr-base/html/apidocs/ ディレクトリ内にインストールされています。API マニュアルを参照するには、ブラウザで codebase/apidocs を表示します。codebase は、Instant Messenger リソースのコードベースを表します。

Instant Messaging API は、次のとおりです。

Instant Messaging サービス API

Instant Messaging API は、同一ホスト上またはリモートホスト上に存在するアプリケーションが、Presence、会議室、通知、調査、ニュースチャネルなどといった Instant Messaging の各種サービスにアクセスする際に使用されます。

Instant Messaging サービス API を使うと、次のことが行えます。

メッセンジャー Bean

メッセンジャー Bean は、動的に読み込まれるモジュールであり、その目的は、Instant Messenger の機能を拡張することにあります。メッセンジャー Bean を使うと、既存の Instant Messenger ウィンドウ内にボタンやメニュー項目などのアクションリスナーを追加したり、チェックボックスやトグルボタンなどのアイテムリスナーを追加したりできます。アイテムリスナーは、エンドユーザー入力の受信時に起動されます。また、Bean 固有のアクションは、エンドユーザーの入力に基づきます。これらの Bean は、独自の設定パネルを追加したり、Bean 固有のプロパティーをサーバー上に保存したりする能力を備えています。これらの Bean には、Instant Messenger が受信する任意のイベント (新しいアラートメッセージなど) を通知できます。

メッセンジャー Bean を使用したアプリケーションでは、次のことが行えます。

サービスプロバイダインタフェース

サービスプロバイダインタフェース API を使うと、Instant Messaging のサーバー機能を拡張できます。サービスプロバイダインタフェースは、次の独立した API から構成されています。

アーカイブプロバイダ API

アーカイブプロバイダはソフトウェアモジュールの一種であり、通常、アーカイブシステムや監査システムとの統合化機能を提供します。特定のサーバー処理が実行されると、その処理用に設定されたアーカイブプロバイダが起動されます。

アーカイブプロバイダは、次のサーバー処理に対して起動されます。

アーカイブプロバイダ API を使用したアプリケーションとしては、次のものがあります。

メッセージ変換 API

メッセージコンバータは、個々のメッセージまたはその一部がサーバーを通過する際に起動されます。メッセージコンバータは、対象のメッセージ部分をまったく変更しない場合もありますし、それらのメッセージ部分を変更または削除する場合もあります。テキスト部分は、Java の String オブジェクトとして処理されます。メッセージコンバータは、それ以外の添付ファイルをバイトストリームとして処理し、処理済みのバイトストリーム (オリジナルとは異なる可能性がある) を返します。ただし、削除する必要のある添付ファイルに対しては、何も返しません。

メッセージ変換 API を使用したアプリケーションでは、次のことが行えます。

認証プロバイダ API

認証プロバイダ API を使えば、Access Manager のパスワードベースまたはトークンベースの認証サービスを使用しない環境下で、Instant Messaging を配備できます。この API はエンドユーザーが認証を要求するたびに起動されます。また、この API は LDAP 認証と組み合わせて使用できます。

Access Manager によるシングルサインオン (SSO) は、認証プロバイダ API を使って実現されています。また、この API を使えば、ほかの認証システムとの統合化を図ることも可能です。