WEBサービス

2002年1月13日(日)更新


■WEBサービスってなに?

さらら: WEBサービスってなぁに?

たけち: うん。インターネットを通じてサービスを提供するものを言うんだ。

さらら: う〜ん。。。じゃあ、サービスってなぁに?

たけち: もちろん情報を提供してくれるサービスのことだけど、たとえば、情報を検索してくれるのも(検索)サービスだよね。

さらら: あっ、じゃあ、いま私たちが使っているポータルサイトや検索サイトって言われるものも、WEBサービスの一つなのね。

たけち: まぁ、広い意味ではそうなのかもしれないね。これまでの(インターネット上の)サービスは、人がそのサービスのありかと内容を知っていて単独で利用するものだよね。これからお話するWEBサービスは、コンピュータソフトウェアが必要なサービスを動的に検索し利用できるものなんだ。

さらら: へぇ〜。わかったようなわかんないような・・・それがあると今までと何か違うの?

さらら

たけち: 一言でいうと、色々なWEBサービスを動的に利用して、複合的なサービスができるようになるんだ。たとえば、旅行のことを考えてみると、インターネットでホテルを予約したり、飛行機の予約をしたり、などなどのことを自分でサイトを探してひとつひとつやらなくてはいけないよね。でも、WEBサービスが本当に実用化すると、たとえば、そんなことをひとつのインターネット旅行エージェントのようなところにリクエストすると自動的にそれぞれのサービスにアクセスして予約したり支払いしたりしてくれるようになるんだよ。もちろん、まだそんなものはできていないけどね。つまり、いろいろな単独のWEBサービスを連係して使えるしくみなんだね。

WEBサービスのイメージ


■WEBサービスのしくみ

さらら: そんなことができると本当に素敵だわ。でも、それとXMLとどう関係があるの?

たけち: その前に、まずWEBサービスがどんなしくみで成り立っているのかをみてみようね。

さらら: なんだかややこしそうだから簡単にお願いね。

たけち: たとえば、インターネット上に色々なサービスがあるとして、それをどのように使うのかをちょっとイメージしてみると、つぎのような手順になるんじゃないかな。

たけち

  1. どこにどんなWEBサービスがあるのかを、電話帳のようなサービスで調べる
  2. それらしいWEBサービスを見つけたら、そのWEBサービスが、どんなサービスを提供しているのかを詳しく調べる
  3. どういう手続き(インターフェイス)をとればサービス受けられるかを調べる
  4. 正しい手続きに沿って、サービスを受ける

WEBサービスの利用手順(概念)

さらら: ふぅ〜ん。これって、私たちが実際の生活で、世の中にあるサービスを利用するときにすることとおんなじようなことなのね。だいたいの感じは、イメージできるわ。

たけち: よかった。。。。現在考えられているWEBサービスのためのしくみは、こんな流れに沿って利用できるようになっているんだ。具体的には次のようなサービスやしくみから構成されているんだよ。

さらら

レジストリ・サービス
WEBサービスを登録・検索するサービスを提供します。UDDI(Universal Description, Discovery and Integration: http://www.uddi.org/ )というしくみが使われます。UDDIをサポートするレジストリ・サービスを、UBR(UDDI Business Registry)といいます。
WSDL(Web Services Description Language)
サービスを利用するための手続きなどを記述するためのXMLをベースとして言語です。
WEBサービス
WSDLに合致してサービスを提供するWEBサービスです。
SOAP
WEBサービスとの情報のやりとりのしくみです。詳しくはたのしいSOAPをご覧ください。

■XMLの適用: UDDIとWSDL

たけち: このWEBサービスのしくみの中で、UDDIとWSDLにXMLが使われているんだ。詳しいことはここでは省略して概要だけを紹介しておくね。

さらら: うん。

たけち: UDDIは、Universal Description, Discovery and Integrationの略で、XMLで表現されるUDDIレジストリを定義しているんだ。UDDIは2000年9月にIBM、Microsoft、Aribaの3つの企業が合同で始めたもののようだね。

さらら: W3Cとは違うところでやっているのね。

たけち: そうそう。W3Cのほうでは、Semantic Webが検討されているけど、これは次回以降でお話しようね。

さらら: うん。わかんなくなっちゃいそうだから。。。。で、UDDIではどんなことを定義するの?

たけち: 次のようなレジストリがあるんだ。

ビジネス情報(ホワイトページ)
サービスを提供している企業名、住所などの情報を記述します。
ビジネスサービス(イエローページ)
サービスを提供している企業のサービスの情報として業種、製品/サービス、場所を記述します。
バインディンクテンプレート(グリーンページ)
WEBサービスを提供しているURLとWEBサービスを利用するための仕様を提供しているURLを記述します。UDDIでは、WEBサービスの仕様については記載しません。

さらら: へぇ〜。まるで電話帳みたいなのね。あれ?でも、UDDIでWEBサービスの仕様についてを定義しないんだったら、何を見たらいいのかしら。。。

たけち: それを定義するのが、WSDLなんだよ。UDDIでは、サービスを提供している企業についての情報や、どんなサービスを提供しているかを記述して、具体的に特定のサービスを受けるための手続きについての記述(サービス仕様)は、WSDLでするんだ。

さらら: UDDIとWSDLをどうつかうの?

たけち: UDDIを利用してサービスインターフェイス仕様のURLを取得したクライアントは、そのURLからWSDLで記述されたインターフェイス仕様を得るってことなんだ。

さらら: あっ、そうなの。。。それで、これらのレジストリを参照したり、WEBサービスのインターフェイス仕様にしたがってサービスを受けたりするのに、SOAPを使うってことなのね。

たけち: そうだね。これまでのお話を図にまとめておくね。

さらら

WEBサービスのしくみ

さらら: WEBサービスかぁ・・・だいたいのことは分かったけど、まだピンとこないわ。

たけち: そうだね。やっぱり使ってみないとね。もう少し待たなくっちゃね。

さらら: そうね。だも、たのしみだわ。

たけち: じゃあ、今回はこれで。

さらら: は〜い。

→次は、多分、Semantic Webについてです。。。。。 (^ ^;