Sun Java Enterprise System 2005Q4 技術の概要

第 4 章 Java Enterprise System ソリューションのライフサイクルの作業

この章では、Java ES ソリューションのライフサイクルの各フェーズに関する概念と用語について説明します。この章では、配備作業、特に配備設計作業と配備実装作業に重点を置いています。

この章では、ライフサイクルのフェーズを次の 3 つのグループに分けて説明しています。

ソリューションのライフサイクルの作業

ソリューションのライフサイクルについては、Java ES ソフトウェアを使ってビジネスソリューションを実装するための標準的な方法として、第 1 章「Java Enterprise System の概要」で紹介しました。この章では、ライフサイクルの各フェーズで行う作業について説明します。 簡単に参照できるようにライフサイクルの図を図 4–1 に再度示してあります。

図 4–1 ソリューションのライフサイクルの作業

この章の後の節で説明する、いくつかの作業から構成される、ソリューションのライフサイクルの各フェーズを示す図。

配備前

ライフサイクルの配備前フェーズでは、ビジネスに関するニーズの分析に基づいて配備シナリオを作成します。配備シナリオは、配備を設計するための仕様としての役割を果たします。

配備前の作業は、図 4–1 に示すように 3 つのフェーズに分けられます。

次の図に示すように、論理アーキテクチャーは、パフォーマンス、可用性、セキュリティー、およびその他のサービス品質要件と組み合わされて、配備シナリオにカプセル化されます。ライフサイクルの配備前のフェーズの詳細については、『Sun Java Enterprise System 2005Q4 配備計画ガイド』を参照してください。

図 4–2 配備シナリオの指定

ユースケースおよび使用分析によりビジネス要件が配備シナリオに変換される過程を示す図。

配備

ライフサイクルの配備のフェーズでは、配備シナリオに基づいて配備設計を作成し、その設計の実装、テスト、および本稼働環境への展開を行います。

通常、配備プロセスには、1 つのソフトウェアソリューションをサポートするために必要な、すべての層およびすべてのインフラストラクチャーサービスレベルのソフトウェアコンポーネントが関連します。通常、カスタム開発されたアプリケーションコンポーネント (J2EE コンポーネント、Web サービス、またはその他のサーバー) と、ソリューションをサポートするために必要な Java ES コンポーネントの両方を配備する必要があります。

配備の作業は、図 4–1 に示すように 2 つのフェーズに分けられます。

配備設計

配備設計フェーズでは、上位レベルの配備アーキテクチャーを作成したあと、下位レベルの実装仕様を作成します。

配備アーキテクチャー

配備アーキテクチャーは、配備シナリオに指定されたサービス品質の要件を満たす方法で、論理アーキテクチャー、つまりアプリケーションの論理的な構築ブロックを物理的なコンピューティング環境にマッピングすることによって作成されます。

次の図に示すように、配備シナリオに基づいて配備アーキテクチャーが作成されます。

図 4–3 配備シナリオに基づいた配備アーキテクチャーの作成

配備シナリオに基づいて配備アーキテクチャーが作成される過程を示す図。

このアーキテクチャー設計の特徴の 1 つとして、パフォーマンス、可用性、セキュリティー、およびその他のサービス品質の要件を満たすように、物理環境がサイジング (コンピュータの台数を決定し、コンピュータのプロセッサの処理能力および RAM の要件を見積もる) されます。サイジングが完了した後、物理環境内にあるさまざまなコンピュータに Java ES コンポーネントとアプリケーションコンポーネントを割り当てます。配備アーキテクチャーの作成時には、さまざまなコンピュータの能力、システムのインフラストラクチャーサービスの特徴、および総所有コストや総利用コストに対する制限を考慮に入れる必要があります。

配備シナリオに含まれる Java ES コンポーネントの数やサービス品質の要件で要求される事項が多ければ多いほど、設計上、より高機能なコンピュータやより広いネットワーク帯域幅が要求されます。ハードウェアが高価でその使用が制限される場合は、固定コスト (ハードウェア) と変動コスト (人的リソースの要件) のバランスやサービス品質の各要件のバランスを再検討したり、設計を見直して効率性を高める必要があります。

配備アーキテクチャーの設計では、試行錯誤の繰り返しが必要な場合もあります。ただし、Java Enterprise System は配備設計の出発点として、一連のリファレンス配備アーキテクチャーを開発します。

参照アーキテクチャーは、特定の配備シナリオ、つまり特定のサービス品質の要件が指定された論理アーキテクチャーに基づいています。参照アーキテクチャーでは、ソフトウェアソリューションは、指定されたサービス品質の要件を満たす方法で、特定の物理環境に配備されます。指定された負荷でのパフォーマンステストは、配備シナリオの開発に使用されたものと同じユースケースのセットに基づいています。参照アーキテクチャーのドキュメントは、非開示の条件付きで Java ES の顧客に提供されます。

リファレンス配備アーキテクチャーまたは複数の参照アーキテクチャーの組み合わせに基づいて、ユーザー独自の配備シナリオの要件を満たす配備アーキテクチャーに関する最初の概要を設計できます。ユーザー独自の配備シナリオと参照アーキテクチャーの元になっている配備シナリオの違いを考慮したうえで、参照アーキテクチャーを調整したり、参照アーキテクチャーを参照点として使用したりできます。このようにして、ユーザー独自のサイジングの影響、パフォーマンス、セキュリティー、可用性、容量、および保守性のニーズを評価できます。

実装仕様

実装仕様によって、配備アーキテクチャーの実装に必要な詳細情報が提供されます。この仕様には、通常、次の情報が含まれます。

実装計画

実装計画は、配備実装フェーズのさまざまな作業をどのように実行するかを示します。この計画には、通常、次の作業が含まれます。

配備実装

配備設計の実装は、前の節と図 4–1 で示した作業から構成されます。実際の配備プロセスでは作業の反復が発生するので、これらの各作業の順序は固定的なものではありません。以下の各項では、主要な各配備実装作業について、これらが通常実行される順序に従って個別に説明します。これらの作業の詳細については、『Sun Java Enterprise System 2005Q4 ドキュメントロードマップ』を参照してください。

ハードウェアのセットアップ

実装仕様には、物理環境に関するすべての詳細情報が含まれています。たとえば、コンピュータ、ネットワーク設計、ネットワークハードウェア (ケーブル、スイッチ、ルータ、ロードバランサなど)、ストレージデバイスなどです。これらのハードウェアはすべて、Java ES ソリューションをサポートするプラットフォームとして設定する必要があります。

ソフトウェアのインストール、アップグレード、および移行

配備アーキテクチャー、および実装仕様が提供する詳細情報によって、物理環境の各コンピュータに配備するアプリケーションコンポーネントおよび Java ES コンポーネントが明らかになります。Java ES の統合インストーラを使って配備アーキテクチャー内の各コンピュータに適切な Java ES コンポーネントをインストールします (「Java Enterprise System 統合インストーラ」を参照)。

インストール計画は、インストーラセッションの順序および範囲を示します。ただし、インストールの実行方法は、初めて Java Enterprise System のインストールを実行するのか、以前インストールした Java ES コンポーネントをアップグレードするのか、またはサードパーティーのコンポーネントを Java Enterprise System と交換するのかどうかによって異なる場合があります。これらの Java ES 導入シナリオの最後の 2 つは、多くの場合、互換性のためにデータやアプリケーションコードの移行を必要とします。

システムの設定とカスタマイズ

さまざまなシステムコンポーネントを統合されたシステムとして連携させるには、いくつかのシステム設定作業を完了させる必要があります。これらの作業の中で最初に完了する必要がある作業は、個々のシステムコンポーネントを起動させるために必要な初期設定です。次に、各 Java ES コンポーネントが対話するコンポーネントと通信できるように設定する必要があります。

各コンポーネントの可用性ソリューションに応じて、高可用性も設定する必要があります。ユーザーが各種サービスにアクセスできるようにユーザーのプロビジョニングを行う必要があります。また、認証と承認のポリシーおよび制御を設定する必要もあります (「統合されたアイデンティティーサービスとセキュリティーサービス」を参照)。

ほとんどの場合、設定作業には、要件どおりの機能セットを実現するために、ある程度の Java ES コンポーネントのカスタマイズが必要です。たとえば、通常は、ポータルチャネルを提供するために Portal Server を、承認タスクを実行するために Access Manager を、ウィルスチェックやスパム防止フィルタリングを使用するために Messaging Server を、それぞれカスタマイズします。

開発と統合

一般に、配備シナリオに指定された論理アーキテクチャーによって、ソリューションの実装に必要なカスタム開発作業の範囲が決まります。

配備によっては、Application Server または Web Server 環境で実行される J2EE コンポーネントを使用して新しいビジネスサービスおよびプレゼンテーションサービスを最初から開発する必要があるので、開発は非常に大規模な作業になります。このような場合には、ソリューションのプロトタイプを作成して、開発成果の全体を実装する前に概念実証テストを実行します。

大規模な開発を必要とするソリューション用に、Sun Java Studio では分散型コンポーネントまたはビジネスサービスをプログラミングするツールを提供しています。Sun Java Studio は、Java ES インフラストラクチャーによりサポートされるアプリケーションのプログラミングとテストを簡素化します。

状況によっては、Java ES コンポーネントを旧バージョンのアプリケーションやサードパーティーのサービスと統合できます。このような統合には、データ層の既存のディレクトリまたはデータサービス、あるいはビジネスサービス層の既存のコンポーネントが含まれることがあります。Java ES コンポーネントをこれらのシステムと統合するには、データまたはアプリケーションコードの移行が必要になる場合があります。

J2EE プラットフォームでは、J2EE リソースアダプタを開発することによって既存のアプリケーションを Application Server 環境にプラグインするコネクタフレームワークを提供し、Message Queue では、さまざまなアプリケーションを統合するための強力な非同期メッセージング機能を提供します。

プロトタイプとパイロットのテスト

必要なカスタマイズ作業または開発作業の量によっては、ある時点で配備アーキテクチャーを検証し、ユースケースと比較して、ソリューションがサービス品質要件を満たしているかどうかをテストする必要があります。

カスタム開発サービスが比較的少ない (ほとんど追加設定の必要がない配備) 場合は、ソリューションで単に Java ES コンポーネントのカスタマイズとシステムのパイロットテストのみが必要になることがあります。

一方、重要な新規のアプリケーションロジックを開発してカスタムサービスを作成した場合、このテストはプロトタイプのテスト、統合テストなどを実施する大規模なものになる可能性があります。

このテストによって配備アーキテクチャーの欠点が判明した場合は、アーキテクチャーを修正してテストを再び実行します。最終的に、この反復プロセスによって、本稼動環境への配備が可能な配備アーキテクチャーおよび実装が完成します。

本稼動への展開

本稼動への展開では、本稼動環境に配備実装を組み入れます。このフェーズでは、本稼動環境での分散型アプリケーションおよびインフラストラクチャーサービスのインストール、設定、起動、本稼動システムのエンドユーザーのプロビジョニング、シングルサインオンおよびアクセスポリシーの設定などを行います。通常、まず限定的な配備を行い、その後に組織全体の実装に移行します。このプロセスでは試験稼動を実行し、適用する負荷を徐々に増やして、サービス品質の要件を満たしていることを確認します。

配備後

ライフサイクルの配備後の段階では、本稼働環境に配備されたソリューションを実行します。ライフサイクルのオペレーションフェーズでは、次の作業を行います。

この章の重要な用語

この節では、この章で使用されている重要な技術用語について説明します。ここでは、用語間の関係や Java Enterprise System の文脈でどのように使用されているかの説明に重点を置いています。

配備

Java Enterprise System ソリューションのライフサイクルプロセスの段階の 1 つ。この段階では、配備シナリオに基づいて、配備設計の作成、実装、プロトタイプ作成、本稼働環境への展開が行われます。このプロセスの最終的な状態は配備 (配備されたソリューション) とも呼ばれます。

配備シナリオ

特定の Java Enterprise System ソリューションに対する論理アーキテクチャーと、そのソリューションがビジネスニーズを満たすために必要なサービス品質の要件。サービス品質の要件には、パフォーマンス、可用性、セキュリティー、保守性、およびスケーラビリティー/潜在能力に関する要件が含まれます。配備設計は、配備シナリオに基づいて開始されます。

開発

Java Enterprise System ソリューションの配備プロセスに含まれる作業の 1 つ。この作業によって、配備アーキテクチャーのカスタムコンポーネントがプログラミングおよびテストされます。

配備前

Java Enterprise System ソリューションのライフサイクルプロセスの段階の 1 つ。この段階では、ビジネスニーズに基づいて配備シナリオが作成されます。このシナリオには、論理アーキテクチャーおよびソリューションが満たす必要のある一連のサービス品質の要件が含まれます。

配備後

Java Enterprise System ソリューションのライフサイクルプロセスの段階の 1 つ。この段階では、分散型アプリケーションの起動、監視、調整によるパフォーマンスの最適化、および動的アップグレードによる新機能の追加が行われます。

リファレンス配備アーキテクチャー

パフォーマンス確認用に設計、実装、およびテストされた配備アーキテクチャー。リファレンス配備アーキテクチャーは、カスタムソリューションの配備アーキテクチャーを設計するときの開始点として使用されます。

ユースケース

分散型のエンタープライズアプリケーションによって実行される、1 つまたは一連のエンドユーザータスク。アプリケーションのパフォーマンスを設計、テスト、および測定するための基礎情報として使用されます。