
Simple Object Access Protocolは、同じまたは異なるオペレーティングシステムで実行されているプログラム間でインターネットを介して情報を交換するために使用される、軽量のXMLベースのプロトコルです。 SOAPメッセージは、HTTP、SMTP、MIMEなどのさまざまなプロトコルを使用して転送できます。 すべてのSOAPメッセージは同じフォーマットを使用しているため、さまざまなオペレーティングシステムやプロトコルと互換性があります。
SOAPメッセージにHTTPプロトコルを使用する理由
伝統的に、HTTPプロトコルはインターネットを介してWebページを送信するために使用されます。 ファイアウォールは通常ポート80(HTTP)トラフィックをブロックしないので、ほとんどのSOAPメッセージは問題なく通過できます。
Representational State Transfer(REST)
RESTはWeb標準に基づくステートレスアーキテクチャであり、通常はHTTP上で動作します。 それは2000年にRoy Fieldingによって最初に記述されました。アーキテクチャはすべてのエンティティをリソースとして扱います。そして、それはHTTP標準メソッドに基づく共通のインターフェースを通してアクセスすることができます。
RESTアーキテクチャ
RESTアーキテクチャーには通常、RESTクライアントとサーバーがあります。 通常、サーバーはリソースへのアクセスを提供し、クライアントはリソースへのアクセスと変更を行います。 リソースは、グローバルID(通常はユニバーサルリソースインジケータ(URI))を使用して識別されます。 このアーキテクチャでは、システムの効率を向上させるために、クライアントとサーバー間の操作数を制限することを重視しています。
SOAP WebサービスとREST Webサービスの違い
- SOAPはXMLベースのメッセージングプロトコルですが、RESTはアーキテクチャスタイルです。
- SOAPは分散コンピューティングを処理するように設計されていますが、RESTは仲介者が重要な役割を果たさないポイントツーポイント通信を前提としています。
- RESTはHTTP以外は必要ありません。 SOAPは、完全なツールセットとミドルウェアサポートを必要とします。
- RESTには組み込みのエラーハンドラがあります。 SOAPにそのようなハンドラは存在しません。