Service Component Architecture(SCA)(サイト・英語)はもともとIBM、オラクル、BEA、SAPを含めたベンダー達によって創設され2007年の3月にOASIS(サイト・英語)に引き渡された。SCAはSOA内のサービス開発と構成用のプログラミングとアッセンブリモデルを定義する。サービスとコンポーネントは、Java内もしくはSCAのプログラミングモデルをサポートする他のプログラミング言語内で開発される。例えばバインディングがSCA仕様(サイト・英語)によって特定される言語等がそれである。
SCAのプログラミングモデルはChappellによれば、インタオペラビリティよりもむしろコードのポータビリティを一番重要としていて、仕様をコント ロールしているマイクロソフトの競合各社によって定義されている。SCAによってサポートされているただ一つの.NET言語は、.NET界では重要な役割を果たさないC++言語である。もしもマイクロソフトがC#かVB.NETバインディングをデザインしたとしても、ポータビリティの観点においては何も得られることがないのである。なぜなら二つの言語は一致したマイクロソフトのプラットフォームに拘束されているからである。更にマイクロソフトは既に類似したプロ グラミングモデルを提供している。Windows Communication Foundation(サイト・英語)がそれである。
まず初めにSCAが純粋にポータビリティに従事しているものであり、インターオペラビリティとは全く関係のないものであるのを理解するのが大切である。ベン ダーの境界線を越えてアプリケーションを繋ぐということについては、SCAは余分なものは何も付加せずスタンダードWebサービスに依存しているので、マイクロソフトがSCAをサポートしないということがアプリケーションを異なるベンダープラットフォーム同士で使用できる云々に関係してくることはあり得ないので ある。
その Service Component Definition Language (SCDL)によって定義されたアッセンブリモデルはインターオペラビリティにも付加されない。
その言語は十分に定義されないのである。そして単一のSCDL定義のコンポジット内の全てのコンポーネントは同じベンダーのインフラ内で作動されなければならないので、マイクロソフトのサポートの欠如がJavaと.NETコンポーネントを含むSCAコンポジットを定義する能力に影響することはないのである。
ポータビリティにおけるSCAの論点は、マイクロソフトもしくは顧客たちがマイクロソフトがSCAをサポートすることによって何の利点も得ないということである。
厳しい現実を踏まえて、今日のマイクロソフトのSCAサポートは10年前のEJBサポートの概念と似たようなものだろう。それでもまだ会社がそれを望んだとしても、マイクロソフトが得られる利点はあまりないのである。SCAがインターオペラビリティよりもむしろ完全にポータビリティに焦点を当てていることと、それをサポートするプログラミング言語とSCDLのミニマリストの性質を踏まえて、マイクロソフトがこの新たに台頭した技術をサポートしても顧客たちには何の利点ももたらされないであろう。
Stefan Tilkov氏(ブログ・英語)は、David Chappell氏の議論を考慮したのち全てが努力に値するものであるかどうかという疑問に賛同し、また焦点を当てている。フォローアップ(source)においてStefanは、”インタオペラビリティは明らかにポータビリティ上回っている。”と言及し、またSCAの成功を疑っている。
私はポータブルでクロスプラットフォームなアッセンブリモデルとプログラミングモデルには成功の余地がないと思う。というのもこの業界には必要な同意条件 がありすぎるからである。CORBAに関してもベンダー達にとって明確な利点はなかったと思う。そもそもMSFTをそれに参加させさえもしなかったのだから。
William Vambenepe氏(ブログ・英語)はSCAがインタオペラビリティのためのものではなくて、”コードのポータビリティのためだけのものでもない”(source)と返答している。また彼はITマネージメントの視点からSCAの利点を考慮している。
それはアプリケーション、サービスマネジメント用に実用的な粒度を備えたマシーンが可読なコンポジットアプリケーションの論理解説である。またこれはアプ リケーションインフラ内で関係性と依存性を理解するのに使用できるものなのだ。アプリケーション界の概念を高いレベルの抽象性に持ち込む。またそれはポリ シープロパゲーション、フェイルオーバー自動化、インパクト解析等のタスクを現実的に自動化することができるものである。
この点においてVambenepe氏によると、マイクロソフトにはSCAをサポートすることによってたくさんの利点がもたらされる。彼はマイクロソフトがSCAをサポートすることによって自身の負担が大幅に減ると考えており、また全てのマネジメントベンダー達が、例えばマイクロソフトとオラクル両方で動作しているコンポーネントを持ったコンポジットアプリケーションを効率的にマネージするのを助けると考えている。Don Box氏(ブログ・英語)は、SCAに賛同した議論を支持しておりVambenepe氏の議論には同意していない(source)。
SCAがどのようにSOA市場に影響し、マイクロソフトがこの論争にどのように反応するのかを観察するのはとても興味深いことだろう。今日InfoQで発行されたSCAスタンダードメンバー、ユーザとのSCAインタビュー(記事・英語)にはSCA論争の論点、またSCAの役割と将来に関する更なる見解が提示されている。