ObjectSquare

[技術講座]


現実的かもしれないWebサービス利用に関する一考察

OGIS International, Inc.
大場 克哉
oba@ogis-international.com


1. はじめに

Webサービスということばが紹介されてから早くも2年以上がたちました。この抽象的な名前のせいか、話す人、文脈によってさまざまな意味で使われることが多く、なんとも捕らえどころがないまま、この2年間ずっと注目を浴びてきたように感じられます。これは少々不思議な現象で、ほかになかなかキーワードが出てこない最近のソフトウェア業界の厳しさの一端が現れているのかもしれません。

さて、「Webサービスとはいったいなんなのか?」という素朴な疑問から、この技術について調査をはじめたのも2年ほど前からになります。議論の中では、現在よく言われているように、社内アプリケーション統合(EAI)的視点から捉える議論もありました。一方で、Webサービスがインターネット上に数万、数十万と存在する時代が来るとしたらどうなるかという観点も参加者にとっては面白い議論となりました。そして、もしかしたら「なにかすごいこと」が起こるかもしれない、それはどんな時代なのか実際に見てみたい、もう少し控えめにいうと、Webサービスがそれだけの技術であるかどうか見極めたいというところから、今回ご紹介する一つのプロジェクトが立ち上がりました。

ここでは、このプロジェクトのこれまでの成果である、XGrotto Web Services Integration Platform and Directoryを紹介しながら、Webサービスに関するやや私的な考察をしてみたいと思います。いつか、ここに書くことが現実になるのではないかと期待しながら。

2. Webサービスへの期待とギャップ

今さらかもしれませんが、2年前にWebサービスが紹介されたときの謳い文句をおさらいしてみたいと思います。それは、「Webサービスは新しい時代のシステム環境である。インターネット上に多数のWebサービスが存在し、ビジネスアプリケーションはこれらをダイナミックに統合していくことになる。これにより、今までよりも安価なシステム開発コスト、より迅速な展開を実現していく」というようなものでした。さまざまな新技術の例にたがわず、最初はこのようなストーリーがいろいろな場面で語られていたのを記憶しています。

ところが、これもまたどんな技術でも大同小異かもしれませんが、ふたを開けてみると、さまざまな問題点が見つかってきました。その代表的なものはセキュリティや信頼性の確保でしょうか。「Webサービスを利用したB2Bの構築」という前提で考えれば、このような問題をひとつひとつ解決していかなければいけないのは当然です。そして、残念ながら、これらについてはまだ決め手となる解決策は出てきていないようです。

この間、SOAPやWSDLというWebサービスの基盤を支える技術に関しては、開発ツールも増えてきたこともあり、技術としてこなれてきたとみなされているようです。そこで現在は、インターネットではなく、あらかじめ決められた相手、範囲でのWebサービス技術の利用が進みつつあるという状況です。たとえば、社内システムの統合時にインタフェースをWSDLで定義し、SOAPで通信するという使われ方です。これは、実システムへの利用という観点では、非常に現実的な利用法であり、賢明であるといわざるを得ません。

ところで、最初にあげた謳い文句はどこへ行ってしまったのでしょうか?さまざまな障壁から、そのような世界はやはり実現しないのでしょうか?

私は、山積する問題点を認めた上で、まだその結論を出すのは早いと考えています。そして、できる限り多くの人がこの議論に参加した上で、問題点を吟味し、この技術の使い方を創造していかなければならないと考えています。

たとえば、10年前の状況から、今日のインターネットを取り巻く状況を想像するのは難しかったと思います。しかし、PCやブラウザが一般家庭にまで普及し、ブロードバンドや携帯電話などの通信環境の変化もあって、多くの人がインターネットに触れることにより、仕事上にも、日常生活にも、インターネットによって多くの変化がもたらされました。

インターネットに関しても、はじめからあらゆる問題が解決されていたわけではなく、また言うまでもなく現在も技術的、社会的に問題が多く残されています。しかし、その中でここまで変遷、発展してきたのは、これだけ多くの参加者を巻き込んだからという部分が大きいのではないかと思っています。

Webサービスに関しては、まだまだ参加者が少なすぎる状況です。Webサービスによってダイナミックなビジネスを実現するならば、それに関与する人、すなわち経営者、コンサルタントなど、必ずしもIT技術の知識を持たない人を巻き込む必要があるでしょう。私は、できることならこの範囲をさらにひろげて、こどもからおじいちゃん、おばあちゃんまでが参加者となりえないか、ということまで考えています。そうすることによって、今は思いもつかないアイディアが出てくるかもしれません。

Webサービスについて、「どうやってこれでもうければいいのかわからない」という話がよく出てきます。これももしかすると、参加者が増えることで見えてくるかもしれません。おそらく10年前にインターネットで儲けられると思った人は、それほどいなかったでしょうから。

3. 現状 3つの問題点

ここまで私もWebサービスという言葉をはっきり限定せずに使ってきました。上述の通り、SOAPとWSDLの利用という意味では、Webサービスの普及も進んでいるようなので、今後は「WSDLによってインタフェースが定義され、これによって動的にソフトウェア間でコミュニケーションが可能なサービス」という程度まで範囲をしぼってこの用語を使うことにします。

さて、より多くの参加者を得るために、私が特に重要であると考えている問題点を三点あげたいと思います。

「発見の難しさ」

Webサービスの発見では、UDDIがすでに実用化され、また新しいバージョンの標準化も進んでいます。しかし、UDDIが指向した汎用的かつシンプルな仕様という方向性では、公開されるサービスの数が増え、また検索方法のニーズが多様化した際に十分に対応できないのではないかと考えています。

たとえば、企業名やサービス名による検索だけではなく、「Xに関連するサービス」、「Yのようなサービス」のようなサービス詳細までも範囲とするキーワード検索や、あいまい検索。また後述する複数サービスによる連携を考えれば、入出力をもとにした、WSDLやその一部による検索などが考えられます。このような豊富な検索機能は、利用可能なWebサービスの数があるところを超えたところから必要になるはずです。

また、サービスプロバイダの観点からは、UDDIによる管理項目が煩雑で、またその意味するところが十分に伝わらず、使いこなされていないという点も問題であると考えられます。

「起動の難しさ」

Webサービスを利用するクライアントを開発する場合、開発ツールにWSDLを与えて生成されるスタブをアプリケーションコードに組み込むという方法が主流です。しかし、これはユーザが少なくともひとつ以上のプログラミング言語を使えるということが前提となります。これでは、なかなかプログラマのおもちゃの域を超えることができません。さまざまな人がWebサービスを利用して、問題点を洗い出し、新しい使い方を創造していかなければ、Webサービスの本当のところが見えてこないのではないでしょうか。

「統合の難しさ」

さらに、Webサービスの価値を引き出すためには、単体で使うのではなく、それを組み合わせて新しい価値を作り出すことを考える必要があります。これはワークフロー的に時系列に処理が進む場合もあるでしょうし、またひとつのアプリケーションを構成する要素がWebサービスとして実現され、それらが連携するようなケースも考えられるでしょう。いずれにせよ、このような複数サービスの組み合わせが、誰にでも容易に可能になることが必要です。

もちろん、セキュリティや信頼性の確保が不要であるというわけではありません。特に今注目されているB2Bを中心とした文脈では避けて通れない要素です。一方で、ここであげた3つの問題点は、もしかするとセキュリティ以前の問題として、しっかり考えていかなければいけないのではないかと私は考えています。

4. 解決へ向けて

これらの問題点を解決し、Webサービスを利用可能にするための試みのひとつとしてXGrotto Web Services Integration Platform and Directoryを簡単に紹介したいと思います

XGrottoは、上で取り上げた3つの問題点に対応する3つの機能、"Find 'em!"、"Try it!"、"Connect 'em!"を持っています。これは、OGIS Internationalでホストしているサービスで、どの機能もWebブラウザがあれば利用可能です。

XGrotto

"Find 'em!"は、Webサービス発見を手助けするためのしくみです。これは、UDDIレジストリをベースに、WSDLベースのWebサービスに特化した機能を提供し、より使いやすいものを目指しています。現在、検索機能として特筆できるものはキーワード検索ですが、これはサービスの詳細記述などまでも、その検索対象とするため、サービス名や企業名が不明でも、思いつく単語で検索することができます。検索結果はWeb検索エンジンと同様リスト表示され、リンクをたどることによってサービスの詳細をブラウズし、また次に紹介する"Try it!"ですぐにそのサービスを実行することができます。

一方、サービスプロバイダは、WSDLのURLだけで容易にサービス登録が可能になっています。WSDL登録後、オペレーションなど各項目に補足説明を加えることもできます。

"Try it!"は、Webサービスの汎用クライアントとして動作します。"Find 'em!"で見つけたサービスをすぐに試すこともできますし、すでにWSDLのURLがわかっていれば、それを直接入力して実行することもできます。J2EEや.NETなどの開発環境、また入出力に使われる型(複合型、多次元配列)などによらず実行可能です。

この機能は、"Find 'em!"で発見したサービスが本当に自分の要求に合っているかをドキュメントだけではなく、実際に動かして確認できることから、システム開発者にとっても有効だと考えています。

"Connect 'em!"では、複数のWebサービスを組み合わせて実行可能です。現在はXPDLというワークフロー言語の一部をサポートし、この言語で書かれたフローのURLを渡すと、順次、処理を実行し、計算結果をブラウザに表示します。ワークフロー言語はBPEL4WSなど、ほかにも有力な標準がありますので、現在それらの追加サポートなども検討中です。

現在は、まだソフトウェア技術者やWebサービスに関心を持つ人が対象のサイトですが、これを手始めに、誰もがWebサービスを手に取るように体験できるようなサービスへと進化させ、また、これによってWebサービスの発展へ少しでも貢献できたらと考えています。

5. さいごに

さて、Webサービス登場当時の謳い文句と現在を比較した上で、現状の問題を解決するための一提案としてXGrotto Web Services Integration Platform and Directoryを紹介しました。現在、サイトは英語版のみですが、一度アクセスしていただき、ご意見、ご感想をお送りいただければ幸いです。



© 2003 OGIS-RI Co., Ltd.
HOME HOME TOP オブジェクトの広場 TOP