SOAP

読み:そーぷ / 英語表記:SOAP

ソフトウェア同士が構造化した情報を交換するための、XMLに基づくメッセージのプロトコル。メッセージの構造や処理規則を定め、HTTPなどを使ってネットワーク越しにやり取りする。

イマシルちゃんの解説

別々に作られたプログラム同士が情報をやり取りするには、送るデータの書き方や扱い方をそろえる必要があるんだ。
SOAPは、そのためのメッセージの構造や処理規則を定めたプロトコルだよ。
データにタグを付けて構造を表すXMLを使い、送りたい内容をBodyという本体部分に入れるの。
必要なら、認証などの追加情報をHeaderという部分に添えられるよ。
こうして組み立てたメッセージを、HTTPなどで相手へ送るんだ。
要求や結果を共通のルールで扱えるので、作り方の違うシステム同士でも仕事をつなぎやすくなるよ。

より深い解説

定義

SOAPは、W3Cで標準化された、XMLで記述したメッセージを交換するためのプロトコルである。もとは Simple Object Access Protocol の略だったが、バージョン1.2からは略語ではなく固有の名前として扱われている。トランスポートには主にHTTPを使い、SMTPなどを使うこともできる。

メッセージの構成

要素内容
Envelope(封筒)メッセージ全体を包む
Header(ヘッダー)認証、トランザクションなどの付加情報(省略可)
Body(本体)呼び出す処理と引数、または結果
Faultエラーの情報

サービスが提供する処理や、メッセージの形式は、WSDL(Web Services Description Language)というXMLの文書で記述する。

RESTとの比較

SOAPREST
性格厳密に定められたプロトコル設計の考え方(アーキテクチャスタイル)
メッセージの形式XML(決まった構造)JSON、XMLなど自由
操作の表し方メッセージの中で、呼び出す処理を指定するURIで資源を指定し、HTTPのメソッド(GET、POST、PUT、DELETE)で操作を表す
機能セキュリティ(WS-Security)やトランザクションなどの拡張仕様が豊富シンプルで軽い
主な用途企業の基幹システム同士の連携Web API、スマートフォンアプリ

現在の多くのWeb APIは、より軽量なRESTの考え方で作られているが、金融機関や官公庁のシステムなどでは、SOAPも使われている。

ほかの技術との区別

技術内容
SOAPHTTPの上でXMLのメッセージをやり取りし、ネットワーク上に分散したアプリケーションを連携させる
WebDAVHTTPを拡張して、サーバ上のファイルの参照・作成・削除やバージョン管理を行う
CoAPIoT機器向けに、UDPの上でRESTの考え方を実現する軽量なプロトコル

実際の試験ではここに出る!全3問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑