ICDロゴ

SOAP (Simple Object Access Protocol)

【ソープ】

最終更新日: 2001/07/30

 HTTPなどを下位プロトコルとして使用し、簡単なXMLベースのメッセージをやり取りして、リモートマシン上のオブジェクト(データ)へアクセスするための通信プロトコル規格。米Microsoft社と米Userland Software社が中心となって開発が進められ、現在インターネット標準規格とするためにW3Cに提案されている。

 当初発表されたSOAP 1.0では、下位プロトコルとしてWebと同じHTTPを使用するようになっていたが、その後発表されたSOAP 1.1では下位プロトコルが仕様から分離され、SMTP(電子メールの取得用プロトコル)やFTP(ファイル転送プロトコル)など、HTTP以外のプロトコルでも使用可能にされた。

 たとえば、SOAPの下位プロトコルとして使用可能なHTTPプロトコルは、Webで使われる通信プトコルであり、インターネット/イントラネットで最も広く普及しているものの1つである。そのため、企業などで安全性のためにファイアウォールが設置されているような場合でも、このプロトコルだけは特別な措置(ある特定のプロトコルを通すように、ファイアウォールのフィルタ設定を変更するなど)を行わずとも、常に利用できる可能性が高い。このHTTPを始め、SMTPやFTPなど、インターネットですでに広く普及しているものを下位プロトコルとして使用し、リモートマシン上のオブジェクトへアクセスしたり、サービスルーチンを呼び出したりできるようにするプロトコルがSOAPである。たとえばHTTPを利用する場合には、POSTコマンド(サーバに対してデータを送るためのコマンド)を使って、アクセスしたいオブジェクトを表わすXMLデータを送ると、そのコマンドに対する(HTTP要求の)応答として、目的のデータを含むXMLデータが送り返されてくる。このように、簡単なHTTPコマンドのやり取りだけでリモートマシン上のオブジェクトにアクセスできるのがSOAPの特徴であり、OSやプログラミング・モデル、オブジェクト・モデルなどには依存しないため汎用性が高い。

 SOAPでは、アクセス要求やその結果として返されるデータの表現形式としてXMLを採用することにより、特定のフォーマットにとらわれない、柔軟で汎用性の高いデータアクセス機能を提供している。XMLでは、データとともに、そのデータの名前やデータの属性を表すタグも同時に含めることができるため、単純な数値型や文字型だけでなく、配列のような繰り返し型のデータや複雑な構造をしたデータ、バイナリデータなど、任意のデータを格納することができる。たとえば「“価格”は“浮動小数点型”のデータで、その値は“123.45”である」というふうにデータを表現するので、ここから価格データを取り出して処理を行うのは容易である。

Copyright (C) 2000-2007 Digital Advantage Corp.

アイティメディアの提供サービス

キャリアアップ