Instant Messaging では、チャット、会議室、アラート、ニュース、ポーリング、ファイル転送などのインスタントメッセージング機能と在席確認機能とを組み合わせることで豊かな共同作業環境を形成し、セキュリティー保護された、リアルタイムの通信や共同作業を行えます。これらの機能は、グループによる共同作業だけでなく 1 対 1 にも対応し、短期間の通信のほか、会議室やニュースチャネルなどの持続的な場の利用を可能にします。
Instant Messaging では、複数の認証メカニズムと SSL (Secure Sockets Layer) 接続を使用することで、通信の整合性が保たれます。Portal Server と Access Manager との統合によって、さらなるセキュリティー機能、サービスベースのプロビジョニングアクセスポリシー、ユーザー管理、セキュリティー保護されたリモートアクセスが可能になります。
この章には、次の節があります。
インスタントメッセージングサービスの単純化した段階は次のとおりです。
外部サイトからのメッセージの受信
メッセージを配信し、ルーティングするユーザーの特定
内部ホストからのインスタントメッセージの受信
メッセージを配信し、ルーティングする送信先システムの設定
さらに、Instant Messaging サービスはリアルタイムの会議室、ニュース、およびカレンダアラート機能を提供し、オフラインユーザーには電子メールメッセージの転送機能を提供します。
優れた Instant Messaging サービスには、スケーラビリティー、高可用性、信頼性、および良好なパフォーマンスの実現が不可欠です。
Instant Messaging には、次のコアコンポーネントが含まれています。
Instant Messenger リソース (クライアント):エンドユーザーがメッセージの開始、作成、返信に使用するクライアントプログラムを構成する一連のファイルです。通常、ユーザーは会議室への参加にもこのクライアントを使用します。クライアントは Sun Java System Instant Messenger とも呼ばれます。
Instant Messaging Server: あるシステムから別のシステムへのインスタントメッセージの配信をサポートする電子メッセージ配信システムです。サーバーは、在籍情報を Instant Messenger クライアントに提供し、エンドユーザーによるセッションの確立を可能にし、ポリシーを実施します。
Instant Messaging マルチプレクサ: メッセンジャー接続を統合するスケーラビリティーのあるコンポーネントです。たとえば、同時接続数が数千に達するような大規模な配備をサポートするために、Instant Messaging は接続マルチプレクサを使用してサーバーのスケーラビリティーを高めます。このコンポーネントは、Instant Messaging サーバーへの単一の接続を開きます。スケーラビリティーに加え、ファイアウォールの外にマルチプレクサをインストールし、サーバーをファイアウォール内に残すことで、承認されていない外部アクセスからサーバーを保護することができます。また、Instant Messaging マルチプレクサは、単にマルチプレクサとも呼ばれます。
アクセス、通信、および転送プロトコル: LDAP、HTTP、TCP/IP、SMTP などのプロトコルについては、「Instant Messaging でサポートされている標準」で説明します。
Access Manager Instant Messaging サービス定義: Instant Messaging は、Access Manager SDK を使って Access Manager にサービス定義を提供することで、Access Manager 管理ポリシーと SSO 機能をサポートします。
Instant Messaging API: カスタム Instant Messaging クライアントを作成可能にします。
この節で説明するソフトウェアコンポーネントは Instant Messenger サーバーで使用されますが、インストールは個別に行われます。これらのサーバーと Instant Messenger の詳細なやり取りについては、第 23 章「Instant Messaging アーキテクチャーの開発」を参照してください。
(必須) どのような配備においても、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 によって提供されている index.html ファイルまたは Instant Messenger 起動用リンクを含むホームページ
Instant Messenger jar ファイル (messenger.jar、imres.jar、imbrand.jar、imdesktop.jar、imnet.jar、および imjni.jar)
Instant Messenger オンラインヘルプ
Instant Messenger リソースは、Web サーバーと同じホストにインストールする必要があります。Access Manager の配備では、これらのリソースを Access Manager のホスト、または別の Web サーバーホストにインストールできます。多くの場合、リソースは Instant Messaging サーバーソフトウェアと同じホストにインストールされます。ただし、Instant Messenger リソースを Instant Messaging サーバーまたはマルチプレクサと別のホストに置くこともできます。
Instant Messaging を設定する前に Web サーバーをインストールしてください。
(必須) 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』も参照してください。
(省略可能) インスタントメッセージを電子メールとしてオフラインのエンドユーザーに送信するときは、Messaging Server などの SMTP メッセージングサーバーが使用されます。SMTP サーバーは、Instant Messaging サーバーと同じホスト上に存在する必要はありません。
(省略可能) カレンダベースの予定をユーザーに通知するときは、Calendar Server が使用されます。
(省略可能) Access Manager と Access Manager SDK は、エンドユーザーとサービスの管理に認証サービスとシングルサインオンサービスを提供します。さらに、Portal Server を含む配備では、Access Manager と Access Manager SDK が必須となります。どちらの配備でも、Instant Messaging サーバーと同じホストに SDK をインストールする必要があります。
(省略可能) Portal Server は、メッセージアーカイブをサポートし、Instant Messaging をセキュリティー保護されたモードで実行できるようにします。また、Portal Server デスクトップによりエンドユーザーは Instant Messenger クライアントを利用することができます。次の 2 つの Portal Server コンポーネントは追加機能を提供します。
Portal Server 環境にインストールした Instant Messenger は、Portal Server デスクトップのエンドユーザーが使用できる Instant Messaging チャネルから起動できます。
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 はネイティブのインターネットテクノロジに対応しているので、顧客やパートナー企業と共同作業を行う場合でも、組織の内外をまとめて 1 つのアーキテクチャーとして維持することができます。また、特定のシステムに束縛されることもありません。Instant Messaging の主要コンポーネントは、すでに定着しているオープンなインターネット標準に基づいています。次に、代表的な標準を示します。
LDAP: エンタープライズディレクトリ情報へのアクセスを提供し、正確でセキュリティー保護された Instant Messaging システムを実現します。
HTML: クライアントに Web ブラウザアクセスを提供するためのフォーマット言語。
HTTP: クライアントに Web ブラウザアクセスを提供するためのハイパーテキストトランスポートプロトコル。
SMTP: インターネットメールメッセージ経由でインスタントメッセージを確実に配信するためのメール転送プロトコル。
TCP/IP: 実績のある世界規模のネットワークプロトコル。
XMPP: オープンソースゲートウェイ経由で公衆ネットワークと相互運用するための、拡張可能なメッセージングおよびプレゼンス用のプロトコル (Extensible Messaging and Presence Protocol)。
インスタントメッセージのフォーマットとしては、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 システムとの通信が可能です。
図 21–1 は、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 サーバーは、Instant Messenger の権限やセキュリティーの制御、アラートの送信による Instant Messenger クライアントどうしの通信の実現、チャットの開始、および使用可能なニュースチャネルへのメッセージの投稿などのタスクを処理します。また、Instant Messaging サーバーは、アーカイブ、カレンダアラート、およびオフライン電子メール通知も処理します。
Instant Messaging は、接続を 1 つのソケットに統合するマルチプレクサの接続をサポートしています。マルチプレクサについては、「Instant Messaging マルチプレクサ」を参照してください。
エンドユーザー、ニュースチャネル、および会議室の管理には、アクセス制御ファイルと Access Manager ポリシーが使用されます。
Instant Messaging サーバーは、Instant Messaging 製品のインスタントメッセージをルーティング、転送、配信します。
サーバーは、LDAP サーバーの情報を直接検索できます。LDAP クエリの結果は、事前に設定可能な有効期限に達するまでプロセスにキャッシュされます。詳細については、『Sun Java System Directory Server 5 2005Q1 Administration Guide』を参照してください。
サーバーは、作成されたメッセージをメッセージ配信経路の次の配信先に送信します。送信先は、受信者のマルチプレクサまたは別のサーバーです。マルチプレクサが受信すると、メッセージは適切な受信者に直接ルーティングされます。この処理の図については、「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 は、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 には、次の通信モードがあります。
チャット:Instant Messenger バージョンの Instant Messaging 会議室がチャットと呼ばれています。チャットはリアルタイムの対話機能で、エンドユーザーはこれを利用してプロジェクトを遂行したり、顧客の質問に答えたり、即時性が要求されるその他の業務を遂行したりすることができます。チャットセッション (参加者は 2 名以上) は、必要に応じて作成されるチャット室で保持されます。
会議室:会議室は通常のチャットセッションと同様に機能する持続的なチャットルームで、次の機能が追加されています。
アクセス制御
モデレートチャット
アラート:アラートにより、エンドユーザーに対する情報配信や応答が Instant Messenger インタフェースを通じて行えるようになります。アラートは、エンドユーザーに緊急情報を配信できます。アラートメッセージの送信者には、メッセージの配信時と受信者によってそのメッセージが開かれた時に通知が送信されます。また、アラートを特定の電子メールアドレスに転送するように Instant Messaging を設定することもできます。
ポーリング:ポーリング機能により、質問に対する回答をエンドユーザーに要求できます。ポーリングの受信者には質問と選択式の回答を送信し、受信者は回答を選択してそれに返信します。
ニュース:ニュースチャネルは、情報を投稿し、それを共有するためのフォーラムです。エンドユーザーは興味のあるニュースチャネルに登録し、ニュースチャネルの URL にアクセスして更新を確認したり、静的なメッセージを表示してニュースチャネルの更新を確認できます。管理者は、エンドユーザーに必要なニュースチャネルを割り当て、ニュースチャネルの情報を表示したり、情報を提示したりできるユーザーを決定することでニュースチャネルへのアクセスを制御します。
インスタントメッセージには URL を埋め込むことができます。プロキシサーバーを使用している場合は、このような URL を解決できるように、Java Web Start を使用するクライアントでプロキシ設定の修正が必要になることがあります。
プロキシ設定の手動変更については、『Sun Java System Instant Messaging 7 2005Q1 Administration Guide』を参照してください。
配備プロセスは、次の基本フェーズから構成されており、ソリューションライフサイクルと呼ばれます。
ビジネス要件の分析
技術要件の分析
論理アーキテクチャーの設計
配備アーキテクチャーの設計
配備の実行
配備の運用
配備フェーズは固定的なものではなく、配備プロセスは反復して行われます。
Instant Messaging やその他の Java Enterprise System コンポーネントの配備プロセスの詳細については、『Sun Java Enterprise System 2005Q4 Deployment Planning Guide』を参照してください。