LoginSignup
2
1

More than 1 year has passed since last update.

RESTとSOAPについて

Posted at

はじめに

本記事では、RESTSOAPについて、記述します。

REST

RESTとは、Webのアーキテクチャスタイルのことです。
Representational State Transferの略。

アーキテクチャスタイルとは

アーキテクチャ(Webサービスや設計を形作る「構造」)を決める際の「設計指針」となるものです。

アーキテクチャは構造、アーキテクチャスタイルは設計指針になります。

RESTは、
クライアントとサーバーの間で実際にリソースをやり取りするとき、
クライアントから「URL」に「HTTPメソッド(GET,POST,PUT,DELETE)」
を加えた情報でリクエストします。

RESTのアーキテクチャスタイルについて

RESTは、複数のアーキテクチャスタイルで成り立っています。

ステートレスサーバー

ステート(state)は、状態。

状態がないつまり、クライアントの状態を持たないサーバーです。
サーバーサイドでは、状態を管理しないことから、
クライアントサイドで、情報を送信し、リクエストする形になります。

そうすることで、サーバーサイドでは、負担が少なく、実装が簡単になることのメリットがあります。

キャッシュ

一度得たリソース(WEB上でのあらゆる情報)をクライアント側で保存しそれを使い回す仕組みのことです。

こちらも、サーバーサイドの負担は少なく、
クライアントサイドとサーバーサイドでのやりとりを保存し、
また通信を減らすことで、処理が短縮されることのメリットがあります。

しかし、長く保存されたままでいると、その保存している情報の信頼性に欠けてしまうことがデメリットです。

統一インターフェイス

HTTPメソッドで、
GETやPOSTなど限定固定することで、全体がシンプルになります。

階層化システム

システムを階層に分けることです。
クライアントサイドとサーバーサイドの間に階層を分割するものを設け、負担を分散します。

コードオンデマンド

プログラムをクライアントサイドで実行することです。
例えばJavaScriptの操作では、クライアントサイド側で操作することになります。
クライアントは後から新しい機能を追加することができます。

クライアント側での実行が増えるので、
サーバーサイドとやり取りする情報が多くなり、明確ではなくなります。

SOAP

通信する上で、
リクエスト・レスポンスが読み取りやすいように作成されたデータでやり取りを行います。
Simple Object Access Protocolの略。

 RESTとSOAPの違い

REST SOAP
メリット 他のシステムと連携し機能を広げる事が可能。(例)WebサービスにGoogleMapなどのAPIを導入できる。 高機能で拡張性があること
デメリット 構成のルールが決まっており、拡張性に乏しいこと 書き方の自由度が高く、構成が複雑で、他のシステムとの連携が難しい
向いていること 入力が少ないサービス 複雑な処理やセキュリティの設定を必要とするサービス

RESTful

RESTの考え方や原則に従って実装されてることをRESTfulといいます。

(例)RailsでのRESTful

「http://localhost:3000/tweets」というURL

RESTの考えでは、

このURLに「GETメソッド」でアクセスした時、「index」のアクションとなり、
ツイートの一覧を表示することができます。

他にも、
「http://localhost:3000/tweets/2」というURL

「GETメソッド」では、「showアクション」ツイートの詳細を表示
「PUTメソッド」では、「updateアクション」編集画面から更新
「DELETEメソッド」では、「deアクション」ツイートの削除

となります。

このように、URLに対して、HTTPメソッドで、アクションが紐づきます。

以上です。

終わりに

基本的なことですが、あまり頭に入っていなかったので、アウトプットしました。

以下参考サイトです。
SOAP とRESTの違いについてわかりやすく教えていただけませんでしょうか?
今さら聞けないWebAPIの実装方式RESTとSOAPの違い
REST と SOAP の比較

明日も頑張ります!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1