Simple Object Access Protocol(SOAP)とは
SOAP(Simple Object Access Protocol)は、SOA(Service Oriented Architecture)内でWebサービスを実装するために使用される、XMLベースの基盤となるアプリケーションプロトコルです。SOAPは主にHTTPおよびミドルウェアメッセージングシステム(JMS、MQ Series、MSMQ、Tuxedo、TIBCO RV)を介して転送されますが、SMTP(Simple Mail Transfer Protocol)やFTP(File Transfer Protocol)などの他のプロトコルを介して転送することもできます。
SOAPメッセージは通常、次の要素で構成されます。
- エンベロープ:SOAPエンベロープはSOAPメッセージのルート要素であり、必須です。従来の封筒に手紙を入れるのと同様に、エンベロープにはSOAPメッセージが格納されます。
- ヘッダー:SOAPヘッダーは省略可能です。指定する場合は、認証、アドレス指定、ルーティングの詳細など、アプリケーション固有の情報が含まれます。
- Body:SOAPボディは必須であり、呼び出される特定のリモート操作や交換されるデータ(パラメーター)など、実際に転送されるアプリケーションメッセージが含まれます。
SOAPメッセージには、アプリケーションやクライアントがメッセージ内のデータを解析し、適切なロジックを実行するために必要な情報を含める必要があるため、多くの場合、サイズが大きくなります。メッセージのサイズが大きくなると、サーバーで必要な処理も増加します。その結果、サーバーのリソース消費量が増え、全体的な処理能力が低下します。また、メッセージの転送に必要なネットワークリソースが増えるため、サイズの増加は、SOAPを基盤とするアプリケーションのパフォーマンスにも悪影響を及ぼす可能性があります。
SOAPはXMLベースであるため、XMLを標的とするさまざまな攻撃や脆弱性の影響を受けやすいうえ、通常はHTTPであるトランスポート層プロトコルに関連する攻撃にもさらされます。
SOAPに関連するセキュリティとパフォーマンスの問題に対応できるF5製品: BIG-IP Application Security Manager

