サービスコンポーネントアーキテクチャ(SCA )は、サービス指向アーキテクチャの原則に従うアプリケーションのモデルを提供するために設計されたソフトウェア技術です。 [1] IBM、Oracle Corporation、TIBCO Software などの大手ソフトウェアベンダーによって作成されたこの技術は、幅広い技術を網羅しており、プログラミング言語とアプリケーション環境の中立性を維持するために独立した仕様で指定されています。[1]多くの場合、エンタープライズサービスバス(ESB)が使用されます。
歴史
2005年11月30日に発表された当初のパートナーは、BEA Systems、IBM、IONA Technologies、Oracle Corporation、SAP AG、Sybase、Xcalia、Zend Technologiesでした。[2] 2006年7月26日に発表された追加メンバーは、Cape Clear、Interface21、Primeton Technologies、Progress Software、Red Hat、Rogue Wave Software、Software AG、Sun Microsystems、TIBCO Softwareでした。[3] Siemens AGは、 2006年9月18日にこの技術に取り組む企業のコラボレーションに加わりました。
パートナーに加えて、SCAコミュニティには正式な支持者もいた。[4]
意味
2007年3月21日、OSOAコラボレーションは仕様の最初のバージョンをリリースしました。[5] 仕様では、SCAで設計されたアプリケーションには次のものが必要であるとされています。
- アプリケーションのビジネスロジックと、呼び出されたサービス呼び出しの詳細を切り離す
- C++、Java、COBOL、PHP、XML、BPEL、XSLTなど、さまざまな言語のサービスを対象にします。
- 一方向、非同期、コールリターン、通知など、さまざまな通信構造を扱う能力
- Web サービス、EJB、JMS、JCA、RMI、RPC、CORBAなどのテクノロジによって通常アクセスされるレガシー コンポーネントまたはサービスに「バインド」する機能
- セキュリティ、トランザクション、信頼性の高いメッセージングの使用など、サービス品質の要件を(ビジネスロジックの外で)宣言する機能
- データはサービスデータオブジェクトで表現できる
したがって、SCA は、再利用可能なコンポーネントを SOA プログラミング スタイルで柔軟に組み込むことで、 複合アプリケーションに柔軟性を提供するために推進されました。
マーケティング会社ガートナーグループは、 2005年12月にSCAとそれに含まれるサービスデータオブジェクト(SDO)の技術を宣伝する短い概要を発表しました。[2]
利点:
- 既存のJavaプラットフォームテクノロジーとC++に対応
- 技術への依存度が低い – Javaプログラミング言語やXMLに依存する必要がない
- サービスデータオブジェクトはデータアクセスのための技術仕様である
デメリット:
- 仕様では SOA アプリケーションのパフォーマンスについて触れられておらず、これが引き続き採用の妨げとなっています。
- 相互運用性ではなく移植性に重点を置くため、[6] CORBAの間違いを繰り返す危険性があります。 [7]
SCA は、「アクティベーション」と呼ばれるアプローチを通じて相互運用性を提供すると言われていました。SAP のアーキテクトが説明したように、これは、 JCAで使用される古い「仲介」( JBIなど)または「呼び出し」方法と比較して、コンポーネントの自律性を最大限に高める方法です。[8]
遺物
SCAアセンブリ モデルは、 XML ファイルに含まれる要素によって定義される一連の成果物で構成されています。SCA ランタイムには、これらの XML ファイルによって表される成果物の非標準表現が含まれる場合があり、システムの構成を動的に変更できる場合があります。ただし、XML ファイルは SCA 成果物の移植可能な表現を定義します。
基本的な成果物はコンポジットです。これは SCA のデプロイメントの単位であり、リモートからアクセスできるサービスを保持します。コンポジットには 1 つ以上のコンポーネント[9]が含まれます。コンポーネントにはモジュールによって提供されるビジネス機能が含まれます。コンポーネントはサービスとして機能し、同じモジュール内の他のコンポーネントが使用することも、エントリ ポイントを介してモジュールの外部で使用できるようにすることもできます。コンポーネントは他のコンポーネントによって提供されるサービスに依存する場合もあります。これらの依存関係は参照と呼ばれます。参照は、同じモジュール内の他のコンポーネントによって提供されるサービスにリンクすることも、モジュールの外部で提供されるサービスにリンクすることもできます。これらのサービスとは、他のモジュールによって提供されるサービスです。モジュールの外部で提供されるサービス (他のモジュールによって提供されるサービスを含む) への参照は、モジュールの外部サービスによって定義されます。また、モジュールには、ワイヤで表される参照とサービス間のリンクも含まれます。
コンポーネントは構成された実装で構成されます。実装とは、ビジネス機能を実装するプログラム コードの一部です。コンポーネントは、実装によって宣言された設定可能なプロパティの特定の値を使用して実装を構成します。また、コンポーネントは、実装によって宣言された参照を特定のターゲット サービスに接続して実装を構成することもできます。
コンポジットは、 SCA システム内にデプロイされます。SCA システムは、単一の組織によって管理されるビジネス機能の領域を提供する一連のサービスを表します。たとえば、企業の経理部門の場合、SCA システムはすべての財務関連機能をカバーし、顧客アカウント用と買掛金アカウント用のモジュールなど、特定の会計領域を扱う一連のモジュールを含む場合があります。SCA システムの構築と構成を支援するために、Java クラスやBPELプロセスと同じように、コンポジットをコンポーネント実装として使用できます。つまり、SCA では、任意の深さのコンポジットの階層が許可されます。このようなネストされたモデルは再帰的と呼ばれます。
セキュリティなどの非機能要件の取得と表現は、サービス定義の重要な側面であり、コンポーネントと構成のライフサイクル全体にわたって SCA に影響します。SCA は、コンポーネントの設計から具体的な展開まで、制約、機能、およびサービス品質 (QoS) の期待値の仕様をサポートする ポリシー フレームワークを提供します。
標準化団体への移行
非公式な業界協力のもとで数年間のインキュベーションを経て、この仕様の初期 (V1.0) 実装が市場に投入されつつあります。協力パートナーは、正式な業界標準化が次のステップとして適切であるとし、2007 年 3 月にその意向を発表しました。標準化組織として選ばれたのはOASIS 組織であり、新しいOASIS Open CSA メンバー セクションが設立されました。[10] 6 つの新しい技術委員会 (TC) の憲章が OASIS に提出され[11]、技術委員会メンバーの参加要請が OASIS 組織内で発行されました。技術委員会は 2007 年 9 月に作業を開始する予定です。これらの OASIS SCA TC への参加は、すべての企業、非営利団体、政府、学術機関、および個人に開放されています。作業のアーカイブはメンバーと非メンバーの両方がアクセス可能であり、OASIS はパブリック コメントのメカニズムを提供します。[12]
参照
- Apache サービスミックス
- ビジネスプロセスモデルと表記法(BPMN)
- Docker (ソフトウェア)
- エンタープライズ アプリケーション統合(EAI)
- Mule(ソフトウェア)
- オープンESB
- リアクティブプログラミング
- セマンティック サービス指向アーキテクチャ(SSOA)
- サービス指向モデリング
- Windows 通信基盤(WCF)
参考文献
- ^ ab Edwards, Mike. 「サービスコンポーネントアーキテクチャ」。OASIS 。 2011年4月7日閲覧。
- ^ ab Daniel Sholler、David Mitchell Smith (2005 年 12 月 5 日)。「新しい SOA 仕様が Java ユーザーの間でニッチを埋める」(PDF)。Gartner Group。2017年4 月 29 日閲覧。
- ^ テクノロジー srinivas ベンダーが SOA テクノロジーに関するコラボレーションを拡大 http://www.hoise.com/primeur/06/articles/monthly/AE-PR-08-06-92.html 2011-07-12 にWayback Machineでアーカイブ
- ^ OSOA テクノロジー サポーター http://www.osoa.org/display/Main/Current+OSOA+Supporters+Community
- ^ 「サービス コンポーネント アーキテクチャ仕様」。Open SOA Collaboration Web サイト。2007 年 10 月 12 日時点のオリジナルよりアーカイブ。2017年4 月 29 日閲覧。
- ^ [1] Archived 2008-07-05 at the Wayback Machine SCA & SDO、次のCorba?
- ^ 「ACM Queue - CORBA の興亡: かつて有望視されていたこの分散コンピューティング技術の裏話 - なぜ期待はずれだったのか、そしてそこから何を学べるのか」。2008 年 12 月 2 日時点のオリジナルよりアーカイブ。2011 年 4 月 8 日閲覧。CORBA の興隆と衰退
- ^ 「community.user: SCA、Java EE、JBI の比較 | SCN」。Sdn.sap.com。2005 年 12 月 12 日。2012 年 12 月 17 日にオリジナルからアーカイブ。2013年 6 月 16 日に取得。
- ^ Bell, Michael (2008)。「サービス指向の概念化」。サービス指向モデリング: サービス分析、設計、アーキテクチャ。Wiley & Sons。p. 3。ISBN 978-0-470-14111-3。
- ^ 「OASIS Open CSA Member Section for SCA」。
- ^ 「OASIS Open CSA メンバー セクションに提案された 6 つの技術委員会」。
- ^ 「SOA 向けサービス コンポーネント アーキテクチャ (SCA) の標準化に向けて 6 つの OASIS 委員会が結成」
さらに読む
- 専門家ジム・マリノとマイケル・ロウリーによるSCAの理解[2]
- ビジネス開発者のための SOA: 概念、BPEL、および SCA— ISBN 978-158347-065-7
- アパッチ・トスカーナの活動、ISBN 978-1-933988-89-4
- オープンソース SOA、ISBN 1-933988-54-1
外部リンク
- 2013年2月19日のメール、OASIS SCAアセンブリ技術委員会の死、そのメールで素晴らしいSCAが亡くなりました
- 2015年2月20日のメール、リーダーのジム・マリノがOracleがSCAを廃止することについて語る
- NetBeans SOA 複合アプリケーション プロジェクト ホーム
- ラクダ
- OpenESB で Apache Camel を実行する
- SCA Dr. Dobb'sのプログラミング入門
- Apache Tuscany – SCA 仕様のオープンソース実装
- SALT - C++、Python、Ruby、PHP 向けのエンタープライズ対応 SCA ランタイム
- PocoCapsule for WS and SCA 2007-11-19 にWayback Machineにアーカイブされました。制御の反転 (IoC) とドメイン固有モデリング (DSM) に基づくオープン ソースの C++ SCA コンテナーです。
- Newton オープンソース分散 SCA & OSGi ランタイム
- FraSCatiと呼ばれるSCAランタイムを含むフランスの公的研究プロジェクト
- OASIS Web サイトの SCA ホームページ
- 現在の SCA リソースと資料
- 最新の SCA および SDO ニュース
- SCA の紹介 - Chappell & Associates の David Chappell によるチュートリアル
- Eclipse STP/SCAサブプロジェクト SCA用のツールセットを提供するオープンソースのEclipseプロジェクト
- マイクロサービスアーキテクチャのパターンとベストプラクティス
- martinfowler マイクロサービス アーキテクチャ サイト
- スマートエンドポイントとダムパイプ – martinfowler
