SOAP (プロトコル)
SOAPはW3Cにより標準化されている。以下は具体的な仕様である。
SOAP はウェブサービスのための「Web services protocol stack」における「Messaging Protocol」層を提供する。SOAPはXMLを基盤とするプロトコルで、三つの部分で構成される:
「envelope」(小包)。これはメッセージ構造を定義する。また、どのようにこれを処理すべきかを定義する:
アプリケーションで定義されるデータ型のインスタンスを表現するためのエンコーディング規則
プロシージャ呼出しとレスポンスを表すための約束事
SOAPには三つの大きな特徴がある:
拡張性 (セキュリティやWS-Addressingなどは開発中の拡張機能である)
中立性 (SOAPはHTTP, SMTP, TCP, UDP(英語版), JMSなどのいかなるプロトコル上でも運用できる)
独立性 (SOAPはいかなるプログラミングモデルでも使える)
SOAPで出来ることの一例を挙げると、たとえば或るアプリケーションが、ウェブサービス(例えば不動産価格データベース)を利用可能なサーバに、検索条件パラメータを入れたSOAPリクエストを送ったとする。すると、そのサーバーはSOAPレスポンス(価格、場所、特徴などの検索結果データを書き込んだXML形式文書)を返してくる。返ってきたデータは標準化された機械処理可能な書式で来るので、それを受け取ったアプリケーションはそのデータを直接処理できる。
SOAPアーキテクチャには、次の幾つかレイヤーのための仕様がある:
メッセージ形式
メッセージ交換パターン(Message Exchange Pattern : MEP)
下層のトランスポートプロトコルとの結合
メッセージ処理モデル
プロトコル拡張性