第 1 章
配備計画について
この白書は、Sun JavaTM Enterprise System に基づく大規模な配備を計画するための準備情報を提供します。ここでは、配備計画の基本的な概念と原則を示し、企業全体の配備を計画する上での出発点として利用できる多数のプロセスを紹介します。
Java Enterprise System を評価している、または Java Enterprise System に基づいて大規模なアプリケーションの作成と配備を計画している場合は、本書を配備計画プロセスのガイドとしてご利用ください。
この章では、Java Enterprise System の概要について簡単に説明し、後続の章で詳しく説明する配備計画の概念を示します。この章で説明する内容は、次のとおりです。
Java Enterprise System について
Java Enterprise System は、ネットワークまたはインターネット環境に分散された、企業が必要とする強度を持つアプリケーションをサポートするためのサービスを提供するソフトウェアインフラストラクチャです。次の表は、Java Enterprise System のコンポーネントと、それぞれが提供するインフラストラクチャサービスを示しています。
表 1-1 Java Enterprise System コンポーネント
システムコンポーネント
|
提供されるサービス
|
Application Server
|
セッション Beans、エンティティ Beans、メッセージ駆動型 Beans など、Enterprise JavaBeansTM (EJB) コンポーネント用の Java 2 Platform, Enterprise Edition (J2EETM プラットフォーム) コンテナサービスを提供する。コンテナは、密接に結合された分散型コンポーネントの相互動作に必要なインフラストラクチャサービスを提供し、それらのコンポーネントを電子商取引アプリケーションや Web サービスの開発と実行のプラットフォームとする。Application Server は、Web コンテナサービスも提供する
|
Calendar Server
|
エンドユーザーおよびエンドユーザーのグループにカレンダーサービスとスケジューリングサービスを提供する。Calendar Server には、サーバーとの対話に使用されるブラウザベースのクライアントが含まれる
|
Directory Proxy Server
|
企業のファイアウォール外からのアクセスから Directory Server を保護するセキュリティサービスを提供する。Directory Proxy Server は、拡張されたディレクトリアクセス制御、スキーマ互換性、ルーティング、複数の Directory Server インスタンス間でのロードバランスを提供する
|
Directory Server
|
ID プロファイル (従業員、顧客、取引先など)、ユーザークレデンシャル (公開鍵証明書、パスワード、PIN 番号)、アクセス権、アプリケーションリソース情報、ネットワークリソース情報など、イントラネットおよびインターネットに関する情報を格納、管理するための中央リポジトリを提供する
|
Identity Server
|
アクセス管理サービスと、デジタル ID 管理サービスを提供する。アクセス管理サービスには、アプリケーション、サービス、または両方へのアクセスの認証 (シングルサインオンを含む) およびロールベースの認証が含まれる。管理サービスには、個々のユーザープロファイル、ロール、グループ、ポリシーの一元管理が含まれる
|
Instant Messaging
|
インスタントメッセージング (チャット)、会議室、アラート、ニュース、調査、ファイル転送など、エンドユーザー間で行われるセキュリティ保護されたリアルタイムの通信を提供する。サービスには、現在誰がオンライン状態にあるかをユーザーに示す Presence マネージャが含まれ、サーバーとの対話に使用されるブラウザベースのクライアントが含まれる
|
Message Queue
|
緩やかに結合されたコンポーネントおよびアプリケーション間での、信頼性の高い非同期メッセージングを提供する。Message Queue は Java Message Service (JMS) API 仕様を実装し、セキュリティ、スケーラビリティ、リモート管理などのエンタープライズ機能を追加する
|
Messaging Server
|
電子メール、ファックス、ポケベル、ボイスメッセージ、ビデオメッセージをサポートする、セキュアで信頼性が高く、大容量のストアアンドフォワードメッセージングを提供する。同時に複数のメッセージストアにアクセスすることができ、迷惑メールの排除やウィルス攻撃の防止に役立つコンテンツフィルタリングを提供する
|
Portal Server
|
ビジネスアプリケーションまたはサービスにアクセスするブラウザベースのクライアントに、コンテンツ集約や個人用カスタマイズなどの主要ポータルサービスを提供する。Portal Server は、設定可能な検索エンジンも提供する
|
Secure Remote Access
|
内部ポータルやインターネットアプリケーションなど、Portal Server のコンテンツやサービスへの、企業ファイアウォール外からのセキュリティ保護されたインターネットアクセスを提供する
|
Web Server
|
Java サーブレットや JavaServer PagesTM (JSPTM) コンポーネントなど、Java Web コンポーネント用の J2EE プラットフォーム Web コンテナサービスを提供する。Web Server は、CGI スクリプトや ASP (Active Server Page) などのスタティックおよびダイナミックな Web コンテンツを提供するための、その他の Web アプリケーション技術もサポートする
|
Sun Cluster
|
Java Enterprise System、Java Enterprise System インフラストラクチャ上で稼動するアプリケーション、両者が配備されるハードウェア環境に、高可用性サービスとスケーラビリティサービスを提供する
|
Java Enterprise System のサービスセット
Java Enterprise System の配備は、通常は 2 つの大きなカテゴリに分類されます。1 つは、主に Java Enterprise System が提供するサービスから構成され、もう 1 つは独自に開発したサービスやサードパーティ製アプリケーションを多数統合したものです。前者の配備を 80:20 配備 (Java Enterprise System が提供するサービスが 80%)、後者を 20:80 配備と考えることができます。
|
注
|
企業の実際の配備では、要件に合わせて独自に開発されたサービスが占める割合は大きく異なります。
豊富なサービスセットが用意されている Java Enterprise System は、特に 80:20 配備に適しています。たとえば、企業全体用の通信システムや、企業全体用のポータルシステムの配備は比較的容易です。
ただし、カスタム開発が必要な配備では、Java Enterprise System はカスタム開発されたサービスやアプリケーションを作成、統合する機能を提供します。
|
|
次の表は、エンタープライズ配備を提供する Java Enterprise System コンポーネントの組み合わせを示しています。一部のコンポーネントは、複数の組み合わせに含まれます。
表 1-2 Java Enterprise System のサービスセット
サービスセット
|
Java Enterprise System コンポーネント
|
ネットワークアイデンティティサービス
|
Identity Server Directory Server Web Server
|
エンタープライズポータルサービス
|
Portal Server Secure Remote Access Identity Server Directory Server Application Server または Web Server
|
エンタープライズ通信および共同作業サービス
|
Messaging Server Calendar Server Instant Messaging Identity Server Directory Server Application Server または Web Server
|
Web およびアプリケーションサービス
|
Application Server Message Queue Web Server
|
可用性サービス
|
Sun Cluster 3.1 4/04 Sun Cluster エージェント
|
表 1-2 に示されるほとんどの組み合わせは、80:20 の配備を提供できます。たとえば、エンタープライズ通信および共同作業サービスの組み合わせを使用して、電子メール、カレンダー、インスタントメッセージングのサービスをエンドユーザーに提供し、各自のコンテンツを集計およびカスタマイズできる配備を作成できます。同様に、ネットワークアイデンティティサービスとエンタープライズポータルサービスの組み合わせを使用して、カスタムサービスの開発や統合なしに、企業全体用のアプリケーションをインストール、設定できます。
可用性サービスの組み合わせは、エンタープライズアプリケーションの大規模な配備に高可用性を提供します。企業のアプリケーションが、アプリケーションサーバーまたは Web サーバーで稼動する J2EE プラットフォームサービスのカスタム開発が必要とする場合は、Web およびアプリケーションサービスの組み合わせを使用します。
Java Enterprise System の各種サービスは相互動作性が確保されているので、企業の特定のニーズに合わせてサービスを独自に組み合わせることができます。
Java Enterprise System の利点
エンタープライズ規模の配備を成功させるには、3 つの鍵があります。
次のテーブルに示すように、Java Enterprise System にはこれらの条件を満たすためのツールが用意されています。
表 1-3 Java Enterprise System の利点
利点
|
説明
|
簡単に使用できる
|
Java Enterprise System は、インストール、設定、アップグレードを簡単に行うための共通のインストーラが用意されている
Java Enterprise System は、個別に開発された個々の製品やミドルウェアの統合から、わずかなカスタマイズで配備および設定できる統合されたプラットフォームサービスのシステムへの転換を実現する
|
予見性が高い
|
Java Enterprise System のリリースサイクルは、Java Enterprise System コンポーネント間の互換性を考慮している。新規リリースにアップグレードするときに、コンポーネント間で互換性が失われたり、不均衡が生じることを回避できる
Java Enterprise System コンポーネントは共有プラットフォームコンポーネントセットを使用しているため、サービスの相互動作が容易である
Java Enterprise System の予定リリース配布モデルにより、開発計画の予見性が高くなる
|
経済的
|
Java Enterprise System の商用ライセンスは単一ユニット価格モデルを採用しているため、配備のインストールとアップグレードの複雑さとコストが低減される。この単一ユニット価格には、サポート、メンテナンス、カウンセリングのサービスも含まれる
OEM および教育用ライセンス向けの価格モデルも用意されている
|
配備計画の概要
次の図に示すように、優れた配備計画は一連の段階を踏まえた慎重な準備、分析、設定の結果です。
図 1-1 配備計画のフェーズ
図 1-1 に示される各フェーズには、仕様としてまとめられる一連の分析や手順、および次のフェーズに持ち越される設計が含まれます。次の各項は、各配備計画フェーズの概要を説明しています。
ビジネス分析フェーズ
ビジネス分析フェーズでは、配備プロジェクトのビジネス上の目的を定義し、その目的を果たすために必要となるビジネス要件を明確にします。ビジネス要件を明確化するときは、ビジネス上の目的を果たす上で障害となりうるビジネス上の制約を考慮します。ビジネス分析フェーズでは、ビジネス要件ドキュメントを作成します。このドキュメントは、後の技術要件フェーズで使用され、配備の設計の完成度を測る指標となります。
ビジネス分析フェーズの詳細については、第 2 章「ビジネス分析」を参照してください。
技術要件フェーズ
技術要件フェーズでは、ビジネス分析フェーズで作成したビジネス要件ドキュメントに基づいて、これらの要件を、配備アーキテクチャの設定に使用される技術仕様に変換します。技術要件フェーズでは、次の情報を準備します。
- ユーザータスクと使用パターンの分析
- 計画される配備に対するユーザー操作のモデルケースの適用
- ユーザータスクと使用パターンの分析に基づく、ビジネス要件から派生するシステム要件
使用パターンの分析結果、使用のモデルケース、およびシステム要件ドキュメントは、次の論理設計フェーズの入力情報となります。
技術要件を分析するときは、サービスレベルの要件も明確にします。この要件は、配備したシステムがシステム要件を満たせない場合にカスタマーサポートを適用する条件を規定します。サービスレベル要件は、プロジェクト承認時に署名されるサービスレベルアグリーメントの基本となります。
技術要件フェーズの詳細については、第 3 章「技術要件」を参照してください。
論理設計フェーズ
配備の設計は論理設計フェーズから始まります。このフェーズでは、技術要件フェーズで明確にした、操作のモデルケースに対応する Java Enterprise System のサービスと依存性を表す論理アーキテクチャを設計します。
論理アーキテクチャとシステム要件ドキュメントは、配備シナリオの特徴を決定付けます。論理アーキテクチャは、配備シナリオの実装に必要なハードウェアを指定しません。
論理設計フェーズの詳細については、第 4 章「論理アーキテクチャの設計」を参照してください。
配備設計フェーズ
配備設計フェーズでは、配備シナリオから物理的な環境へのマッピングを表す配備アーキテクチャを作成します。物理環境とは、配備のためのネットワークインフラストラクチャで、コンピュータノード、各ノードのハードウェア要件、ファイアウォール、ネットワーク上のその他のデバイスが含まれます。
マッピングのプロセスは、システム要件を満たすために必要となる実際のハードウェアを特定するための配備のサイズ決定と、予算に合わせて配備アーキテクチャを最適化する戦略の決定から構成されます。
配備プロジェクトの承認は、通常は配備アーキテクチャの作成後に行われます。プロジェクト承認時には配備のコストが見積もられ、承認された場合は、配備の実装契約に署名がなされ、プロジェクトを構築するためのリソースが確保されます。
配備設計フェーズでは、詳細な設計仕様も作成されます。設計仕様は、実際のハードウェア、オペレーティングシステム、ネットワーク設計、およびその他の物理環境など、配備アーキテクチャの実装に必要な詳細を定めます。詳細な設計仕様では、システムサービスにアクセスするユーザーのプロビジョニングに必要なディレクトリサービスのデータ構造も指定されます。配備プロジェクトのプロセスとポリシーによっては、プロジェクト承認の前後に関係なく設計仕様が作成されます。
配備設計フェーズの詳細については、第 5 章「配備アーキテクチャの設計」を参照してください。
実装フェーズ
実装フェーズでは、配備アーキテクチャを構築します。配備プロジェクトの性質に応じて、このフェーズには次の手順の一部またはすべてが含まれます。
- パイロット、プロトタイプ、または両方の配備を作成し、テスト環境に配備する
- システム要件を満たすことを確認するために、機能テストを設計、実行する
- ピーク負荷時のパフォーマンスを確認するために、ストレステストを設計、実行する
- 運用段階で使用される可能性のある、運用配備を作成する
配備が運用段階に入った後も、ビジネス上の目的を確実に果たせるように、配備の監視、テスト、調整を継続する必要があります。
実装フェーズの詳細については、第 6 章「配備設計の実装」を参照してください。