サービス・コンポーネント・アーキテクチャー (SCA) は、サービス指向アーキテクチャー方式でアプリケーションとシステムを作成する場合のモデルについて記述した、仕様のセットで構成されています。
サービス指向アーキテクチャー (SOA) とは、サービスと呼ばれる個々のビジネス機能とプロセスを組み合わせて高度なビジネス・アプリケーションおよびプロセスをインプリメントするフレームワークです。SOA フレームワークでは、比較的きめの粗いビジネス・コンポーネントがサービスとして公開されます。SOA では、疎結合され、プラットフォームとインプリメンテーションの点で中立の、再使用可能な一連のサービスとして IT 資産を構成します。また SOA では、十分に指定されたインターフェースとコントラクトによって接続される、サービスの組み立てとしてソリューションを設計します。
SCA では、ビジネス・ロジック をインプリメントするコンポーネントに基づいたビジネス・アプリケーション・コードの SOA 組織を促しています。それらのコンポーネントは、サービス指向インターフェースによってケイパビリティーを提供し、他のコンポーネントによってサービス指向インターフェースから提供される、サービス参照と呼ばれる 機能をコンシュームします。
SCA 仕様では、サービス・インターフェースのモデル化の方法のみを定義します。 サービス・インターフェースは、SOA アプリケーションの 2 つの部分の間にあります。 サービス・インターフェースでは、プロバイダー (SOA-SP) がインプリメントする必要があるサービスと、コーディネーター (SOA-SC) が呼び出すことのできるサービスを指定します。SCA サービス・インターフェースは、完全なインターフェースで、最終的には、WSDL 文書または Java™ インターフェースとして具体化されます。
SCA でのサービス・プロバイダーのインプリメンテーションは、サービス・コンポーネントと呼ばれます。 サービス・コンポーネントのインプリメンテーションは、次のいずれかになります。
サービス・インプリメンテーションとサービス・クライアント
サービス・インプリメンテーションは、サービスを提供したり、サービスをコンシュームする、ビジネス・ロジックの具体的なインプリメンテーションです。これらのインプリメンテーションでは、Java や C++ などの多くのインプリメンテーション・テクノロジーの 1 つを使用します。このインプリメンテーションは、ビジネス・プロセスのサーバントです。インプリメンテーションは、他のコンポーネントが使用するインターフェースによって定義された動作セットとしてのサービスを提供します。
またインプリメンテーションでは、サービス参照と呼ばれる他のサービスを使用することもできます。サービス参照は、他の場所で提供されるサービスにインプリメンテーションが依存することを示します。 インプリメンテーションには、1 つ以上の構成可能なプロパティーもあります。プロパティーは、外部で構成可能なデータ値で、インプリメンテーションのビジネス機能に影響を与えます。
SCA サービスでは、標準的に、文書体裁のビジネス・データをパラメーターと戻り値で使用します。これらのパラメーターは、できるだけサービス・データ・オブジェクト (SDO) を使用して表現されます (詳しくは、リソースについてのセクションを参照してください)。サービス、参照、およびプロパティーは、インプリメンテーションの構成可能な部分です。SCA では、それらをまとめてコンポーネント・タイプと呼びます。
参照の構成は、参照をターゲット・サービスにバインドすることによって実行されます。ターゲット・サービスは、その参照を呼び出すときに、インプリメンテーションによって使用されます。 プロパティーの構成には、プロパティーの固有データ値を設定することが含まれます。SCA フレームワークでは、各コンポーネントでの参照およびプロパティーの構成が異なる複数のさまざまなコンポーネントを作成するために、1 つのインプリメンテーションを使用することができます。コンポーネントおよびそのサービスは、他のローカル・コンポーネントによって使用され、コンポーネントはリモート・アクセスで使用可能です。
モジュール組み立て
SCA モジュールとは、共に開発されて SCA システムにデプロイされる、密結合コンポーネントの最大構成です。これは、SCA システム内での疎結合構成の基本単位でもあります。SCA モジュールには、コンポーネント、外部サービス、エントリー・ポイント、および相互接続されたワイヤーのセットが含まれています。モジュールは、SCA システムへのサービスのインプリメンテーションに役立ちます。
エントリー・ポイントは、モジュールによって提供されるパブリック・サービスを定義します。パブリック・サービスは、同じモジュール内の他のコンポーネントによって使用されるようにするか、またはモジュールの外部で使用可能にすることができます。これらは、指定されたバインディングを使用してモジュールによって提供されるサービスを公開するために使用されます。
モジュール内の外部サービスは、他のモジュールによって提供されるリモート・サービスを表します。外部サービスは、そのサービスを使用する SCA モジュールにとって外部にあります。 これらの外部サービスには、SCA コンポーネントによって提供されるすべてのサービス同様に、モジュール内のコンポーネントからアクセス可能です。外部サービスでは、バインディングを使用して外部サービスへのアクセスを記述します。
SCA プロジェクトの作成
すべての SCA プロジェクト開発は、WebSphere® Integration Developer システムで行われます。 詳細については、WebSphere Integration Developer インフォメーション・センター (http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp) を参照してください。