SOAコンポジット・アプリケーション内のサービス・コンポーネント・アーキテクチャ
Oracle SOA Suiteでは、SCA標準を使用して複数のサービス・コンポーネントを1つのSOAコンポジット・アプリケーションに組み立てます。SCAは、次のプログラミング・モデルを提供します。
-
Java、C++などのプログラミング言語やXSLTなどの宣言的な言語を含む各種のテクノロジを使用して記述されたサービス・コンポーネントを作成します。SCAでは、特定のプログラミング言語やテクノロジ(Webサービスを含む)を使用する必要はありません。
-
複数のサービス・コンポーネントを1つのSOAコンポジット・アプリケーションに組み立てます。SCA環境では、サービス・コンポーネントはアプリケーションのビルディング・ブロックです。
SCAでは、サービス・コンポーネントの分散グループをアプリケーションにまとめるためのモデルを提供することにより、サービスの詳細、サービスとサービス・コンポーネントの相互作用方法を記述できます。コンポジットはサービス・コンポーネントをグループ化するのに使用され、ワイヤはサービス・コンポーネントを接続するのに使用されます。SCAの目的は、セキュリティおよびトランザクションを含むコンポジットにインフラストラクチャを宣言的に適用することにより、ミドルウェアの問題をプログラミング・コードから除去することです。
SCAには、主に次の利点があります。
-
疎結合
サービス・コンポーネントは、他のサービス・コンポーネントがどのように構築されているかを考慮することなく、他のサービス・コンポーネントと統合できます。
-
柔軟性
サービス・コンポーネントは、他のサービス・コンポーネントと簡単に交換できます。
-
サービス起動
サービスは、同期的または非同期的に起動できます。
-
生産性
サービス・コンポーネントを簡単に統合し、SOAコンポジット・アプリケーションを作成します。
-
簡単なメンテナンスとデバッグ
サービス・コンポーネントは、問題が発生しても簡単に保守やデバッグを実行できます。
SOAコンポジットは複数のサービス、サービス・コンポーネントおよび参照の集合で、単一のアプリケーション内で設計されデプロイされます。サービス、サービス・コンポーネントおよび参照間でのワイヤリングにより、メッセージ通信が可能になります。コンポジットの詳細は、composite.xml
ファイルに格納されています。
図1-1はコンポジットの例を示しています。このコンポジットには、インバウンド・サービス・バインディング・コンポーネント、BPELプロセス・サービス・コンポーネント(Account
)、ビジネス・ルール・サービス・コンポーネント(AccountRule
)および2つのアウトバウンド参照バインディング・コンポーネントが含まれています。