IBM が導入したサービス指向アーキテクチャー (SOA) プログラミング・モデルは、サービスを実装し、それをアセンブルしてソリューションにまとめるものです。 SOA を使用することにより、これらのサービスを、アプリケーションおよびアプリケーション が実行中のコンピューター・プラットフォームから独立して、ビルド、デプロイ、統合、および管理できます。
サービス・コンポーネント・アーキテクチャー (SCA) およびサービス・データ・オブジェ クト (SDO) は、この SOA プログラミング・モデルのための基盤を提供します。 SCA はサービス・コンポーネントを記述するモデルを定義し、それらをアセンブルしてソリュ ーションにまとめる方法を提供します。また、SDO は、これらのコンポーネント間で交換される情報のモデルを定義します。 SCA と SDO は、WSDL、XML スキーマ定義言語 (XSD)、 Web Services Policy Framework (WS-Policy) などの Web サービス標準をベースにし、SOA のコンポーネント・モデルを定義するためにこれらのインターオペラビリティー標準を拡張します。
サービス・コンポーネント・アーキテクチャーはビジネス・ロジックを実装から分離し、実装の詳細を知 らなくても統合アプリケーションをアセンブルすることに専念できるようにします。 サービスのインプリメンテーションは、SCA コンポーネントに含まれています。
サービス・コンポーネント・アーキテクチャーによって、コンポーネントをグループ化して SCA モジュール にすることが可能になり、どのサービスがモジュールによってリクエスター以外に公開 されるのかを指定できます。 これによるメリットは、モジュール内でサービスに対して行った変更が、その変更されたモジュ ールのインターフェースが変更されない限り、他のモジュールに影響を与えないことです。
SOA プログラミング・モデルは、 http://www-06.ibm.com/jp/developerworks/webservices/051216/j_ws-soa-progmodel.shtml で入手できる IBM developerWorks の記事「Web サービスを実装するための SOA プログラミング・モデル 第 1 回: IBM の SOA プログラミング・モデル入門」に説明されています。
新規サービスの開発に SOA プログラミング・モデルを使用することに加えて、 サービス指向アーキテクチャーおよび WebSphere ESB を使用して、既存のアプリケーションを、ほとんどまたはまったく変更せずにサービスとして 提供することもできます。