[Interview] “非同期”を使いこなす、これがWebサービスの鍵

2003/9/2

 多くの仕様が複雑に絡み合うWebサービスでは、仕様の解釈や開発ツールの実装などに微妙な違いが生まれ、相互運用のための互換性を阻害する要因となっていた。この問題を解決するために策定されたのがWS-I(Web Services Interoperability)である。2003年8月にWS-IからBasic Profile 1.0が公開され、相互運用性の実現に大きく前進した。

  Web Services Conference 2003(主催:IDGジャパン)基調講演のために来日した米サン・マイクロシステムズ Webサービス・ストラテジストのマーク・ハプナー(Mark Hapner)氏に、Webサービス普及の鍵となるBasic Profile 1.0と、Webサービスの構築を成功させる方法などについてインタビューした。



――基調講演「Web Site for Machines」で最も強調したかった点は何だったのですか?
米サン・マイクロシステムズ Webサービス・ストラテジストのマーク・ハプナー氏

ハプナー氏 これまでWebサービスとは、ビジネスロジックレイヤを直接組織の外の世界に向かって公開するもの、という認識が強かったと思います。これはうまくいきません。なぜならユーザーとの接点となるティア(tier:階層)の扱いがとてもルーズになるからです。ティアとはマシン間のコミュニケーションをつかさどる部分で、ここで特別な役割を担っているのがWebサービスなのです。例えばプレゼンテーション・ティアを受け持つのはXML Schemaですが、これはある意味でWebサイトの開発に非常に近いものです。ただし、重要な相違点もあり、そこをきちんと理解していないとWebサービス開発に失敗するでしょう。

――では、どのような点を意識すればWebサービスを成功に導けるのでしょうか?

ハプナー氏 Webサービスの運用は、Webブラウザを使ってプレゼンテーション・ティアを実現する従来のWebサイトの運用と非常に近いわけですが、重要な違いは“非同期”のコミュニケーションという点です。そしてWebサービスは非同期なサービスを提供できるものなのです。技術者はこの点を十分意識し、また積極的に活用すべきです。つまり、従来のWebアプリケーションに対し、Webサービスで非同期コミュニケーションのサービスを拡張していく、といった認識で取り組むとうまくいくでしょう。

――“非同期”と“疎結合”の違いは?

ハプナー氏 非同期とは、疎結合の一形態と考えてください。疎結合とはコミュニケーションに関して寛容なので、多くのビジネスに利用することが可能です。リクエストをキューしておけば、バックエンドのシステムがダウンしていても、復旧後にまたビジネスプロセスを再開できます。

――疎結合というとアプリケーション統合に利用するミドルウエアをイメージしますが。

ハプナー氏 Webサービスをアプリケーション統合型ミドルウエアと認識するのは賛成しません。メッセージキューという考え方が重要です。開発者にとって疎結合を実現させるには、キュー機能、ロードバランシング、XMLトランスポーテーション機能、スケーラビリティといったものが不可欠ですから、リッチ・プラットフォームであるJ2EEは、Webサービスにとって最適な環境だと思います。Webサービスには、リッチなインフラが不可欠なのです。

――WS-IからBasic Profile 1.0との整合性を検証するツールが提供されていますが、これをJ2EEに統合する予定はありますか?

ハプナー氏 検討課題に挙がっているのは事実です。テストツールのコードはWS-Iが所有しているので、J2EEやSun ONE Studio、JBuilderなどにバンドルする形で提供されるかもしれません。ただ、WS-Iが各プラットフォーム向けテストツールを開発するのは難しいでしょう。

――J2EEに追加されたWebサービス機能で最も重要なAPIは何だとお考えですか?

ハプナー氏 J2EE 1.4に含まれるJAX-RPCです。これはWSDLの実装に使うものですが、WSDLやSOAPの複雑さを隠してくれるという点で、非常に強力なAPIです。

――情報統合とWebサービスとの関連については?

ハプナー氏 情報統合の基盤となるプロトコルはSOAPとして確立できたといえるでしょう。クリティカルな情報を正確に規定するためにはXML Schemaがあります。次の段階として、情報サービスごとの共通したエレメントが必要になります。現在OASISで論議が進んでいるUBL(Universal Business Language)などがその例です。WS-IからBasic Profile 1.0が提供されたことで、共通エレメントを構築する十分な仕組みが整ったと認識しています。

――Webサービスは現在、どこまで到達しているのでしょうか?

ハプナー氏 開発者はプロトコルを心配しなくてすむ段階に来ています。これからの開発者は、Webサービスの相互運用性に注力することになるでしょう。Basic Profile 1.0は相互運用性を達成するために十分な内容となっています。かつてJ2EEの機能アップにともないWebサイトの充実が達成されたように、Basic Profile 1.0の提供によりWebサービスも大きな発展を遂げるでしょう。

(編集局 上島康夫)

[関連リンク]
サン・マイクロシステムズ

[関連記事]
WS-I、互換性テストツールでWebサービスは実用段階に (@IT News)
「初めてWS-I準拠した」、WebSphereの最新バージョン (@IT News)
XML完全準拠の仮想データベースで情報を使い倒せ (@IT News)
[eWEEK] Webサービス統一への新仕様「WS-CAF」がもたらす混乱 (@IT News)
Webサービスの実験成功、WS-Iからは互換性テストツールも (XML & Web Services)
WS-I:Webサービス互換性の実現に向けて (XML & Web Services)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)