15分でWebServiceについて、知ったかぶりできる知識をまとめておきます。

Web Serviceとは

Webサービスとは最近流行の技術の一つです。実は、Webサービスの定義は結構曖昧で、その人や、その時々によってまちまちです。そこで今回はWebサービスを以下のように定義します。

Webサービスとは
「コンピュータが利用可能な、ネットワーク上のソフトウェアコンポーネント」。「コンピュータが利用可能」、「ネットワーク上」、「ソフトウェアコンポーネント」という3つのキーワードがWebサービスの特徴

コンピュータが利用可能

コンピュータが利用可能とはどういう意味でしょうか。たとえば、Googleの検索サービスを例にとって解説します。 たとえば、Googleの検索サービスを使うには、Googleのサイトにアクセスして、検索を行う必要があります。その場合、キーワード欄にはユーザが入力して検索を行います。これは先ほどのコンピュータが利用可能とは反対の、ユーザが利用する場合になります。

対して、コンピュータが利用するというのは、例えばユーザが自分のホームページからGoogleの検索機能を呼び出して、結果を加工して表示するような場合です。

「加工して」というのがポイントで、Webサービスによって取得した情報は、そのまま利用することも、データを加工して利用することもできます。

さて、Googleの検索機能を呼び出すには実際にはどのようにすればいいのでしょうか? どのコンピュータからも利用してもらうには、インターフェースを決めないといけません。そのインターフェースとなるのが「」というものです。

詳しくは別の機会に解説しようと思いますが、WSDLとは、Webサービスのインターフェースを記述するための言語です。XML形式の言語になっています。WSDL文書には、利用したいWebサービスがどこにあるのか、Webサービスを利用するために、どんなフォーマットのメッセージをやり取りするのか、どんなプロトコルに乗せてメッセージを送受信するのか、などの情報を記述します。

WSDLによって定義されたWebサービス仕様をもとに、自分のホームページ上で、Googleの検索機能を利用することができるようになります。

ネットワーク上のリソースを使う

Webサービスを定義するときに出てきた2つ目のキーワード「ネットワーク上」ですが、これはどういうことかといいますと、Webサービスはネットワーク上に置かれたサービスであるということです。

サービスの提供者(前回の例で言うと Googleの検索機能を提供する者)がサービスをネットワーク上に公開します。 ネットワーク上といったのは、例えばインターネットに公開するサービスと、イントラネット上で公開するサービスといったように、用途によってサービスの公開する範囲を決められるということです。

さて、先ほど、「WSDL」の説明で出てきた、どんなフォーマットのメッセージをやり取りするのかという話がありました。Webサービスはサービスの提供者とサービスの利用者がメッセージをやり取りすることで成り立ちます。このメッセージのフォーマットを定めた規格が「SOAP」です。このSOAPの規格に準拠したメッセージをSOAPメッセージと呼びます。SOAPメッセージはXML形式で記述されます。

SOAPは、プラットフォーム非依存のメッセージプロトコルになっています。 基本的にSOAPの規格はメッセージのフォーマットを定めているだけです。したがって、SOAPは通信プロトコルに依存しません。通信プロトコルには、現在はオープンなインターネットプロトコルが使用されることが多いです。

ソフトウェアコンポーネント

Webサービスの3つ目のキーワードである「ソフトウェアコンポーネント」とは、いったいなんでしょうか。ソフトウェアコンポーネントとは、何らかのサービスを提供する部品の塊です。例えばGoogleでいうと、Googleの検索機能を提供するサービスのことを指します。

さて、Webサービスとしてあるソフトウェアコンポーネントを利用したい時、サービスをどのように調べればよいのでしょう?

そこで登場するのが「」です。UDDIとは、サービスを公開したり、発見したりする際の仕組みを定めた規格です。

現在のUDDI規格では、Webサービスのための専用のデータベースであるUDDIレジストリの仕様を定めています。UDDIレジストリ自体も実はWebサービスでできているので、Webサービスの登録、更新、検索の機能をSOAPメッセージを通して行うことができます。

まとめ

  • WebサービスにはSOAPというプロトコルを使用する
  • サービスのインターフェースはWSDLという言語を用いて定義する
  • サービスの検索はUDDIというレジストリ情報から検索する

これからのWebサービスの用途として、1)情報発信を目的にしたシステム 2)企業内アプリケーションシステム 3)グループ企業間のシステム連携 4)サービスを動的に検索、結合 といったものがあげられます。

Webサービスは、まだ発展途上の技術であるため、ビジネス上必須であるがまだ確定されていない技術も少なくありません。例えば、トランザクション処理を必要とする業務システムに組み込む場合、Webサービス間のトランザクション処理の統一的な方法はまだ確立されていません。

これらの方法が確立されれば、現在のインターネットビジネスは画期的に変わるかもしれません。

  • WebServiceに関する書籍のおすすめを買いませんか?