WSDL (Web Services Description Language)
【ダブリュ・エス・ディー・エル】
Web Serviceが提供する機能を記述するための、XMLベースの言語仕様の1つ。このWSDLは、同様の目的でマイクロソフトが開発したSDL/SCLと、IBMが開発したNASSL(Network Accessible Service Specification Language)を統合したもの。Web Serviceによって実現される分散オブジェクト環境において、各Web Serviceオブジェクトがどのような機能を提供するのか、その機能を利用するために、どのようなパラメータを渡す必要があるかなどを標準的なデータ仕様で記述できるようにし、Web Service同士のコミュニケーションを可能にする。
リモートマシン上のオブジェクトを呼び出す際のデータ型とコマンドはSOAPと呼ばれる標準プロトコルによって表現される。しかし、あらかじめインターフェイスが分かっていないWeb Serviceを正しく呼び出すためには、それがどのようなコマンドを持っており、そのコマンドを実行するために、どのようなパラメータをどのような形式で与えるかを呼び出し元に知らせる必要がある。たとえば、「このWeb Serviceは、2つの整数パラメータを受け取り、それらを加算した結果を整数値として戻す」ということを知らせる必要があるわけだ。こうした目的で開発されたのがマイクロソフトのSDL/SCLおよびIBMのNASSLである。
WSDLの大きな特徴は、Web Serviceによって提供される機能を、やり取りされるデータや操作などに関する抽象的な定義と、ネットワーク・アドレスや通信に使用するプロトコルなどの低レベルな定義とを分離して記述することにより、低レベルな定義内容に依存することなく、抽象的な定義部分を再利用できるようにしたことである。つまりWSDLでは、ネットワーク・アドレスや通信プロトコルなどの定義が変化した場合でも、そのWeb Serviceによってやり取りされるデータや操作方法などに関する定義部分はそのまま流用できる。
参考までに挙げておくと、具体的にWSDLドキュメントでは、主に以下の6つの要素を使用してWeb Serviceが提供するサービスを記述する。
●service:port要素の集合を定義する。
●port:具体的なネットワーク・アドレスとbinding要素を関連づけることによって定義する。
●binding:portType要素で定義された操作と具体的なプロトコルとデータ・フォーマットを定義する。
●portType:抽象的な操作の集合を記述する。
●message:交換されるデータを抽象的に記述する。
●types:交換されるデータの記述に使用されるデータ型を定義する。
これらのうちportType要素とmessage要素は、Web Serviceによって提供されるメソッドが持つメソッド名とパラメータを抽象的に記述したものである。これらはbinding要素により実際に使用するプロトコルがSOAPなのか、HTTPなのかなどを記述する。port要素は、このプロトコルによって通信を行う場合に、実際に使用するURLなどのネットワーク・アドレスを表す。
Copyright (C) 2000-2007 Digital Advantage Corp.