PR
左から、米BEAシステムズのエドワード・コブ氏、米オラクルのジェフ・ミンスキー氏、英IBMのマイク・エドワード氏
左から、米BEAシステムズのエドワード・コブ氏、米オラクルのジェフ・ミンスキー氏、英IBMのマイク・エドワード氏
[画像のクリックで拡大表示]

 SOA(サービス指向アーキテクチャ)に基づくシステムを構築するための標準技術であるSCA(Service Component Architecture)の策定を進める業界団体にOSOA(Open Service Oriented Architecture)がある。主要メンバーにSCAの重要性や最新動向を聞いた。(聞き手は矢口 竜太郎)

SCAの概要を簡単に教えて欲しい。

IBM エドワード氏 SOAに基づくシステムを構築するための標準技術だ。SOAは、サービスという単位のソフトウエア・コンポーネントの総体として、システム全体をとらえる概念だ。個々のサービスは、標準技術で作られた、再利用性のあるもので、疎結合で組み合わせる。これによってビジネスの変化に即応できるシステムを構築できる。

 SOAに基づくシステムを構築するとき、どんな実装技術を使うかは関係ない。Webサービス関連技術を使っても、JMS(Javaメッセージ・サービス)を使っても、EJB(Enterprise JavaBeans)でも、SOAは実現できる。どんな実装技術を使ったとしても、同じ技術を採用したサービス同士であれば再利用可能であり、疎結合で組み合わせることができる。

 しかし実際は、アプリケーション開発者が得意な実装技術に縛られてしまうことがこれまでのSOAの課題だった。アプリケーションはどんな実装技術を採用するかによって開発の仕方が異なる。例えば、JMSを採用した場合とEJBを採用した場合では開発者に必要な知識もスキルも変わってくる。

 確かに通信プロトコルに関しては、ESB(エンタープライズ・サービス・バス)製品を使えば異なる技術を採用したサービス同士でメッセージをやり取りできるが、アプリケーション開発者はその違いを考慮しなければならない。

 この違いを吸収するのがSCAだ。SCAを使えば、どんな実装技術を採用していても、サービス同士を組み合わせて利用できるようにする。

SCAには、どれだけのインパクトがあるのか。

オラクル ミンスキー氏 異なる実装技術を使ったアプリケーションをSOAに基づいて統合できる。そのため、今後SOAを意識してシステムを開発・変更しようとすれば、ほぼ間違いなく必要になる。3~5年後には、今のJ2EEのように、基幹システムで当たり前に使われるようになるはずだ。

Web2.0と呼ばれるWebサイトで使われる技術は、“軽い”ことが好まれている。REST(Representational State Transfer)が代表例だ。これに対してSOAPやWSDLといったWebサービス関連技術は“重い”。SCAもどちらかといえば“重い”のか。

英IBM エドワード氏 SCAは軽い。実装技術は問わないので、SOAPを使った場合でもRESTを使った場合でもSCAに準拠するできる。決して、Web2.0の潮流と矛盾するものではない。

OSOAでは、実際にどんな作業をしているのか。

米BEAシステムズ コブ氏 18社が集まり、5つほどの技術委員会で仕様を決めている。参加者全員の合意を基に策定するところが特徴だ。最低限どのような機能が必要で、そのうちのどの部分を標準化団体のOASISに提出するかなどを決めている。

 今年3月に「Version 1.0」を発表し、OASISに提出した。現在、認定が下りるのを待っているところだ。1年もすれば標準に採択されるだろう。