Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java Enterprise System 2004Q2 技術の概要 

第 4 章
ライフサイクルの概念

Java Enterprise System ソフトウェアに基づくビジネスソリューションの作成には、図 4-1 に示すように、ライフサイクルの 3 つの各段階に分類される一連の複雑な作業が含まれます。

この章では、これらの各段階で行なう作業とともに、次の各段階に関連する概念や用語について説明します。


要件分析

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

図 4-1 に示すように、要件分析の段階は 3 つのフェーズに分類されます。

次の図に示すように、論理アーキテクチャは、パフォーマンス、可用性、セキュリティ、およびその他のサービス品質に関する要件と組み合わせて、ユーザーの配備例にカプセル化されます。ライフサイクルの要件分析段階の詳細については、『Java Enterprise System 配備計画に関する白書』を参照してください。

図 4-2 配備例の要件分析の結果

ユースケースによって、ビジネスのニーズに基づいて論理アーキテクチャを作成する過程を示す図[D]


配備

ライフサイクルの配備段階では、配備例に基づいて配備設計を作成し、これを本稼動環境に実装、プロトタイプ化、および展開します。

配備プロセスは、ソリューションの論理アーキテクチャだけでなく、パフォーマンス、可用性、セキュリティ、スケーラビリティ、保守性、およびその他のサービス品質の要件にも依存しています。言い換えると、配備アーキテクチャにおけるサービス品質の次元は、配備段階で重要な役割を果たします。

通常、配備プロセスには、1 つのアプリケーションをサポートするために必要な、すべての層およびすべてのインフラストラクチャサービスレベルのソフトウェアコンポーネントが関連します。したがって、物理環境に配備する J2EE コンポーネント、Web サービス、その他のサーバーなどの特定の分散型アプリケーションコンポーネントのほかに、目的のアプリケーションをサポートするために必要な Java Enterprise System コンポーネント (システムコンポーネント) も配備する必要があります。

一般的に、配備段階では、多数の作業が含まれる複雑な反復プロセスが実行されます。ここでは、配備段階でのプロセスに含まれる次の 2 つのフェーズについて説明します。

配備設計

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

配備アーキテクチャ

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

言い換えると、次の図に示すように、配備例に基づいて配備アーキテクチャが作成されます。

図 4-3 配備例に基づく配備アーキテクチャの作成

配備例に基づいて配備アーキテクチャが作成される過程を示す図[D]

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

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

配備アーキテクチャの設計方法は厳密には確立されてないため、試行錯誤の繰り返しが必要な場合もあります。ユーザーは既存のシステムを段階的に拡張しながら、その中でボトルネックを見つけ、そのボトルネックを解決するためにハードウェアを調整したり、アーキテクチャを変更したりします。

配備設計の開始時に、Java Enterprise System は一連のリファレンス配備アーキテクチャを開発します。参照アーキテクチャは、特定の配備例、つまり特定のサービス品質の要件が指定された論理アーキテクチャに基づいています。参照アーキテクチャでは、アプリケーションは、配備例に指定されたサービス品質の要件すべてを満たす方法で、特定の物理環境に配備されます。パフォーマンステストは、配備例の開発に使用されたものと同じユースケースのセットに基づいています。

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

実装設計

実装設計によって、配備アーキテクチャの実装に必要な詳細情報が提供されます。実装設計では、実際のハードウェア、オペレーティングシステム、ネットワーク構造、および物理環境のその他の特徴も指定します。詳細な設計の仕様の中でも、システムサービスにアクセスするためのエンドユーザーのプロビジョニングに必要なディレクトリ情報を指定することがあります。

配備実装

配備実装は実装設計から始まり、一般的に次の作業によって構成されます。

上記の各作業の順序は固定的なものではありません。実際の配備プロセスでは作業の反復が発生します。ただし、以下の各項では、主要な各配備作業について、これらが通常実行される順序に従って個別に説明します。

ハードウェアの指定

実装設計では、物理環境の構成を指定します。たとえば、コンピュータやネットワーク設計のほかに、ケーブル、スイッチ、ルータ、ロードバランサなどのネットワークハードウェアや記憶装置などを指定します。これらのハードウェアはすべて、ユーザーの Java Enterprise System に基づくソリューションをサポートするハードウェアプラットフォームとして取り付ける必要があります。

ソフトウェアのインストール

実装設計によって、物理環境内にある各コンピュータノードに配備されるアプリケーションコンポーネントと Java Enterprise System コンポーネントが明らかになります。Java Enterprise System の統合インストーラを使用して、各コンピュータに各種のシステムコンポーネントや共有コンポーネントをインストールできます。

このインストーラおよびその機能については、「Java Enterprise System の統合インストーラ」を参照してください。

システムの設定

さまざまなシステムコンポーネントを統合されたシステムとして連携させるには、多くのシステム設定作業を完了させる必要があります。個々のシステムコンポーネントを起動するには、初期設定を行なう必要があります。この初期設定は、最初に起動した別のシステムコンポーネントの設定に依存する場合があります。たとえば、Identity Server を設定および起動する前に、Directory Server を起動する必要があります。Identity Server は、Directory Server のディレクトリに書き込まれている LDAP スキーマの拡張機能に依存しているためです。

常に、各 Java Enterprise System コンポーネントをそれぞれが依存するコンポーネントと通信するように設定し、その後に必要な機能セットに対応するように内部で設定する必要があります。各コンポーネントの可用性の実装に応じて、高可用性も設定する必要があります。ユーザーが各種のサービスにアクセスできるように、ユーザーのプロビジョニングを行なう必要があります。また、認証と承認の制御を設定する必要があります。

ユーザーのプロビジョニング、認証、シングルサインオン、および承認については、「統合されたアイデンティティサービスとセキュリティサービス」を参照してください。

カスタマイズと開発

通常、配備例に指定された論理アーキテクチャによって、ソリューションの実装に必要なカスタマイズおよび開発作業の範囲が決定されます。

一部のソリューションでは、Portal Server などの既存のシステムサーバーをカスタマイズするだけで、目的の機能を実現できることがあります。このような場合には、カスタマイズを開始する前に、システムが正しく設定されていることを確認するための最低限の一連のテストを行ないます。

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

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

テスト

カスタマイズまたは開発作業の程度に応じて、一定の時点で配備アーキテクチャを確認する必要があります。言い換えると、ユースケースと比較してソリューションをテストし、サービス品質の要件を満たすことができることを確認する必要があります。

開発したカスタムサービスが比較的少ない場合 (つまりほとんど追加設定の必要がない配備の場合)、システムのパイロットテストを実行できます。一方、重要な新規のアプリケーションロジックを開発してカスタムサービスを作成した場合、このテストが大規模なものになる可能性があります。

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

本稼動への展開

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


オペレーション

ライフサイクルのオペレーション段階では、配備されたアプリケーションを実行して、そのパフォーマンスを監視および最適化したり、アプリケーションをアップグレードして新しい機能を組み込んだりします。

Java Enterprise System 2004Q2 では、監視および管理のための共通のインフラストラクチャ、またはシステム全体を管理するための管理ツールを提供していません。各システムコンポーネントには、それぞれのオペレーションを設定、調整、または管理するための独自の管理ツールが備えられています。将来的には Java Enterprise System のシステム全体を管理できるように、開発が進められています。



前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.