2022/04/27

REST APIとは?他のAPIとSalesforceでの使われ方についても解説します!

 
  

REST APIとは?

REST APIとは、「Representational State Transfer」の略で、APIの中でもRESTと呼ばれる設計原則に従って策定されたものを指します。 RESTの設計原則は、主に4つの原則から構成されています。 一つ目は、リソースの取扱いについての考え方で、それぞれのリソースに対してURLが対応するようにします。 二つ目は、セッションなどの情報管理を行わない、ということです。 三つ目は、ひとつのURLから得られる結果は、状態やセッションに依存せず、一定であるということです。 そして4つ目は、すべての情報はURLやURIなど、汎用的な構文で識別され、情報の内部には別の状態や、その情報とは別の情報のリンクを含めることができる、ということです。 これらの4つの設計原則に従って策定されたAPIが、REST APIということになります。

APIと「REST」APIの違い

REST APIは、RESTと呼ばれる設計原則に従って策定されたAPIということを解説しましたが、具体的にRESTでないAPIと、REST APIでは何が違うのでしょうか。 ユーザ情報を取り扱う場合を例にとって、2つの違いを解説したいと思います。 RESTの原則に従っていないAPIでは、ユーザの情報を作成や取得、削除などをする場合、それぞれの処理に対応するURLを作成します。つまり、
/CreateUserInfo
/GetUserInfo
のような形で、処理に対応したシステム設計をします。 しかし、RESTの原則に従って設計を行う場合、処理ではなく、リソースにURLを対応させます。つまり、
/UserInfo
という、ユーザ情報を取り扱うためのURLを1つ用意するだけです。 これだけではユーザ情報をどうするのかが分からないため、ここでPOSTやGETなどの、HTTPのリクエストメソッドを使用します。 このように、RESTの原則に従って設計されたAPIであれば、URLが1つで済むのに対し、RESTの原則に従っていないAPIは、処理の数だけURLを用意しなければなりません。

REST APIのメリット

REST APIのメリットは大きく分けて3つあります。 一つ目のメリットは、リソースをURLなどのURIで示すことで、リソースの参照が容易になることです。 さらに、URIに規則性が生まれ、システムを変更する時や規模を拡張する際に非常に便利です。 二つ目は、状態を表すデータをシステムが保持することがなくなるため、利用者や処理の増加に対応しやすくなるということです。 状態をURLで示すのではなく、HTTPのリクエストメソッドを使用するため、システムが状態を表すデータを保存する必要がありません。 三つ目は、他システムとの連携などがしやすくなる、ということです。 RESTの原則に則って作られたWebアプリなどは、インターフェースが統一されることで、互換性の面で優れていることなど、様々な面で連携などがしやすくなっています。

Salesforce Lightning Platform REST APIとは?

Salesforce Lightning Platform REST APIとは、SalesforceのLightning Platformを操作するためのAPIのことで、モバイルアプリと「Web2.0プロジェクト」など、軽量なデータを操作するときに最適です。 「REST」とついている通り、RESTの設計原則に則ったAPIであり、利便性の高さとシンプルな点、そして開発が容易であることなどが強みであるとされています。 REST APIは、SOAP APIと同じ標準オブジェクト、そして基盤データモデルを使い、同じ制限に従うことになります。 また、デメリットとして、大容量のデータを扱うことには適していないということが挙げられ、Salesforceで大容量のデータを扱う場合は「Bulk API」の使用が推奨されています。

SOAP APIとは?

SOAP APIとは、「Simple Object Access Protocol」の略で、Salesforceでの標準的なAPIとされており、レコード操作以外にもユーザパスワードの変更やメールの送信など、様々な機能が用意されています。 効率性ではBulk APIに劣りますが、大容量のデータ操作も可能であり、非常にユーティリティ性のあるAPIになっています。 SOAPはRESTとは違い、原則などではありません。 Protocolの文字の通り、SOAPとはプロトコルであるため、コンピュータ同士が通信を行う際のルールになります。 また特徴として、HTTPリクエストとレスポンスにXMLを使ってデータのやり取りを行うということが挙げられます。

Bulk APIとは?

Bulk APIとは、REST規則に基づいて、大規模なデータセットの操作に最適化されたAPIのことです。Salesforceは、マルチテナント環境で実行されているため、リソースの独占の危険性があります。 Salesforceでは、この危険性をなくすため、Apexのトランザクション単位で処理のカウントを行い、一定数を超えるとエラーとなる、「ガバナ制限」というものが設けられています。 Bulk APIは、このガバナ制限を回避するためにも利用されます。 どのようにして大規模データセットの操作に最適化させているかというと、処理をサーバサイドで非同期にしているため、効率的に処理時間やAPIコールの数を抑えることを達成しています。 使用前の注意点として、結果を受け取るためにポーリングを行わなければならない、ということを理解しておかなければなりません。

APIについての理解を深め、作業の効率化とリソースの有効活用を!

今回は、REST APIと他のAPIについて、そしてSalesforceでのAPIについて解説しました。 今回紹介したAPIにはそれぞれ強みがあるため、それぞれのAPIに適した方法で使用して、功利的な作業とリソースの有効活用を目指していきましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】