Sun Java System Communications Services 6 2005Q4 配備計画ガイド

第 21 章 Instant Messaging ソフトウェアの紹介

Instant Messaging では、チャット、会議室、アラート、ニュース、ポーリング、ファイル転送などのインスタントメッセージング機能と在席確認機能とを組み合わせることで豊かな共同作業環境を形成し、セキュリティー保護された、リアルタイムの通信や共同作業を行えます。これらの機能は、グループによる共同作業だけでなく 1 対 1 にも対応し、短期間の通信のほか、会議室やニュースチャネルなどの持続的な場の利用を可能にします。

Instant Messaging では、複数の認証メカニズムと SSL (Secure Sockets Layer) 接続を使用することで、通信の整合性が保たれます。Portal Server と Access Manager との統合によって、さらなるセキュリティー機能、サービスベースのプロビジョニングアクセスポリシー、ユーザー管理、セキュリティー保護されたリモートアクセスが可能になります。

この章には、次の節があります。

Instant Messaging サービスとは

インスタントメッセージングサービスの単純化した段階は次のとおりです。

さらに、Instant Messaging サービスはリアルタイムの会議室、ニュース、およびカレンダアラート機能を提供し、オフラインユーザーには電子メールメッセージの転送機能を提供します。

優れた Instant Messaging サービスには、スケーラビリティー、高可用性、信頼性、および良好なパフォーマンスの実現が不可欠です。

Instant Messaging コア製品コンポーネント

Instant Messaging には、次のコアコンポーネントが含まれています。

Instant Messaging の関連コンポーネント

この節で説明するソフトウェアコンポーネントは Instant Messenger サーバーで使用されますが、インストールは個別に行われます。これらのサーバーと Instant Messenger の詳細なやり取りについては、第 23 章「Instant Messaging アーキテクチャーの開発」を参照してください。

Web サーバー

(必須) どのような配備においても、Sun Java System Web Server や Sun Java System Application Server などの Web サーバーをインストールする必要があります。また、Apache などのオープン標準に準拠した Web サーバーを使用することもできます。いずれの場合も、Instant Messenger リソースは Web サーバーホストに存在する必要があります。

Instant Messaging では、Web サーバーが Instant Messenger リソースを処理します。Instant Messenger リソースには次のものが存在します。

Instant Messenger リソースは、Web サーバーと同じホストにインストールする必要があります。Access Manager の配備では、これらのリソースを Access Manager のホスト、または別の Web サーバーホストにインストールできます。多くの場合、リソースは Instant Messaging サーバーソフトウェアと同じホストにインストールされます。ただし、Instant Messenger リソースを Instant Messaging サーバーまたはマルチプレクサと別のホストに置くこともできます。


注 –

Instant Messaging を設定する前に Web サーバーをインストールしてください。


LDAP サーバー

(必須) Instant Messaging は、エンドユーザーの認証と検索に Directory Server などの LDAP サーバーを使用します。Portal Server を実装する配備では、Instant Messaging は Portal Server と同じ LDAP サーバーを使用します。LDAP ディレクトリがまだインストールされていない場合は、インストールする必要があります。

Instant Messaging サーバーには Instant Messenger のエンドユーザー認証情報は格納されません。この情報は LDAP サーバーに格納されます。

デフォルトでは、エンドユーザーとグループ情報の検索に Instant Messaging サーバーは共通エンドユーザー属性 cn および uid を使用します。サーバーが別の属性を使用して検索を行うように設定することもできます。また、連絡先リストやその登録情報などの Instant Messaging のプロパティーは、Instant Messaging サーバー上のファイル、または LDAP サーバーに格納できます。

デフォルト以外の属性を使用してユーザー検索を行うようにサーバーを設定する方法については、『Sun Java System Instant Messaging 7 2005Q1 Administration Guide』を参照してください。


注 –

Instant Messaging の配備を成功させるには適切な Directory Server 実装が前提となるため、このマニュアルのほかに『Sun Java System Directory Server 5 2005Q1 Deployment Plannning Guide』も参照してください。


SMTP サーバー

(省略可能) インスタントメッセージを電子メールとしてオフラインのエンドユーザーに送信するときは、Messaging Server などの SMTP メッセージングサーバーが使用されます。SMTP サーバーは、Instant Messaging サーバーと同じホスト上に存在する必要はありません。

Calendar Server

(省略可能) カレンダベースの予定をユーザーに通知するときは、Calendar Server が使用されます。

Access Manager と Access Manager SDK

(省略可能) Access Manager と Access Manager SDK は、エンドユーザーとサービスの管理に認証サービスとシングルサインオンサービスを提供します。さらに、Portal Server を含む配備では、Access Manager と Access Manager SDK が必須となります。どちらの配備でも、Instant Messaging サーバーと同じホストに SDK をインストールする必要があります。

Portal Server

(省略可能) Portal Server は、メッセージアーカイブをサポートし、Instant Messaging をセキュリティー保護されたモードで実行できるようにします。また、Portal Server デスクトップによりエンドユーザーは Instant Messenger クライアントを利用することができます。次の 2 つの Portal Server コンポーネントは追加機能を提供します。

Portal Server デスクトップ

Portal Server 環境にインストールした Instant Messenger は、Portal Server デスクトップのエンドユーザーが使用できる Instant Messaging チャネルから起動できます。

Secure Remote Access

Secure Remote Access を使えば、リモートエンドユーザーは所属する組織のネットワークとサービスに、インターネット経由で安全にアクセスできます。エンドユーザーは、ポータルゲートウェイ経由で Web ベースの Portal Server デスクトップにログインし、Secure Remote Access にアクセスします。Portal Server に設定された認証モジュールで、エンドユーザーが認証されます。エンドユーザーのセッションが Portal Server との間で確立されると、エンドユーザーの Portal Server Desktop へのアクセスが有効になります。

Portal Server 環境では、Instant Messenger をセキュリティー保護されたモードにも、セキュリティー保護されていないモードにも設定できます。セキュリティー保護されたモードでは、通信内容は Portal Server の Netlet によって暗号化されます。セキュリティー保護されたモードで Instant Messenger にアクセスすると、Instant Messenger の「状態」領域に鍵のアイコンが表示されます。セキュリティー保護されていないモードでは、Instant Messenger セッションは暗号化されません。Netlet の詳細については、『Sun Java System Portal Server 6 2005Q4 Secure Remote Access 管理ガイド』を参照してください。

Instant Messaging でサポートされている標準

Instant Messaging はネイティブのインターネットテクノロジに対応しているので、顧客やパートナー企業と共同作業を行う場合でも、組織の内外をまとめて 1 つのアーキテクチャーとして維持することができます。また、特定のシステムに束縛されることもありません。Instant Messaging の主要コンポーネントは、すでに定着しているオープンなインターネット標準に基づいています。次に、代表的な標準を示します。

インスタントメッセージの構造フォーマット

インスタントメッセージのフォーマットとしては、XMPP プロトコルが使用されます。メッセージの本文自体は HTML 内に格納できます。

アクセスプロトコル

Instant Messaging では、ユーザーの情報と設定は LDAP ディレクトリから取得されます。このディレクトリは、Instant Messaging 専用でもかまいませんし、Access Manager や Portal Server など、ほかのコンポーネントと共用でもかまいません。ユーザーデータは通常は LDAP 検索機能によって取得されます。Access Manager と Portal Server を使用する Instant Messaging 配備では、同一の LDAP サーバーが使用されます。

通信プロトコルとメッセージ転送プロトコル

Instant Messaging のサーバー対サーバーおよびクライアント対サーバーの通信は、TCP/IP を通じて行われます。

Instant Messaging は、SMTP を使ってオフラインユーザーにメッセージを送信します。

ブラウザは、Web サーバーからの Instant Messenger リソースファイルの取得に HTTP を使用します。ブラウザは、取得したリソースファイルから HTML を読み取り、ファイルのコンテンツを表示します。

Instant Messaging 7 は、XMPP (Jabber) 対応のクライアントサーバーソリューションであり、XMPP に準拠したサーバー、クライアント、およびゲートウェイと通信を行えます。オープンソースコミュニティーでゲートウェイが利用でき、Jabber と AOL や Yahoo、およびその他の Instant Messaging システムとの通信が可能です。

Instant Messaging のソフトウェアアーキテクチャー

図 21–1 は、Instant Messaging ソフトウェアアーキテクチャーを示しています。

図 21–1 Instant Messaging のソフトウェアアーキテクチャー

この図は、Instant Messaging のコンポーネント間の関係を示しています。

Web サーバー (または Web サービスが組み込まれたアプリケーションサーバー) は、ブラウザ経由でクライアントに Instant Messaging リソースをダウンロードします。クライアントはリソースファイルから構成されます。クライアントは、Instant Messaging サーバーにメッセージを転送するマルチプレクサを通じて相互にメッセージを送信します。

ディレクトリサーバーは、設定情報、位置、メッセージのルーティング先マルチプレクサなどの、ユーザーおよびグループの配信情報を格納、取得します。Instant Messaging サーバーがメッセージを受信すると、Directory Server は、この情報を使用してメッセージの配信場所と配信方法を決定します。また、連絡先リストやその登録情報などのユーザー情報がディレクトリサーバーに格納されることもあります。

この基本的な設定によって、Instant Messaging は直接 Directory Server にアクセスし、Instant Messaging を使用するメールクライアントのユーザーログイン名とパスワードを検証します。

クライアントから送信されるインスタントメッセージは、直接マルチプレクサにルーティングされます。マルチプレクサは、該当する Instant Messaging サーバーにメッセージを送信し、順に別の Instant Messaging サーバーにメッセージを転送するか、またはメッセージがローカルの場合は受信者が関連するマルチプレクサにメッセージを転送します。この処理の図については、「Instant Messaging の物理的な配備例」を参照してください。

新規ユーザーを作成するときは、ディレクトリにユーザーエントリを追加します。ディレクトリ内のエントリを作成または変更するときは、Directory Server に付属するツールを使用します。

Instant Messaging コンポーネントの管理には、一連のコマンド行インタフェースとテキストベースの設定ファイルを使用します。管理者が必要な権限を持っている場合は、Instant Messaging ホストに接続された任意のマシンで管理タスクを実行することができます。


注 –

Instant Messaging 配備は通常、単一マシン上にはインストールされません。また、そうした配備には、多重化や高可用性化などの追加機能も搭載されます。詳細については、第 23 章「Instant Messaging アーキテクチャーの開発」を参照してください。


次に、Instant Messaging の 3 つの主要コンポーネントについて、さらに詳しく説明します。

Instant Messaging Server

Instant Messaging サーバーは、Instant Messenger の権限やセキュリティーの制御、アラートの送信による Instant Messenger クライアントどうしの通信の実現、チャットの開始、および使用可能なニュースチャネルへのメッセージの投稿などのタスクを処理します。また、Instant Messaging サーバーは、アーカイブ、カレンダアラート、およびオフライン電子メール通知も処理します。

Instant Messaging は、接続を 1 つのソケットに統合するマルチプレクサの接続をサポートしています。マルチプレクサについては、「Instant Messaging マルチプレクサ」を参照してください。

エンドユーザー、ニュースチャネル、および会議室の管理には、アクセス制御ファイルと Access Manager ポリシーが使用されます。

Instant Messaging サーバーは、Instant Messaging 製品のインスタントメッセージをルーティング、転送、配信します。

LDAP 直接検索

サーバーは、LDAP サーバーの情報を直接検索できます。LDAP クエリの結果は、事前に設定可能な有効期限に達するまでプロセスにキャッシュされます。詳細については、『Sun Java System Directory Server 5 2005Q1 Administration Guide』を参照してください。

メッセージ配信

サーバーは、作成されたメッセージをメッセージ配信経路の次の配信先に送信します。送信先は、受信者のマルチプレクサまたは別のサーバーです。マルチプレクサが受信すると、メッセージは適切な受信者に直接ルーティングされます。この処理の図については、「Instant Messaging の基本アーキテクチャー」を参照してください。

Instant Messaging マルチプレクサ

Instant Messaging マルチプレクサコンポーネントは、複数のインスタントメッセンジャー接続を 1 つの TCP (Transmission Control Protocol) 接続にまとめ、この TCP 接続を Instant Messaging サーバーに接続します。マルチプレクサは Instant Messenger からのデータを読み取り、それをサーバーに書き込みます。反対に、サーバーが Instant Messenger にデータを送信すると、マルチプレクサはそのデータを読み取り、適切な接続にそれを書き込みます。マルチプレクサは、エンドユーザーの認証やクライアントサーバー間のプロトコル (IM プロトコル) 解析は行いません。各マルチプレクサは、1 つの Instant Messaging サーバーにだけ接続されます。

Instant Messaging マルチプレクサは、必ずしもインストールする必要はありません。つまり、マルチプレクサを使用しない Instant Messaging 構成にすることも可能です。ただし、本稼働配備ではマルチプレクサを使用する構成にすることをお勧めします。

配備環境の要件に応じて、複数のマルチプレクサをインストールできます。詳細については、第 23 章「Instant Messaging アーキテクチャーの開発」を参照してください。

Instant Messenger クライアント

Instant Messenger は、Java プラグインを使用してブラウザベースのアプレットとして設定したり、JavaTM Web Start を使用してスタンドアロンの Java アプリケーションとして設定したりできる Instant Messaging のクライアントです。

Solaris または Linux 上で Instant Messenger クライアントを実行するには、Java Web Start を使用する必要があります。Microsoft Windows では、アプレットまたは Java Web Start アプリケーションとして Instant Messenger を実行できます。ほとんどの場合、Java Web Start アプリケーションとして Instant Messenger を実行します。

Instant Messenger のカスタマイズについては、『Sun Java System Instant Messaging 7 2005Q1 Administration Guide』を参照してください。

Instant Messenger には、次の通信モードがあります。


注 –

インスタントメッセージには URL を埋め込むことができます。プロキシサーバーを使用している場合は、このような URL を解決できるように、Java Web Start を使用するクライアントでプロキシ設定の修正が必要になることがあります。

プロキシ設定の手動変更については、『Sun Java System Instant Messaging 7 2005Q1 Administration Guide』を参照してください。


Instant Messaging 配備の設計

配備プロセスは、次の基本フェーズから構成されており、ソリューションライフサイクルと呼ばれます。

配備フェーズは固定的なものではなく、配備プロセスは反復して行われます。

Instant Messaging やその他の Java Enterprise System コンポーネントの配備プロセスの詳細については、『Sun Java Enterprise System 2005Q4 Deployment Planning Guide』を参照してください。