基礎から分かるAPI管理【第2回】
APIとは何か? Web APIとの違い、利用者のタスクを解説(1/2 ページ)
APIを利用するアプリケーション開発者の観点で、APIやWeb APIとは何か、実際にAPIを利用する場合にどのようなタスクが必要なのかについて解説する。
第1回「UberやKDDIのAPI活用とは 主要5社のビジネスモデルを解説」では、API活用が注目される背景およびAPI活用により実現するビジネスモデル、実際に展開されているサービスについて紹介した。第2回ではAPI利用者の観点から、そもそもAPIやWeb APIがどのようなものなのか、実際にAPIを利用する場合にどのようなタスクが必要なのかについて述べる。
併せて読みたいお薦め記事
APIで新たなビジネスに取り組む
マイクロサービスで不可欠なAPI
APIとは何か
APIとはApplication Programming Interfaceの略称であり、何かしらのサービス提供者が、そのサービスを利用するために提供するインタフェースのことだ。アプリケーション開発者(API利用者)がAPIを利用すれば、同じ機能を持ったサービスを開発する必要がないため、開発効率の向上や開発費用の低減が期待できる。
具体的なAPI利用の例として、銀行口座に対して入金する場合を考える。API提供者が入金サービスをAPI(以下、入金API)で提供しており、そのサービスには
- 銀行口座へのアクセスを許可する認可機能
- 現在残高の確認機能
- 入金額と現在残高を合算する機能
- 合算後の残高を表示する機能
が存在する。API利用者は入金APIに対して必要なパラメーターを与えるだけで、上記の機能全てが実現し、煩雑な機能の設計や実装といった作業から解放される。
Web APIとは何か
Web APIとは、先に述べたAPI提供者とAPI利用者とのやりとりをHTTP/HTTPSベースで実現するAPIだ。「Web」ではないAPIは通常、API利用者が用いるプログラミング言語と同じ言語で提供されることが多い。一方Web APIはHTTP/HTTPSベースのAPIであるため、異なるプログラミング言語で開発されたアプリケーション間を連携させることが可能だ。さらにWebブラウザでも利用できるなど、他のAPIよりも汎用(はんよう)的に利用できる。
Web APIの代表的な実装方式として、RESTとSOAPが存在する。
REST
RESTとはRepresentational State Transferの略称で、下記のRESTの考え方に従って実装されたAPIをRESTful API(またはREST API)と呼ぶ。
- HTTPのメソッド(命令)でデータ操作種別(CRUD)を表す
- POSTメソッドであれば作成(Create)、GETメソッドであれば参照(Reference)、PUT/PATCHメソッドであれば更新(Update)、DELETEメソッドであれば削除(Delete)を表す
- ステートレスにする
- 前回のAPIコール結果にかかわらず同じ値を戻す。例えば合計1000件のデータが存在し、1回目のAPIコールで100件まで取得したとしても、その状態は考慮せず、2回目のAPIコールでも同じ100件を戻すという挙動だ
- URIで操作対象のリソースを判別可能にする
- RESTでは、APIを介して操作する対象を「リソース」と呼ぶ。例えば「ユーザー」というリソースを表すために「users」というリソース名を付与することがある。ユーザーIDが「1000」のユーザー情報を取得したい場合、下記のようなURIフォーマットでURIを生成し、操作可能とする
- URIフォーマット:https://example.com/users/:user_id
- 生成されたURI:https//example.com/users/1000
- RESTでは、APIを介して操作する対象を「リソース」と呼ぶ。例えば「ユーザー」というリソースを表すために「users」というリソース名を付与することがある。ユーザーIDが「1000」のユーザー情報を取得したい場合、下記のようなURIフォーマットでURIを生成し、操作可能とする
- レスポンスとしてXMLもしくはJSONで操作結果を戻す
- 適切にデータ操作できた場合、データ記述言語のXMLもしくはJSONでデータ操作結果を記述し、HTTPのレスポンスボディーに含め、APIコール元に戻す
SOAP
SOAPは、XMLを利用したWebサービス連携プロトコルだ。XMLで記述された「SOAPメッセージ」と呼ばれるデータをやりとりすることで、メッセージを交換する。WSDL(Web Services Description Language)というWebサービスインタフェース記述言語でSOAPメッセージの構造を定義でき、このWSDLによる定義ファイルをAPI利用者、API提供者双方で保持することで、独自に定義した構造のSOAPメッセージをやりとりすることが可能となる。
Copyright © ITmedia, Inc. All Rights Reserved.
基礎から分かるAPI管理
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
9
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
10
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー