Service Component Architecture

Service Component Architecture(サービス・コンポーネント・アーキテクチャ、SCA)は、サービス指向アーキテクチャ(SOA)に基づくアプリケーションを、サービスとして提供されるコンポーネントの組み合わせとして構築・構成するためのモデルを定めた一連の仕様である。特定のプログラミング言語や実行環境に依存しないことを特徴とする。

歴史

2005年11月30日、BEAシステムズ、IBM、IONAテクノロジーズ、オラクル、SAP、シーベル・システムズ、サイベース、Xcalia、Zend Technologiesの各社が、SCAとデータアクセスの仕様であるService Data Objects(SDO)を共同で発表した。これらの仕様は、後に参加企業が拡大した業界団体Open SOA Collaboration(OSOA)で策定が進められ、2007年3月21日には18社の参加のもと、アセンブリモデル、ポリシーフレームワーク、Java・Spring・BPEL・C++による実装、Webサービス・JMS・EJBセッションBeanとのバインディングなどからなる10件のSCA 1.0仕様が公開された。同時に、以後の標準化をOASISに移管する方針が示された。

2007年8月、OASISはOpen CSAメンバーセクションの下に、アセンブリモデル(SCA-Assembly)、ポリシー(SCA-Policy)、バインディング(SCA-Bindings)、BPEL(SCA-BPEL)、C/C++(SCA-C-C++)、Java(SCA-J)の6つの技術委員会を設置し、バージョン1.1の策定を開始した。しかし、中核となるアセンブリモデル仕様1.1はコミッティドラフトの段階にとどまり、SCA-Assembly技術委員会は2013年以降活動を停止したのち、2016年4月29日に閉鎖された。

代表的なオープンソース実装であったApache Tuscanyも、2016年に開発を終了し、Apacheソフトウェア財団のAttic(終了したプロジェクトの保管場所)に移された。

主な概念

SCAのアセンブリモデルでは、アプリケーションを次のような要素の組み合わせとして記述する。

コンポーネント(component)
実装を設定したインスタンス。プロパティの値や、参照先となるサービスとの接続を指定する。
実装(implementation)
ビジネス機能を具体的に実現するプログラム。JavaのクラスやBPELのプロセス、別のコンポジットなどを用いる。
サービス(service)
実装が外部に提供する、アドレス指定可能なインタフェース。
参照(reference)
実装が、他のコンポーネントが提供するサービスを必要とすることを表す。
プロパティ(property)
実装の動作を外部から設定するための値。
コンポジット(composite)
コンポーネントやサービス、参照と、それらを結ぶワイヤ(wire)を論理的にまとめたもの。構成と配備の基本単位となる。
バインディング(binding)
サービスや参照が、WebサービスやJMSなどの具体的な通信手段でどのようにアクセスされるかを指定する。
ドメイン(domain)
通常は単一の組織が管理する、ある業務領域の機能を提供するサービスの集まり。

また、セキュリティやトランザクション、信頼性のあるメッセージングといった非機能要件は、ポリシーフレームワークにより宣言的に指定する。

関連項目

脚注

  1. 1 2 “Industry Leaders Announce Service Component Architecture (SCA) and Service Data Objects (SDO) Specifications” (英語). Cover Pages. OASIS (2005年11月30日). 2026年10月20日閲覧。
  2. 1 2 3 “Six OASIS Committees Form to Standardize Service Component Architecture (SCA) for SOA” (Press release) (英語). OASIS. 2007年8月9日. 2026年10月20日閲覧.
  3. ↑ “Open SOA Collaboration Vendors Advance SCA and SDO Specs for Standardization” (英語). Cover Pages. OASIS (2007年3月21日). 2026年10月20日閲覧。
  4. ↑ “OASIS Service Component Architecture / Assembly (SCA-Assembly) TC” (英語). OASIS. 2026年10月20日閲覧。
  5. ↑ “SCA-Assembly TC: closing the TC” (英語). OASIS Mailing List Archives (2016年4月21日). 2026年10月20日閲覧。
  6. ↑ “Apache Tuscany” (英語). Apache Attic. Apacheソフトウェア財団. 2026年10月20日閲覧。
  7. ↑ “Service Component Architecture Assembly Model Specification Version 1.1, Committee Draft 05” (英語). OASIS (2010年1月12日). 2026年10月20日閲覧。

外部リンク