Webサービス入門    

Webはアプリケーション間の通信により多く使われるようになっている.アプリケーションからアプリケーションへの通信のためにWeb上で利用できるプログラマチックインターフェースは,Webサービスといわれることが多い.Webサービスと考えることのできるアプリケーションには多くの種類があるが,アプリケーション間の相互運用性はXMLやHTTP等のよく知られる技術を使うことで最も向上する.これらの技術により,アプリケーションはインターフェースと異なる言語やプラットフォームを慣れた方法で使うことができるのである.

Wolfram言語のWebサービスクライアントを使うと,Wolfram言語からすぐにアクセスできない他のプラットフォームや言語をリモートで基盤とする操作が呼び出せる.これは,Wolfram言語ユーザに機能およびデータの全く新しい使い方を提供する.

Wolfram言語がWebサービスとインタラクトできるようにする主要なテクノロジーがいくつかある.以下でそれを説明する.

XMLとHTTP

XMLとHTTPは Web Services Link でWebサービスを呼び出す基本である.ユーザはHTTPを介してXMLメッセージを送ることによりWebサービスインターフェースとインタラクトする.XMLとHTMLは柔軟であり,多数のプラットフォームおよび言語で広くサポートされているため,メッセージを作成したり送ったりするのに便利である.この相互運用性により,アプリケーションは異なる言語およびプラットフォームを使って通信することができる.Web Services Link はXML 1.0とHTTP 1.1をサポートする.XMLの機能はWolfram言語に組み込まれたXML機能により提供される.HTTP機能はApache Commons HTTPクライアントにより提供される.XMLとHTTPの知識があると便利であるが,必須ではない.HTTPの詳細はhttp://www.w3.org/Protocolsを,XMLの詳細はhttp://www.w3.org/XMLを参照されたい.

SOAP

XMLとHTTPは非常に柔軟であるため,Webサービスのメッセージは多数の異なる方法で表現したり通信したりすることができる.したがって,Webサービスを使用するすべてのプラットフォームと言語に共通の標準があるということが大切である.Simple Object Access Protocol (SOAP)はXMLメッセージの形式と処理規則,およびそれをHTTPでどのように使うかを決定する慣用法を正式に設定するひとつの標準である.Web Services Link はSOAP 1.1をサポートする.Wolfram言語ユーザはSOAPの詳細を知っておく必要はない.詳細はhttp://www.w3.org/TR/SOAPに記載されている.

WSDL

Webサービスと関連した別の便利な技術にWeb Service Description Language (WSDL)がある.WSDLはXMLを使用するWebサービスを記述するための形式を正式に設定する.WSDLにUniform Resource Identifier (URI)を与えることにより,アプリケーションは特定のWebサービスがどのような操作を提供し,操作のメッセージがどのように見えるかを見付けることができる.この情報をもとに Web Services Link はWolfram言語関数の入力を使ってSOAPメッセージを生成することができる.Webサービス操作はWSDLなしでも使えるが,WSDLはWebサービスを促進するための鍵である.Web Services Link はWSDL 1.1をサポートする.Wolfram言語ユーザはWSDLの詳細を知っておく必要はない.詳細はhttp://www.w3.org/TR/wsdlに記載されている.

XML Schema

SOAPメッセージを作成するのに異なるデータ型が使用されている可能性があるので,データ型はWebサービスの重要なコンポーネントである.WSDLではWebサービスで使用されるデータ型を記述するためにXML Schemaが使われる.Web Services Link ではWolfram言語式とXMLを動的にバインドするためにXML Schemaパッケージが使われている.このパッケージはスキーマに対するデータを検証し,データがデータ型の定義に正確にマッチしていることを確める.Web Services Link はXML Schema 1.0をサポートする.Wolfram言語ユーザはXML Schemaの詳細を知っておく必要はない.詳細はhttp://www.w3.org/XML/Schemaに記載されている.

WS-I Basic Profile

SOAPとWSDLはWebサービスを実装する第一歩であるが,これらの仕様の結果として互換性の問題がある.WS-I Basic Profileは,Webサービスの中核となる仕様を相互運用可能なWebサービスの開発にどのように使用するべきかに関する実装ガイドラインを指定することにより,すべての互換性問題を回避する.この仕様はWSDL,SOAP,Universal Description,Discovery and Integration (UDDI)の実装に対するガイドラインを与える.この仕様の焦点となるのは,Webサービスおよびそのクライアントのさまざまな実装をより簡単に統合することである.これらのガイドラインに沿ったWebサービスは,クライアントと正しく動作する可能性が高い.Web Services Link はWS-I Profile 1.1をサポートする.Wolfram言語ユーザはBasic Profileの詳細を知っておく必要はない.詳細はhttp://www.ws-i.orgに記載されている.