PR

 インターネットを使って、複数のアプリケーションを連携させる技術。Webサイト上にあるアプリケーションから、異なるWebサイトにあるアプリケーションが持つ機能を呼び出して利用できるようにする。この技術によって呼び出されるアプリケーションもWebサービスと呼ばれる。登場して3~4年が経過し、企業ではBtoB(企業間電子商取引)やシステム統合の目的を中心に利用が進みつつある。

 Webサービスによって連携されるアプリケーションを「サービス」と呼ぶ。一つのアプリケーションを一つのサービスとすることもできるし、複数のアプリケーションが提供する機能をまとめて一つのサービスとして扱うことも可能だ。

 サービスはそれぞれ「インタフェース」を備える。インタフェースはサービスの持つ機能をどんな形で呼び出し、結果をどのように受け取るかを定めたもの。どのような形でサービスを実現したとしても、サービスを呼び出す側はインタフェースを通じて同じ要領でサービスを利用できる。Webサービスの場合は、インタフェースの情報がわかれば、そのWebサービスを呼び出せる。

 Webサービスを形づくる基本技術は、XML(Extensible Markup Language)である。サービス同士の連携には、XMLに基づくSOAPという通信プロトコルを使う。SOAPは、サービス間で通信するメッセージの書き方を決めたもの。以前はSimple Object Access Protocolの略だったが、バージョン1.2からSOAPが正式な名称になった。

 Webサービスのインタフェース情報は、WSDL(Web Services Description Language)と呼ぶ言語で記述する。WSDLでは、SOAPと同様にXMLを利用する。そのインタフェースを持つサービスがやり取りするメッセージにどのようなデータ型が含まれているか、どんな通信プロトコルを使うか、Webサービスの所在地(URL)などを記述する。

 WSDLでインタフェース情報を記述したXML文書を「WSDLファイル」と呼ぶ。マイクロソフトのVisual Studio .NETなどの開発ツールに、WSDLファイルを読み込ませると、その開発ツールはサービスを呼び出すための機能を自動で生成する。

 Webサービスを使うと、異なる言語で実現され、異なるハードやOSで動くアプリケーション同士でも簡単に連携できる。必要になったときにだけ、必要なアプリケーションを呼び出すといった使い方も可能だ。最近では、システム全体をサービスの集まりとしてとらえるSOA(サービス指向アーキテクチャ)の実現手段として注目されている。

 現時点では、一つのWebサービスを呼び出す単純な形での利用が大半を占める。トランザクション処理を行う、複数のWebサービスを分岐させながら連携して使う、といったケースはあまりない。こうした処理に必要な標準仕様が決まっていないことが主な理由である。

(矢口)