SOAPメッセージとは、プロトコルヘッダとSOAPエンベロープを合わせた、SOAP使用時に送信されるデータ全体のこと。
SOAP自身はXMLベースの規格でプロトコルには依存せず、適切なヘッダを付加することにより様々なプロトコルによる送受信が可能になっている。最も利用が多いと思われるHTTP経由での場合は、通常のHTTPヘッダに加えて「SOAPAction」というヘッダを付加し、送り先のURIをHTTPヘッダに含められるようになっている。
SOAPエンベロープの中にはSOAPヘッダとSOAPボディが含まれており、実際の通信内容はそこに記述される。
SOAPボディとは、SOAPエンベロープに含まれるメッセージの一つ。SOAPメッセージのメインとなる部分で、SOAPエンベロープ内に必ず1つ含まれている。
SOAPボディには処理本体を実行するためのメッセージを含めることが想定されているが、SOAP仕様自体ではコールを処理すべきURIや引数などの記述方法についてしか指定されていない。実際にSOAPでデータをやり取りする場合には、プロシージャの名称や引数の内容などは開発者の判断に委ねられることになる。SOAPボディの中に記述する要素で唯一仕様に規定があるのはエラー処理(fault要素)で、統一したエラー処理が行えるよう詳細な要素の規定がなされている。
SOAPヘッダとは、SOAPエンベロープに含まれるメッセージの一つ。SOAPヘッダは必須要素ではないため、使用する必要がない時は省略できる。
SOAPヘッダに記述する内容はSOAPボディと同様だが、SOAPボディではメッセージの管理に関するデータを格納することが想定されている。例えば、データ改ざん防止のためのハッシュ値や、ユーザ認証用のパスワード、トランザクション管理のためのセッションIDなどをSOAPヘッダに記入することが想定されている。
SOAPエンベロープとは、SOAPヘッダとSOAPボディを含む、SOAPとしてのメッセージ全体のこと。SOAPによって送信されるメッセージ全体を包み込む「封筒」(envelope)の役割を持つ。
SOAPエンベロープはSOAPメッセージのルート要素となるが、エンベロープ自身にはネームスペース以外の記述はされておらず、具体的な処理の内容や処理を行なうべきプログラムのURI指定はSOAPヘッダ・SOAPボディで記述する。
なお、実際の送受信にはSOAPエンベロープにHTTPやSMTPなどのプロトコルヘッダが付加されるため、SOAPメッセージは「プロトコルヘッダ+SOAPエンベロープ」という構成になる。
SOAP-RPとは、Microsoft社が提唱する、複数の仲介者を介してSOAPメッセージを伝送するためのプロトコル。「WS-Routing」と呼ばれることもある。
SOAPは分散処理メカニズムによってメッセージの各部分ごとに別々の受信者を指定することができるが、SOAP自体には伝送経路を指定する機能は用意されていない。そのため、メッセージが指定されている受信者を全て順序良く廻って最後の受信者に到達することを保証するのは不可能である。
SOAP-RPはそれを可能にするもので、一方向的な通信を基本としているが、オプションとして双方向通信も可能なように設計されている。
HTTPやTCP、UDPなどと組み合わせて用いられるが、SOAPメッセージの中で伝送順路を記述するため、SOAP-RPを利用している場合はHTTPやSMTPなど他のアプリケーション層プロトコルを用いなくともよい。
なお、SOAP-RP自体には品質保証やセキュリティの機能は含まれておらず、高い信頼性を実現するためには他のSOAPベースのプロトコルと組み合わせる必要がある。
SOAP-RMPとは、Microsoft社が提唱する、SOAPのメッセージ送受信に関する信頼性を高めた拡張プロトコル。二重送信の禁止や確実なメッセージ配送などの機能を持ち、同社のMSMQ 3.0に実装されている。なお、SOAPによる送受信を安定させるという点で、HTTPRと競合する規格だと言われている。
Soapbox on MSN Videoとは、Microsoft社のポータルサイトMSNの一部として提供される動画コンテンツ共有サイト。開発コード名「Warhol」(ウォーホル)で呼ばれていたサービスで、2006年9月にベータ版が公開された。Googleが買収した人気のビデオ共有サイト「YouTube」の対抗サービスとみられている。
Soapbox on MSN Videoでは、ユーザが作成した動画ファイルをアップロードすることができ、他のユーザに広く公開することができる。アップロードできる動画ファイルの形式はMPEG-1、MPEG-2、MPEG-4、AVI、ASF、WMV、MOV、3GPP、DV Flash、H.264など複数あり、一度にアップロードできるファイルの最大容量は100Mバイトとなっている。
Soapbox on MSN Videoで公開された動画は15のカテゴリ別に分類され、タグ情報や関連動画情報などを用いた検索ができる。RSSによる更新情報の配信にも対応している。Soapbox on MSN Videoの動画の再生はフルスクリーンで行うことができ、ひとつのページ内で複数の動画を同時再生することもできる。ユーザは動画に対するコメントや評価を投稿したり、自身のブログなどにFlashでできた専用の動画プレーヤを埋め込むことで、Soapbox on MSN Videoの動画を引用表示することができる。
SOAPとは、XMLとHTTPなどをベースとした、他のコンピュータにあるデータやサービスを呼び出すためのプロトコル(通信規約)。Microsoft社やUserLand Software社、Developmentor社が中心となって開発された。
SOAPによる通信では、XML文書にエンベロープ(封筒)と呼ばれる付帯情報が付いたメッセージを、HTTPなどのプロトコルで交換する。サービスを利用するクライアントと、サービスを提供するサーバの双方がSOAPの生成・解釈エンジンを持つことで、異なる環境間でのオブジェクト呼び出しを可能にしている。
SOAP 1.1では、実際にデータの送受信に使う下位プロトコルは、すでに広く普及しているHTTPやSMTP、FTPなどから選択できるようになっており、企業間で利用する場合でもファイアウォールなどを安全に通過することができる(SOAP 1.0ではHTTPのみ)。
現在、WWW関連技術の標準化を行なうW3Cによって標準の策定が行なわれており、IBM社やLotus社など、大手ソフトウェアメーカーも自社製品での対応を表明している。
なお、SOAPメッセージの生成エンジンは「SOAPプロキシ」、解釈エンジンは「SOAPリスナ」と呼ばれることもある。
SOAPによって外部から利用可能な、部品化されたWebベースのアプリケーションソフトは「Webサービス」と呼ばれる。インターネット上で各社が提供しているWebサービスを集め、誰でも検索・照会できるようにするWebサービスを「UDDI」という。
SOAとは、大規模なシステムを「サービス」の集まりとして構築する設計手法。
サービスとは、外部から標準化された手順によって呼び出すことができる一まとまりのソフトウェアの集合であり、単体で人間にとって意味のある単位の機能を持つものを指す。アプリケーションソフト自体に他のソフトウェアとの連携機能を持たせたものと考えても良い。
ソフトウェアを部品化して呼び出し規約を標準化し、その組み合わせでシステムを構築していく手法は分散オブジェクト技術など従来から存在するが、部品化の単位はより細かいプログラム上の機能であり、また、システム全体がある程度共通の技術基盤に基づいて構築されることを前提としていることが多い。
SOAでは、個々のアプリケーションの開発言語や動作環境などは問題とされず、共通のメッセージ交換インターフェースに対応していればそれでよい。また、アプリケーションの一部をサービスとすることもできるし、複数のアプリケーションをまとめて一つのサービスとすることもできる。
SOAを実現する具体的な技術基盤の標準として「Webサービス」が有望視されている。ソフトウェアをWebサービス化することにより、各サービスがXMLで記述されたメッセージをSOAPでやり取りし、連携して動作する。