APIとは何か? Web APIとの違い、利用者のタスクを解説基礎から分かるAPI管理【第2回】(1/2 ページ)

APIを利用するアプリケーション開発者の観点で、APIやWeb APIとは何か、実際にAPIを利用する場合にどのようなタスクが必要なのかについて解説する。

2018年06月13日 05時00分 公開
[岡野隆也]

関連キーワード

API | Amazon | Google | SDK | アプリケーション開発


 第1回「UberやKDDIのAPI活用とは 主要5社のビジネスモデルを解説」では、API活用が注目される背景およびAPI活用により実現するビジネスモデル、実際に展開されているサービスについて紹介した。第2回ではAPI利用者の観点から、そもそもAPIやWeb 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
  • レスポンスとして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.

       1|2 次のページへ

新着ホワイトペーパー

比較資料 双日テックイノベーション株式会社

プロジェクト管理ツール選定で後悔しない、情シス目線による選定ポイント

プロジェクト管理ツールの乱立を解消するため、一本化を検討するケースが増えている。重要な点は“情シス目線”で選定することだ。そこで8つの主要ツールを比較し、多様な業務に対応しつつ、全社最適も実現できるツールの条件を探った。

事例 双日テックイノベーション株式会社

月間約180時間の作業時間削減、ネクスウェイに学ぶ業務標準化&自動化の進め方

組織のスリム化を目指し、バックヤード業務を1つの部署に集約したものの、チームごとに業務管理の方法が異なるという、新たな課題を抱えることになったネクスウェイ。これを解決すべく、同社が採用したアプローチとは?

製品資料 グーグル・クラウド・ジャパン合同会社

標準のPostgreSQLより4倍以上も高速、高性能&高可用性で注目のデータ基盤とは

リアルタイム性や生成AI対応などデータベースに対する期待が急速に高まっている。そこで従来のPostgreSQLでは対応が難しかったスピードやスケーラビリティの課題を解消したデータ基盤が注目されている。本資料で詳細を解説する。

製品資料 グーグル・クラウド・ジャパン合同会社

生成AIアプリの開発を容易に、オペレーショナルデータベース×RAGのメリット

生成AIを業務に生かすには、回答の正確性やセキュリティなど、多くの課題を解決する必要がある。そこで注目したいのが、オペレーショナルデータベースと、検索拡張生成(RAG)技術を組み合わせるアプローチだ。

製品資料 株式会社ベリサーブ

大規模化するアジャイル開発、3つの課題の解決に向けたアプローチとは

多くの企業でアジャイル開発の手法が取り入れられるようになった一方、欧米企業を中心にアジャイル開発の大規模化が普及している。これに伴い、「テストの工数やコストの増大」「製品全体像の把握の難しさ」といった課題が出てきた。

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

ITmedia マーケティング新着記事

news046.png

「ECプラットフォーム」売れ筋TOP10(2025年4月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news026.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年4月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...

news130.jpg

Cookieを超える「マルチリターゲティング」 広告効果に及ぼす影響は?
Cookieレスの課題解決の鍵となる「マルチリターゲティング」を題材に、AI技術によるROI向...