Sun Java System Instant Messaging 6 2004Q2 配備計画ガイド |
第 1 章
概要Sun Java System Instant Messaging を利用することで、豊かな共同作業環境を形成するチャット、会議室、警告メッセージ、ニュース、ポーリング、ファイル転送などの Instant Messaging 機能を在席確認機能と組み合わせ、安全かつリアルタイムな通信および共同作業を行えます。これらの機能は、1 対 1 だけでなくグループによる共同作業にも対応し、短期間の通信のほか、会議室やニュースチャネルなどの持続的な場を利用することができます。
Instant Messaging は、複数の認証メカニズムとセキュリティ保護された SSL 接続によって、通信の完全性を確保します。Sun Java System Portal Server および Sun Java System Identity Server との統合により、追加のセキュリティ機能、サービスベースのプロビジョニングアクセスポリシー、ユーザー管理、セキュリティ保護されたリモートアクセスも利用できます。
この章では、Instant Messaging の導入前に理解しておくべき基本的な概念について説明します。この章で説明する内容は次のとおりです。
Instant Messaging サービスとはInstant Messaging サービスは、あらゆる規模の企業やホストの Instant Messaging サービスのニーズに対応した、オープンスタンダードベースのクライアントサーバーソリューションです。企業内やインターネット経由で優れた管理機能、スケーラビリティ、パフォーマンス、セキュリティ、および接続性を提供します。
Instant Messaging サービスの基本的な機能は次のとおりです。
さらに、Instant Messaging サービスはリアルタイムの会議室、ニュースとカレンダーの警告メッセージなどの機能を提供し、オフラインユーザーには電子メールメッセージの転送機能を提供します。
優れた Instant Messaging サービスに特に重要なことは、SHARP (scalability, high availability, reliability, good performance) 標準に準拠していることです。
Sun ONE Instant Messaging のコア製品コンポーネントSun Java System Instant Messaging には、次のコアコンポーネントが含まれています。
- Instant Messenger のリソース (クライアント) : エンドユーザーがメッセージを開始、作成、返信するためのクライアントプログラムを構成するファイルセット。通常、ユーザーは会議室への参加にもクライアントを使用する。クライアントは Sun Java System Instant Messenger とも呼ばれる
- Instant Messaging Server : システムから別システムへのインスタントメッセージの配信に対応した、電子メッセージ配信システム。サーバーは、エンドユーザーがセッションの確立やポリシーの適用に必要とする Presence 情報を Instant Messenger クライアントに提供する
- Instant Messaging マルチプレクサ : メッセンジャー接続を確立するスケーラビリティコンポーネント。たとえば、40,000 回線もの並行接続のような大規模な配備に対応するには、Instant Messaging は接続マルチプレクサを使用してサーバーのスケーラビリティを向上させる。このコンポーネントは、Instant Messaging Server との間に 1 つの接続を開く。スケーラビリティに加え、ファイアウォールの外にマルチプレクサをインストールし、サーバーをファイアウォール内に残すことで、未承認の外部アクセスからサーバーを保護することができる。Instant Messaging マルチプレクサは、単にマルチプレクサと呼ばれることもある
- アクセス、通信、転送のプロトコル : LDAP、HTTP、TCP/IP、SMTP などのプロトコル。これらのプロトコルについては、「サポートされる標準」で説明する
- Sun Java System Identity Server Instant Messaging サービス定義 : Instant Messaging のポリシー管理とシングルサインオン機能を利用するときに、Sun Java System Identity Server と Sun Java System Identity Server SDK が使用するサービス
- Instant Messaging API : カスタマイズした Instant Messaging クライアントの作成に使用される
- LDAP サーバー : DAP (Directory Access Protocol) の「軽量」バージョン。通常は Instant Messaging Server コンポーネントではない LDAP サーバーは、ユーザーの保守と管理で中心的な役割を果たす。多くの場合、組織内のさまざまな種類のアプリケーションからのニーズを満たす。
Instant Messaging の関連コンポーネントここで説明するソフトウェアコンポーネントは Instant Messaging Server で使用されますが、インストールは個別に行われます。これらのサーバーと Instant Messaging の詳細なやり取りについては、第 2 章「配備例」を参照してください。
Web サーバー
(必須) 基本的な配備では、Sun Java System Application Server SE (Standard Edition) などの Web サーバーをインストールする必要があります。Sun Java System Portal Server を実装する配備では、Portal Server に付属する Web サーバーを使用します。どちらの場合でも、Instant Messenger リソースは Web サーバーホストに存在する必要があります。
Instant Messaging では、Web サーバーが Instant Messenger リソースを処理します。Instant Messenger リソースには次のものが存在します。
Instant Messenger リソースは、Web サーバーと同じホストにインストールする必要があります。Sun Java System Identity Server の配備では、これらのリソースを Identity Server のホスト、または別の Web サーバーホストにインストールできます。多くの場合、リソースは Instant Messaging Server ソフトウェアと同じホストにインストールされます。ただし、Instant Messenger リソースを Instant Messaging Server またはマルチプレクサと別のホストに置くこともできます。詳細については、『Sun Java System Instant Messaging インストールガイド』を参照してください。
注
Web サーバーは、Sun ONE Instant Messaging をインストールする前にインストールしてください。
Sun Java System Portal Server を使用している場合は、付属の Web サーバーを使用します。Instant Messaging 用の Web サーバーを別途インストールする必要はありません。
LDAP サーバー
(必須) Instant Messaging は、エンドユーザーの認証と検索に Sun Java System Directory Server などの LDAP サーバーを使用します。Sun Java System Portal Server を実装する配備では、Instant Messaging は Portal Server と同じ LDAP サーバーを使用します。
Instant Messaging Server は、Instant Messenger エンドユーザーの認証情報を格納しません。この情報は、LDAP サーバーに格納されます。
デフォルトでは、エンドユーザーとグループ情報の検索に Sun Java System Instant Messaging Server は共通エンドユーザー属性 cn および uid を使用します。サーバーが別の属性を使用して検索を行うように設定することもできます。また、Sun Java System Instant Messaging のプロパティ (連絡先リストやその登録情報など) は、Sun Java System Instant Messaging Server 上のファイル、または LDAP サーバーに格納できます。
LDAP ディレクトリがインストールされていない場合は、インストールする必要があります。詳細については、『Sun Java System Instant Messaging インストールガイド』を参照してください。デフォルト以外の属性を使用して検索を行うようにサーバーを設定する方法については、『Sun Java System Instant Messaging 管理ガイド』を参照してください。
SMTP サーバー
(省略可能) インスタントメッセージを電子メッセージとしてオフラインのエンドユーザーに送信するときは、Sun Java System Messaging Server などの Messaging サーバーが使用されます。Instant Messaging には SMTP サーバーは含まれません。
Sun Java System Calendar Server
(省略可能) カレンダーベースのイベントをユーザーに通知するときは、Sun Java System Calendar Server が使用されます。Instant Messaging には Calendar Server は含まれません。
Sun ONE Identity Server と Sun Java System Identity Server SDK
(省略可能、Solaris のみ) Sun Java System Identity Server と Sun Java System Identity Server SDK は、エンドユーザーとサービス管理に認証サービスとシングルサインオンサービスを提供します。また、ポリシー管理、ロギングサービス、デバッグユーティリティ、管理コンソール、クライアントサポートインタフェースも提供されます。
Sun Java System Portal Server を実装する配備では、Sun Java System Identity Server および SDK の使用は必須です。どちらの配備でも、Instant Messaging Server と同じホストに SDK をインストールする必要があります。
Sun Java System Portal Server
(省略可能、Solaris のみ) Sun Java System Portal Server はメッセージのアーカイブをサポートし、Instant Messaging のセキュアモードでの実行を可能にします。また、Portal Server デスクトップによりエンドユーザーは Instant Messenger クライアントを利用することができます。次の 2 つの Sun Java System Portal Server コンポーネントは追加機能を提供します。
Portal Server デスクトップ
Sun Java System Portal Server 環境にインストールした Instant Messenger は、Portal Server デスクトップのエンドユーザーが使用できる Instant Messaging チャネルから起動できます。
Sun ONE Portal Server, Secure Remote Access
Solaris ベースまたは Windows ベースのシステムでは、Sun ONE Portal Server, Secure Remote Access を使用することで、リモートエンドユーザーはインターネットを通じて、各自の組織のネットワークとサービスに安全にアクセスできます。エンドユーザーは、ポータルゲートウェイ経由で Web ベースの Portal Server デスクトップにログインし、Secure Remote Access にアクセスします。エンドユーザーの認証は、Sun ONE Portal Server に設定されている認証モジュールによって行われます。Sun ONE Portal Server との間にエンドユーザーセッションが確立され、エンドユーザーの Portal Server デスクトップにアクセスできるようになります。
Sun Java System Portal Server 環境では、Instant Messenger をセキュアモードまたは非セキュアモードに設定できます。セキュアモードでは、通信内容は Sun Java System Portal Server の Netlet によって暗号化されます。セキュアモードで Instant Messenger にアクセスすると、Instant Messenger の「状態」領域に鍵のアイコンが表示されます。非セキュアモードでは、Instant Messenger セッションは暗号化されません。Netlet の詳細については、『Sun ONE Portal Server, Secure Remote Access 6.2 管理者ガイド』を参照してください。
サポートされる標準Instant Messaging はインターネット技術に対応しているので、顧客やパートナー企業と共同作業を行う場合でも、組織の内外をまとめて 1 つのアーキテクチャとして維持することができます。また、特定のシステムに束縛されることもありません。Instant Messaging の主要コンポーネントは、すでに定着しているオープンなインターネット標準に基づいています。次に、代表的な標準を示します。
インスタントメッセージの構造フォーマット
Web ドキュメントの標準としては、通常は HTML (HyperText Markup Language) が使用されます。Instant Messenger クライアントもインスタントメッセージを HTML でフォーマットします。これにより、ユーザーはメッセージにハイパーリンクを埋め込むことができます。
アクセスプロトコル
Instant Messaging では、ユーザーの情報と設定は LDAP ディレクトリから取得されます。このディレクトリは、Instant Messaging 専用であっても、Sun Java System Portal Server のディレクトリであっても構いません。ユーザーデータは通常は LDAP 検索機能によって取得されます。
LDAP は、クライアントアプリケーションとサーバーが相互通信を行うための共通言語を提供します。LDAP は、ISO X.500 標準で使用される DAP (Directory Access Protocol) の「軽量」バージョンです。DAP では、任意のアプリケーションが、拡張可能で堅牢な情報のフレームワークによりディレクトリにアクセスできますが、管理コストがかかりすぎます。また DAP ではインターネット標準の TCP/IP プロトコル以外の通信層が使用されており、ディレクトリの命名規則が複雑です。
LDAP は、DAP の優れた機能を保持しながら、管理コストの削減を図っています。LDAP では、TCP/IP 上で動作する開放型ディレクトリアクセスプロトコルと簡易暗号化方式が使用されます。LDAP は、X.500 標準のデータモデルを維持しながら、ハードウェアとネットワークインフラストラクチャに適度な投資をすれば、数百万のエントリをサポートすることが可能です。
通信プロトコルとメッセージ転送プロトコル
サーバー対サーバー、およびクライアント対サーバーの通信は TCP/IP を通じて行われます。
オフラインユーザーへのメッセージ送信には、メッセージ転送プロトコルが使用されます。最も広く使用されるプロトコルは SMTP です。
ブラウザは、Web サーバーからの Instant Messenger リソースファイルの取得に HTTP を使用します。ブラウザは、取得したリソースファイルから HTML を読み取り、ファイルのコンテンツを表示します。
Instant Messaging のアーキテクチャ図 1-1 は、Sun Java System Instant Messaging の基本的なアーキテクチャを示しています。
図 1-1 Sun Java System Instant Messaging の基本アーキテクチャ
Web サーバー (または Web サービスが組み込まれたアプリケーションサーバー) は、ブラウザ経由でクライアントに Instant Messaging リソースをダウンロードします。クライアントはリソースファイルから構成されます。クライアントは、Instant Messaging Server にメッセージを転送するマルチプレクサを通じて他のクライアントにメッセージを送信します。
ディレクトリサーバーは、設定情報、位置、メッセージのルーティング先マルチプレクサなどの、ユーザーおよびグループの配信情報を格納、取得します。メッセージを受信すると、Instant Messaging はこの情報に基づいてメッセージの配信先と配信方法を決定します。また、連絡先リストやその登録情報などのユーザー情報がディレクトリサーバーに格納されることもあります。
この基本的な設定では、Instant Messaging を使用するメールクライアントのユーザーログイン名とパスワードを検証するために、Instant Messaging はディレクトリサーバーに直接アクセスします。
クライアントから送信されるインスタントメッセージは、直接マルチプレクサにルーティングされます。マルチプレクサは、そのメッセージを適切な Instant Messaging Server に送信し、メッセージはそこからさらに別の Instant Messaging Server に転送されるか、またはメッセージがローカルである場合は受信者が関連付けられているマルチプレクサに転送されます (このプロセスの詳細については、「物理的な配備例」を参照)。
新規ユーザーを作成するときは、ディレクトリにユーザーエントリを追加します。エントリを作成または変更するときは、ディレクトリサーバーに付属するツールを使用してディレクトリに変更を加えます。
Instant Messaging コンポーネントの管理には、一連のコマンド行インタフェースとテキストベースの設定ファイルを使用します。Instant Messaging ホストに接続しているどのマシンからも管理タスクを実行できます (ただし、管理者には適切な権限が必要)。
次に、Instant Messaging の 3 つの主要コンポーネントについて、さらに詳しく説明します。
Instant Messaging Server
Instant Messaging Server は、Instant Messenger の権限やセキュリティを管理するなどのタスクを処理し、警告の送信、チャットの開始、使用可能なニュースチャネルへのメッセージの投稿などによって Sun Java System Instant Messenger クライアントが相互に通信できるようにします。
Instant Messaging は、接続を 1 つのソケットに統合するマルチプレクサの接続をサポートしています。マルチプレクサについては、「マルチプレクサ」を参照してください。
エンドユーザー、ニュースチャネル、会議室の管理には、アクセス制御ファイルと Sun Java System Identity Server ポリシーが使用されます。
Instant Messaging Server は、Sun Java System Instant Messaging 製品のインスタントメッセージをルーティング、転送、配信します。
LDAP 直接検索
サーバーは、LDAP サーバーの情報を直接検索できます。LDAP クエリの結果は、事前に設定可能な有効期限に達するまでプロセスにキャッシュされます。詳細については、『Sun Java System Directory Server Administrator's Guide』を参照してください。
メッセージ配信
サーバーは、作成されたメッセージをメッセージ配信経路の次の配信先に送信します。送信先は、受信者のマルチプレクサまたは別のサーバーです。マルチプレクサに送信された場合は、メッセージは適切な受信者に直接ルーティングされます (このプロセスの詳細については、「物理的な配備例」を参照)。
マルチプレクサ
Instant Messaging マルチプレクサコンポーネントは、複数のインスタントメッセンジャー接続を 1 つの TCP (Transmission Control Protocol) 接続にまとめ、この TCP 接続を Instant Messaging Server に接続します。マルチプレクサは Instant Messenger からのデータを読み取り、それをサーバーに書き込みます。同様に、サーバーが Instant Messenger にデータを送信すると、マルチプレクサはそのデータを読み取り、適切な接続にそれを書き込みます。マルチプレクサは、エンドユーザーの認証やクライアントサーバー間のプロトコル (IM プロトコル) 解析は行いません。各マルチプレクサは、1 つの Instant Messaging Server にだけ接続されます。
配備環境の要件に応じて、複数のマルチプレクサをインストールできます。少なくとも 1 つのマルチプレクサのインストールは必須です。詳細については、第 2 章「配備例」を参照してください。
Instant Messenger クライアント
Java ベースの Sun Java System Instant Messenger は、Java プラグインを使用してブラウザベースのアプレットとして使用することができるか、あるいは Java Web Start を使用してスタンドアロンの Java アプリケーションとして使用することができる Instant Messaging のクライアントです。
Solaris で Instant Messenger クライアントを実行するには、Java Web Start を使用する必要があります。Microsoft Windows では、アプレットまたは Java Web Start アプリケーションとして Instant Messenger を実行できます。ただし、Java Web Start アプリケーションとして Sun ONE Instant Messenger を実行することをお勧めします。
Sun Java System Instant Messenger のカスタマイズについては、『Sun Java System Instant Messaging 管理ガイド』を参照してください。
Instant Messenger には、次の通信モードがあります。
- チャット : Instant Messaging 会議室の Sun Java System Instant Messenger バージョン。チャットはリアルタイムの対話機能で、エンドユーザーはこれを利用してプロジェクトを遂行したり、顧客の質問に答えたり、即時性が要求されるその他の業務を遂行したりすることができる。チャットセッション (参加者は 2 名以上) は、必要に応じて作成されるチャット室で保持される
- 会議室 : 会議室は通常のチャットセッションと同様に機能する持続的なチャット室で、次の機能が追加されている
- 警告 : 警告により、Instant Messenger インタフェース経由でエンドユーザーに情報を配信したり、応答することができる。警告は、エンドユーザーに緊急情報を配信できる。警告メッセージの送信者には、メッセージの配信時と受信完了時に通知が送信される
- ポーリング : ポーリング機能により、質問に対する回答をエンドユーザーに要求できる。ポーリングの受信者には質問と選択式の回答を送信し、受信者は回答を選択してそれに返信する
- ニュース : ニュースチャネルは、情報を投稿し、それを共有するためのフォーラムである。エンドユーザーは興味のあるニュースチャネルに登録し、ニュースチャネルの URL にアクセスして更新を確認したり、静的なメッセージを表示してニュースチャネルの更新を確認できる。管理者は、エンドユーザーに必要なニュースチャネルを割り当て、ニュースチャネルの情報を表示したり、情報を提示したりできるユーザーを決定することでニュースチャネルへのアクセスを制御する
配備の設計計画段階では、環境やデータソースなど、要件に関する情報を収集します。この情報に基づいて、ユーザーのニーズに見合った Instant Messaging の配備を設計します。
Sun Java System Instant Messaging が備える柔軟性により、導入後でも、予期しない状況の変化や要件の変更に対応して設計を見直すことができます。
優れた配備を行うための段階は次のとおりです。
計画段階
配備の計画段階では、次の作業を行います。
- インフラストラクチャニーズの決定
たとえば、ネットワーク容量、バックアップインフラストラクチャ、DNS サービスなどがこれにあたります。
- トポロジの設計
トポロジの設計では、システムを複数のサーバーに分割する方法や、これらのサーバー間での通信方法を決定します。
- ディレクトリデータの計画
ディレクトリツリー、スキーマ、Instant Messaging の相互関係を理解する必要があります。
- Instant Messaging アーキテクチャの開発
- Instant Messaging のセキュリティ保護の設計
一般的なセキュリティ上の脅威から Instant Messaging を保護する方法を計画する必要があります。
- 監視戦略の策定
配備の規模を変更するときに考慮すべき事項については、第 3 章「サイズ設定方針の計画」を参照してください。この章では、サイズ設定の基本概念について説明しています。
Instant Messaging の試験運用
配備の設計が完了すると、実際の配備段階に移行します。配備段階では、まず、試験運用用のサーバーインスタンスをインストールし、Instant Messaging が次の処理に対応できることを確認します。
配備に不適切な点がある場合は、不安なく公開できる強力なサービスが完成するまで試験運用設計を修正します。
Instant Messaging の実運用
試験運用を行なって Instant Messaging を調整したら、Instant Messaging を試験運用配備から実運用配備に切り替える計画を立て、それを実行します。次のような内容の運用計画を作成します。
Instant Messaging のインストール方法については、『Sun Java System Instant Messaging インストールガイド』を参照してください。Instant Messaging の管理と保守については、『Sun Java System Instant Messaging 管理ガイド』を参照してください。