2017-01-06 15 views
1

最近、私はWebサービスに関するいくつかの調査を行っています。Web APIの種類(Webサービス)

私が今まで理解してきたことは、Webサービスは基本的にHTTP経由で通信するAPIだということです。

Webサービスのさまざまな種類があります

SOAP Webサービス(SOAPを使用して、APIが)

はそれらが唯一だった私の研究中に

RESTful Webサービス(RESTを使用していますAPI) 1つのサイトを除いて言及されたもの。そこではまた言及:

XML-RPC JSON-RPC

はそれらもWebサービスはありますか?なぜ彼らは言及していないのですか?

もし私が何か間違っていると私は私を修正する自由を感じる。

Webサービスの種類主に2種類のWebサービスがあります。 SOAP WebサービスRESTful Webサービス。

-source:大まかに言えばhttp://sfdcsrini.blogspot.com/2015/09/what-is-web-service-and-what-are.html

答えて

3

、Webサービスの二つのタイプがあることが正しいですが、それはREST対SOAPではありません。それはRPC対ReSTです。 HTTPを介してやりとりしない他のタイプの 'Web'サービスもありますが、最近は専門のユースケースの傾向にあるので、現在は無視しています。

RPCサービスは、定義された「メソッド」のセットを呼び出すことができる何らかの抽象的な「オブジェクト」をモデリングするRPCサービスです。そのため、リモートプロシージャコールという名前があります。 APIに定義されているオブジェクトは任意のメソッドセットを持つことができ、HTTPは一般的にトランスポートメカニズムとして使用され、呼び出すために必要なすべての情報(オブジェクト識別子、メソッド名、呼び出しパラメータ)はPOST操作でリモートエンドに転送され、すべてのオブジェクトに同じURIでアクセスされるドキュメント。時には、URI上のクエリパラメータは、オブジェクトおよび/またはメソッドを識別するために使用される。 SOAPXML-RPCは両方ともRPC実装スタイルのタイプであり、似ていますが同じではありません。 JSON-RPCはもう1つのRPCメカニズムで、より冗長なXMLではなくJSONを使用してRPC呼び出しをエンコードします。

ReSTは、リソース指向のAPIスタイルです。 ReSTful APIでは、アプリケーションは、表現(すなわち、シリアライズされた文書フォーマット)を前後に転送することによって、「リソース」と通信する。各リソースには、一貫した&のAPIとURIと呼ばれる一意のアドレスがあります。 HTTPは、転送メカニズムとしてだけでなく、APIの実装としても使用できます。したがって、ReSTful APIのリソースと対話する唯一の方法は、よく知られているHTTPメソッド(GET/PUT/POST/DELETE/PATCH)を使用する方法です。どのAPIエンドポイントもすべてのメソッドを実装するわけではありませんが、エンドポイントはこれらのメソッド以外のものを実装することはありません。

ReSTfulアプローチとRPCアプローチの最も重要な違いは、転送されるデータの意味です。 ReSTful APIでは、転送されたドキュメントは、アプリケーションが操作したいリソースを表し、RPCでは、転送されたドキュメントは、呼び出し元が作成したいメソッド呼び出し(またはその応答)を表します。

関連する問題