REST サービスと SOAP サービスのどちらを選択するためのガイドですか?

StackOverflow https://stackoverflow.com/questions/28950

  •  09-06-2019
  •  | 
  •  

質問

REST と REST のどちらを選択するかを決定するためのドキュメントまたはガイドへのリンクを持っている人はいますか?石鹸?私はこれらの両方を理解していますが、どちらか一方に傾く可能性のある重要な決定点、たとえばセキュリティについての参考文献を探しています。

役に立ちましたか?

解決

Googleの最初のヒット かなり包括的なようです。

ここでの問題は、どちらかを支持する人が多すぎることだと思います。グーグルで賛否両論を自分で把握し、自分で決定する方が良いかもしれません。

ちょっと面倒に聞こえるかもしれませんが、最終的にこの種の設計上の決定は、それに取り組む開発者/アーキテクトに委ねられます。 99% の確率で、問題のドメインが決定要因になります (少なくともそうあるべきです)、ネット上のガイドではありません。

他のヒント

Simple Object Access Protocol (SOAP) 標準は、メッセージ アーキテクチャとメッセージ形式を定義する XML 言語であり、操作の説明が含まれる Web サービスで使用されます。WSDL は、Web サービスとそのアクセス方法を記述するための XML ベースの言語です。SMTP、HTTP、FTPなどで実行されます。ミドルウェアのサポート、WSDL+XSD、WS-Policy などのサービスを定義する明確に定義されたメカニズムが必要 SOAP は XML ベースのデータを返す SOAP はセキュリティと信頼性の標準を提供

Representational State Transfer (RESTful) Web サービス。これらは第 2 世代の Web サービスです。RESTful Web サービスは、SOAP ベースのサービスではなく HTTP 経由で通信し、XML メッセージや WSDL サービス API 定義を必要としません。REST の場合、ミドルウェアは必要ありません。HTTP サポートのみが必要です。WADL 標準、REST は XML、プレーン テキスト、JSON、HTML などを返すことができます。

サーバー側の進化と拡張を可能にしながら、多くの種類のクライアントが RESTful Web サービスを利用することが容易になります。クライアントは、サービスの一部またはすべての側面を利用し、他の Web ベースのサービスとマッシュアップすることを選択できます。

REST uses standard HTTP so it is simplerto creating clients, developing APIs 
REST permits many different data formats like XML, plain text, JSON, HTML where  as  SOAP only permits XML.
REST has better performance and scalability.
Rest and can be cached and SOAP can't 
Built-in error handling where SOAP has No error handling
REST is particularly useful PDA and other mobile devices.

REST サービスは、既存の Web サイトと簡単に統合できます。

SOAP には一連のプロトコルがあり、特にセキュリティと信頼性に関する標準を提供し、他の WS 準拠クライアントおよびサーバーと相互運用します。SOAP Web サービス (JAX-WS など) は、非同期処理と呼び出しの処理に役立ちます。

複雑な API の場合は、SOAP の方が便利です。

REST と SOAP の両方を使用して同様の機能を実装できると思いますが、一般的に SOAP は、SOAP の特定の機能が必要な場合に使用する必要があり、REST の利点により、それ以外の場合は一般的に最良の選択肢になります。ただし、REST と SOAP は両方とも「Web サービス」と呼ばれることが多く、一方が他方の代わりに使用されることがよくありますが、これらはまったく異なるアプローチです。REST は、クライアント/サーバー アプリケーションを構築するためのアーキテクチャ スタイルです。SOAP は、2 つのエンドポイント間でデータを交換するためのプロトコル仕様です。

私は +Rob Cooper の投稿に非常に同意します。はい、擁護者はたくさんいます。リストアップしました ソープとレストの違い.

REST と SOAP のどちらを選択するかを決定するために使用できる優れたフローチャートがあります。

フローチャートへのリンク: https://drive.google.com/file/d/0B3zMtAq1Rf-sdVFNdThvNmZWRGc/edit

記事へのリンク: https://www.linkedin.com/pulse/20140818062318-7933571-soap-vs-rest-flowchart-to-determine-the-right-web-services-protocol-for-your-needs

この決定を行うために使用する他の 2 つの要素は次のとおりです。

1) サービスのクライアントは XML 以外のメディア タイプ (JSON など) を必要とするかどうか。「はい」の場合は、REST を使用します。

2) サービスのクライアントは常にアプリケーション/サーバーになりますか (例:RIA または AJAX クライアントではありません)。「いいえ」の場合、AJAX を使用すると REST サービスを利用しやすくなるため、これは REST に傾きます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top