RESTful Web ServiceとRESTless Web Serviceの主な違いは、RESTful Web ServiceがRepresentational State Transferのアーキテクチャに従ったアプリケーションであるのに対し、RESTless Web ServiceはRESTfulの原則に従わないアプリケーションである点です。
ウェブサービスはクライアントとサーバーのアプリケーションで、HTTP(Hypertext Transfer Protocol)を使ってWWW上で通信する。
様々なプラットフォームやフレームワーク上で動作する異なるアプリケーション間でデータを交換するための標準を提供します。
ユーザーは引数付きのURLに対してHTTPリクエストを送信し、サービスはその結果をレスポンスとして返します。
さらに、ウェブサービスはプラットフォームに依存しません。
RESTful Webサービスとは
RESTはRepresentational State Transferの略です。
ソフトウェアアーキテクチャのスタイルの1つです。
RESTアーキテクチャに従ったアプリケーションは、RESTful Webサービスと呼ばれます。
また、これらのサービスは、URL を使用してリソースを検索します。
また、トランスポートプロトコル(HTTP -GET、POST、PUT、DELETE)に基づいたアクションを実行する。
図1: ウェブサービス
例えば、http://{serverAddress}/employees/employeeNo/10というURLのRESTful Webサービスは、GET型のRESTコールを送信することで社員情報の取得を支援する。
このWebサービスでは、employeeNo 10を持つ従業員の詳細が返されます。
さらに、同じサービスを使用して、PUTリクエストで新しい値をフォームデータとして送信することにより、従業員の詳細を更新することができます。
RESTtless Webサービスとは
RESTless Web サービスは、REST に従ったものではありません。
SOAP(Simple Object Access Protocolの略)です。
HTTPプロトコルを使ってインターネット上でXMLのリクエストを送信し、XMLのレスポンスを受信するものです。
したがって、SOAPまたはRESTlessウェブサービスはXMLベースです。
SOAPリクエストを送信するすべてのアプリケーションは、WSDLファイルを持っています。
これは、Webサービスで利用可能なすべてのメソッドを表します。
また、リクエストとレスポンスのタイプも含まれています。
言い換えれば、このファイルはサービスとクライアントの間の関連性を記述しています。
さらに、リモートオブジェクトにリモートプロシージャコールを送信するのに役立ちます。
RESTlessサービスは、セキュリティを必要とするアプリケーションに適しています。
しかし、いくつかの欠点があります。
それは、速度が遅く、より多くのリソースと帯域幅を必要とすることです。
Restful Web ServiceとRestless Web Serviceの違い
定義
RESTful Webサービスとは、インターネット上のコンピュータシステム間の相互運用性を提供するRESTのアーキテクチャスタイルに準拠したアプリケーションのことである。
これに対し、RESTless Webサービスは、RESTの原則に基づかないアプリケーションです。
したがって、これがRESTful Web ServiceとRESTless Web Serviceの主な違いです。
タイプ
RESTfulなウェブサービスはRESTを使用しますが、RESTlessなウェブサービスはSOAPを使用します。
データ形式
RESTful Web ServiceとRESTless Web Serviceのもう一つの違いは、それぞれがサポートするデータ形式です。
REST Web サービスは HTML、JSON、テキストなど様々なデータ形式をサポートし、RESTless Web サービスは XML 形式をサポートします。
機能性
RESTfulとRESTlessのWebサービスのもう一つの違いは、RESTfulサービスがURLを使ってビジネスロジックを公開するのに対して、RESTlessサービスはサービスインターフェースを使ってビジネスロジックを公開することです。
柔軟性
さらに、RESTfulなサービスは、RESTlessなサービスよりも簡単で柔軟です。
セキュリティ
セキュリティもRESTful Web ServiceとRESTless Web Serviceの違いの1つです。
RESTfulは、基礎となるトランスポートプロトコルからセキュリティ対策を継承しているため、安全性は低くなります。
RESTlessは独自のセキュリティレイヤーを定義しているため、より安全です。
リソースと帯域幅
リソースと帯域幅も、RESTful Web サービスと RESTless Web サービスの重要な違いの 1 つです。
RESTfulなWebサービスは、より少ない帯域幅とリソースを消費し、RESTlessなWebサービスは、より多くの帯域幅とリソースを消費します。
結論
RESTful Web ServiceとRESTless Web Serviceの違いは、RESTful Web ServiceがRepresentational State Transferのアーキテクチャに従ったアプリケーションであるのに対し、RESTless Web ServiceはRESTfulの原則に従わないアプリケーションである点です。