この章では、Sun JavaTM Enterprise System (Java ES) の概要、配備計画の概念、およびソリューションライフサイクルについて説明します。 ソリューションライフサイクルの説明では、企業のソフトウェアシステムの計画および設計を行うためのさまざまなステップの概要を示します。この章で説明する内容は、次のとおりです。
Java Enterprise System は、ネットワークまたはインターネット環境に分散された、企業のアプリケーションをサポートするためのミドルウェアサービスをすべて提供するソフトウェアインフラストラクチャーです。サービスを提供する Java Enterprise System のコンポーネントは、共通のインストーラを使用してインストールされ、共通の共有ライブラリセットに同期化され、ユーザーアイデンティティーとセキュリティー管理の統合システムを共有します。
Java Enterprise System のコンポーネントによって提供される主なインフラストラクチャーサービスは、次のように分類されます。
ポータルサービス: これらのサービスは、モバイル従業員、在宅勤務者、ナレッジワーカー、ビジネスパートナー、取引先、および顧客が企業ネットワーク外のどこからでもインターネットを経由して、個人用カスタマイズされた企業ポータルに安全にアクセスすることを可能にします。これらのサービスは、いつでも、どこからでもユーザーのコミュニティーにアクセスすることを可能にするとともに、統合、集約、個人用カスタマイズ、セキュリティー、モバイルアクセス、および検索を実現します。
通信および共同作業サービス: これらのサービスは、多様なユーザーコミュニティー間で情報を安全に交換することを可能にします。具体的な機能としては、ユーザーのビジネス環境に即したメッセージング、リアルタイム共同作業、カレンダスケジューリングなどがあります。
ネットワークアイデンティティーおよびセキュリティーサービス: これらのサービスは、適切なアクセス制御ポリシーをすべてのコミュニティー、アプリケーション、およびサービスに対してグローバルベースで実施することで、企業の重要な情報資産のセキュリティーと保護を強化します。これらのサービスは、アイデンティティープロファイル、アクセス権、およびアプリケーションとネットワークのリソース情報の格納と管理に使用されるリポジトリと連動します。
Web およびアプリケーションサービス: これらのサービスは、分散されたコンポーネントが相互に通信することを可能にするとともに、さまざまなサーバー、クライアント、およびデバイス用のアプリケーションの開発、配備、および管理をサポートします。これらのサービスは、Java 2 Platform, Enterprise Edition (J2EETM) テクノロジに基づいています。
可用性サービス: これらのサービスは、アプリケーションと Web サービスのほぼ連続的な可用性とスケーラビリティーを提供します。
次の表は、上記のサービスカテゴリと、各カテゴリのサービスを提供する Java Enterprise System コンポーネントを示しています。
表 1–1 Java Enterprise System のサービスカテゴリ
サービスカテゴリ |
Java Enterprise System コンポーネント |
---|---|
ポータルサービス |
Portal Server Portal Server Secure Remote Access Access Manager Directory Server Application Server Web Server |
通信および共同作業サービス |
Messaging Server Calendar Server Instant Messaging Access Manager Directory Server Application Server Web Server |
ネットワークアイデンティティーサービス |
Access Manager Directory Server Web Server |
Web およびアプリケーションサービス |
Application Server Message Queue Web Server |
可用性サービス |
Sun Cluster Sun Cluster エージェント |
Java Enterprise System のサービス、コンポーネント、および Java Enterprise System のアーキテクチャー概念の詳細については、『Sun Java Enterprise System 2005Q4 Technical Overview』を参照してください。
Java Enterprise System に基づく配備ソリューションは一般に、次の 2 つのカテゴリに分類されます。
80:20 配備: これらのソリューションは、主に Java Enterprise System によって提供されるサービスで構成されます。サービスの 80% 以上が Java Enterprise System によって提供されます。
20:80 配備: これらのソリューションは、多数のカスタム開発されたサービスおよびサードパーティー製アプリケーションで構成されます。
80:20 および 20:80 の分類は、大まかな一般化です。提供されるサービスのタイプの正確な割合は重要ではありません。ただし、割合は、ソリューションに含まれるカスタマイズの量を示します。
Java Enterprise System は、特に 80:20 配備に適しています。Java ES によって豊富なサービスセットが提供されるためです。たとえば、Java Enterprise System によって提供されるサービスを使用すると、企業全体用の通信システムや企業全体用のポータルシステムの配備は比較的容易に行えます。
カスタム開発を必要とする配備については、Java Enterprise System は、カスタム開発によるサービスとアプリケーションの作成と統合をサポートします。
「システムサービス」に示されているサービスカテゴリのほとんどは、80:20 配備を提供するために使用できます。たとえば、通信および共同作業サービスは、電子メール、カレンダ、およびインスタントメッセージングの各サービスをエンドユーザーに提供し、エンドユーザーがコンテンツを集約および個人用カスタマイズすることを可能にします。同様に、ネットワークアイデンティティーサービスとエンタープライズポータルのサービスカテゴリは、カスタムサービスの開発や統合なしに、企業全体用のアプリケーションのインストールと設定を行うことを可能にします。
J2EE プラットフォームサービスのカスタム開発が必要な企業ソリューションは、Application Server、Message Queue、または Web Server を活用できます。これらには、Java Enterprise System の Web およびアプリケーションサービスが提供されます。
企業の配備では、必要とされるカスタム開発されたサービスの数は大きく異なります。Java Enterprise System の各種サービスは相互運用性が確保されているので、企業の特定のニーズに合わせてサービスを独自に組み合わせることができます。
Java Enterprise System を使用する企業ソリューションの計画、設計、および実装は、主に現行の配備戦略によって決まります。初めての配備ソリューションを計画している企業の場合、計画、設計、および実装は、主に企業の特定のニーズによって決まります。ただし、初めての配備ソリューションは一般的ではありません。Java Enterprise System を使用して、企業の既存のソリューションを強化したり、古いバージョンの Java Enterprise System コンポーネントをアップグレードしたりするソリューションのほうが一般的です。
既存のソリューションを交換またはアップグレードする場合、計画、設計、および実装において追加の手順を実行し、既存のデータが保持されることおよびソフトウェアが最新のバージョンに適切にアップグレードされることを確認する必要があります。このマニュアルで概要が説明されている分析および設計を行う際は、既存のソフトウェアシステムの交換およびアップグレードに必要な準備と計画に留意してください。
最新のバージョンの Java Enterprise System にアップグレードする方法およびほかのアプリケーションから移行する戦略の詳細については、『Java Enterprise System アップグレードと移行』を参照してください。
配備計画は、Java Enterprise System ソリューションの実装を成功させるにあたって不可欠なステップです。企業はそれぞれ独自の目標、要件、および優先順位を考慮する必要があります。計画を成功させるには、企業の目標を分析し、それらの目標を達成するためのビジネス要件を特定することから始めます。その後、ビジネス要件を、企業の目標を達成するシステムの設計と実装のベースとして使用される技術要件に変換する必要があります。
配備計画の成功は、慎重な準備、分析、および設計によってもたらされます。計画プロセス中に誤りや失敗があると、いろいろな形でシステムが失敗する恐れがあります。重大な問題は、システムの計画が不完全であることから生じる可能性があります。たとえば、パフォーマンスが予定を下回る、保守が難しい、運用コストが高すぎる、リソースを浪費する、増大するニーズに対応できないといった問題がシステムに生じる恐れがあります。
次の図に示すソリューションライフサイクルは、Java Enterprise System をベースにした企業のソフトウェアソリューションの計画、設計、および実装におけるステップを説明しています。ライフサイクルは、配備プロジェクトを進める上で有用なツールです。
ライフサイクルは、順序性のあるフェーズで構成されています。各フェーズは、後続フェーズへのインプットとして渡されるアウトプットを生成する関連性のあるタスクで構成されています。各フェーズ内のタスクは、そのフェーズのアウトプットを生成する前に徹底的な分析と設計を必要とするもので、繰り返し実行されます。初期のいくつかのフェーズも、繰り返し実行されることがあります。たとえば、配備設計フェーズでは、それまでのフェーズでの分析が不十分で、さらに分析する必要があることに気が付く場合があります。
以降の各節では、各ライフサイクルフェーズの概要を説明しています。
ビジネス分析フェーズでは、配備プロジェクトのビジネス上の目的を定義し、その目的を果たすために必要となるビジネス要件を明確にします。ビジネス要件を明確化するときは、ビジネス上の目的を果たす上で障害となりうるビジネス上の制約を考慮します。ソリューションライフサイクル全体において配備計画の成功度を評価し、最終的には、ビジネス分析フェーズで行なった分析に基づいて、配備ソリューションの成功度を評価します。
ビジネス分析フェーズでは、ビジネス要件ドキュメントを作成します。 このドキュメントは、あとで技術要件フェーズへのインプットとして使用します。
ビジネス分析フェーズの詳細については、第 2 章「ビジネス分析」を参照してください。
技術要件フェーズでは、ビジネス分析フェーズで定義したビジネス要件とビジネス制約に基づいて、これらの要件を技術仕様に変換します。これらの仕様は、あとで行う配備アーキテクチャーの設計に使用されます。技術要件には、パフォーマンス、可用性、セキュリティーなど、サービス品質 (QoS: Quality of Service) の特徴を特定します。
技術要件フェーズでは、次の情報についてドキュメントを作成します。
ユーザータスクと使用パターンの分析
計画中のシステムに対するユーザー操作のモデルとなるユースケースの適用
場合によってはユーザータスクと使用パターンの分析に基づく、ビジネス要件から派生するサービス品質要件
使用パターンの分析結果、ユースケース、および QoS 要件ドキュメントは、ソリューションライフサイクルの論理設計フェーズへのインプットとなります。使用パターン分析は、配備設計フェーズでも重要な役割を果たします。
技術要件フェーズでは、サービスレベル要件も特定する場合があります。 その要件は、あとでサービスレベル契約 (SLA: Service Level Agreement) を作成する際のベースになります。サービスレベル契約には、システムを維持するために提供されるカスタマーサポートの条件を明示します。 これらは、配備設計フェーズにおけるプロジェクト承認の一環として署名されます。
技術要件の詳細については、第 3 章「技術要件」を参照してください。
論理設計では、技術要件フェーズで得られたユースケースをインプットとして使用して、ソリューションの実装に必要な Java Enterprise System コンポーネントを特定します。それらの Java ES コンポーネントをサポートするコンポートを特定するとともに、ビジネス要件を満たすために必要な、追加のカスタム開発されたコンポーネントをすべて特定します。その後、コンポーネント間の相互関係を示す論理アーキテクチャー内のコンポーネントをマッピングします。論理アーキテクチャーには、ソリューションの実装に必要なハードウェアは特定しません。
論理設計フェーズのアウトプットは、論理アーキテクチャーです。論理アーキテクチャーだけでは、配備設計を開始するには不十分です。技術要件フェーズからの QoS 要件も必要です。技術要件フェーズからの論理アーキテクチャーと QoS 要件により、配備シナリオが形成されます。この配備シナリオが、配備設計フェーズへのインプットとなります。
論理設計の詳細については、第 4 章「論理設計」を参照してください。
配備設計では、論理アーキテクチャーに特定されているコンポーネントを物理環境にマッピングし、上位レベルの配備アーキテクチャーを作成します。また、実装仕様も作成します。 これには、配備アーキテクチャーの構築方法を指定する、下位レベルの詳細を示します。さらに、ソフトウェアソリューションの実装におけるさまざまな側面を詳細に説明する一連の計画と仕様も作成します。
プロジェクト承認は、配備設計フェーズで行われます。プロジェクト承認時は、配備のコストが見積もられます。承認された場合、配備の実装に関する契約に署名がされ、プロジェクトを構築するためのリソースが確保されます。多くの場合、プロジェクトの承認は、実装仕様が詳細化されたあとで行われます。ただし、配備アーキテクチャーの完成後に承認が行われる場合もあります。
配備設計フェーズのアウトプットには、次のものがあります。
配備アーキテクチャー: ネットワークハードウェアおよびソフトウェアに対するコンポーネントのマッピングを表す、上位レベルの設計ドキュメントです。
実装仕様: 配備を構築するための青写真として使用される詳細な仕様です。
実装計画: 企業ソフトウェアソリューションの実装におけるさまざまな側面をカバーする、一連の計画と仕様です。実装計画には、移行計画、インストール計画、ユーザー管理計画、テスト計画などが含まれます。
配備設計の詳細については、第 5 章「配備設計」を参照してください。
実装フェーズでは、配備設計で作成された仕様と計画に基づいて、配備アーキテクチャーを構築し、ソリューションを実装します。配備プロジェクトの性質に応じて、このフェーズには次のタスクの一部またはすべてが含まれます。
ハードウェアインフラストラクチャーのインストールと設定をする
ソフトウェアのインストールと設定をする
LDAP ディレクトリ設計でユーザーおよびリソースをモデル化する
ユーザー管理計画に基づいて、既存のディレクトリおよびデータベースからデータを移行する
パイロット配備およびプロトタイプ配備を作成して、テスト環境に配備する
システム要件を満たすことを確認するために、機能テストを設計、実行する
ピーク負荷時のパフォーマンスを確認するために、ストレステストを設計、実行する
企業のカスタムアプリケーションを開発および統合する
本稼働配備を作成する (段階的に行われる場合がある)
配備が本稼働に入ったら、ソリューションライフサイクルの運用フェーズに進みます。
実装フェーズの詳細については、第 6 章「配備設計の実装」を参照してください。
運用フェーズには、配備の実装を円滑に運用するために必要なタスクが含まれます。このフェーズには、次のタスクがあります。
配備を監視して、システムが計画どおりに稼働していることを確認する
パフォーマンスを調整して、配備されたソフトウェアが最適なレベルで実行されることを確認する
円滑な運用のための定期的保守、および必要に応じた臨時保守を提供する
必要に応じてソフトウェアおよびハードウェアをアップグレードする
運用フェーズの詳細については、このマニュアルの対象範囲に含まれません。