SE Works > Web サービスは普及する

Webサービスは普及する(最終更新日 2002/04/21)

.NETの時代
ようやく発売されたせいか、ちまたでは(とはいうものの、IT関連社会では、ですが)、.NET や C# で盛り上げっています。
では、その .NET とはいったい何物なのでしょうか?

Microsoft は .NET を 「XML Web サービスのためのプラットフォーム」 と定義しています。
XML に関しては、このホームページでも取り上げていますが、Web サービスとは何?ということになります。

Web サービスは、これまで開発効率化を推し進めてきた集大成といえるかもしれません。
従来まで、部品化という名目上、いくつかの試みが行われてきました。

サブルーチン(モジュール) COBOL などで使用されている。特定の機能で構成され、汎用性を有するように設計されている。(されるべきである。)
ライブラリ サブルーチンの集合体。開発者は既存のサブルーチンをライブラリを介して使用する。
コンポーネント インターフェースのみ提供する特定のオブジェクト。実際に利用する側とは疎結合であるため、メンテナンスが容易。

現在の主流は(あくまでもMicrososft陣営としてですが)、コンポーネントで構成される COM や DCOM、COM+ です。(部品化といえば、通常はコンポーネント化を意味してるような・・・)

しかし、Microsoft は来たるべき .NET の時代に向けて COM を応用し、 SOAP を利用した Web サービスを次世代の開発スタイルにしようとしています。

Web サービスとは、これまで機能を提供してきたコンポーネントに対し、サービス自体を提供しようとするものです。
例えば、航空会社などでは、発券システムを構築していると思いますが、折角の発券システムのサービスを受けられるのは、飛行場、旅行会社等だけですね。
この発券システムのインターフェースを外部(インターネット)へ提供することができれば、いろいろなシステムと有機的に連結(しかも疎結合で)することができるはずです。

このサービスを外部へ向けて提供しようとしているのが Web サービスということになります。
Webサービスが有する課題
さて、このような Webサービスですが、完全に市場に流通するためには、いくつかクリアしなければいけない課題があります。そして、おそらくその課題を解決するのは、かなり難しいことであると考えられています。

まず、Web サービスの検索方法です。

先ほどの例でいくと、航空機の発券システムがあったとしても、企業ごとに複数存在し、各々独自のサービスを有しているのは、ほぼ当然のことでしょう。

ユーザアプリケーションは、複数存在する Web サービスをどう検索するのでしょうか?
特定のキーワード(たとえば「航空チケット発券システム」など)による検索が考えられますが、現在の Yahoo! でもわかるように、必ずしも希望のサイトがすぐに見つかるわけではありません。
(ときには、全然意図していないサイトが引っかかることも・・・)

このように Web サービスをどう検索するかということは、最大の問題になってきます。

たとえ、Web サービスが見つかったとしても、次に問題になってくるのは、インターフェースの問題です。

各々の Web サービスにおいて、インターフェースが異なることは容易に想像がつきます。
ということは、ユーザーアプリケーションは、今、検索された Web サービスに合致するインターフェースを動的に生成する必要があります。

この他にも Web サービスが普及するためには、克服すべき諸々の問題が山積しています。
しかし、現在 W3C において、SOAP を中心とした XML プロトコルの仕様の策定等、これらを解決するための動きが活発に行われています。

そう遠くない将来に Web サービスが利用できる日が来ることは間違いないでしょう。
(どう実現するかは別として・・・)