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 次のページへ

隴�スー騾ケツ€郢晏ク厥。郢ァ�、郢晏現�ス郢晢スシ郢昜サ」�ス

製品資料 ServiceNow Japan合同会社

生成AIで「ローコード開発」を強化するための4つの方法

ビジネスに生成AIを利用するのが当たり前になりつつある中、ローコード開発への活用を模索している組織も少なくない。開発者不足の解消や開発コストの削減など、さまざまな問題を解消するために、生成AIをどう活用すればよいのか。

製品レビュー 発注ナビ株式会社

システム開発の4つの手法とは? システム開発の流れや専門用語を基礎から解説

システム開発を任されても、「何から始めたらよいのか分からない」という担当者は多いだろう。そこで本資料では、システム開発の流れや専門用語といった基礎知識を分かりやすく解説するとともに、システム開発の4つの手法を紹介する。

製品資料 株式会社AGEST

短納期化が進むシステム開発、なぜテストのアウトソーシングが増えているのか

システムの不具合によるさまざまなリスクを回避するには網羅的なテストを行う必要があるが、自社で行うのは難しい。そこで活用したいのが外部のテスト専門会社だ。本資料ではテスト専門会社を活用するメリットや具体的な流れを解説する。

製品資料 サイボウズ株式会社

レガシーシステムからどう脱却する? 今の時代の基幹システムの在り方

レガシーシステムからの脱却が叫ばれる中、「ERP×ノーコードツール」のアプローチで基幹システムの刷新に取り組む企業が増加している。その推進に当たっては、「Fit to Company Standard」の概念を頭に入れておくことが必要になる。

製品資料 株式会社ビルドシステム

「ローコード開発×内製化」失敗の理由とは? 3つの事例から得た2つの教訓

迅速なサービスの提供を実現する手段として、「ローコード開発×内製化」が注目されている。エンジニア不足の中でも、非IT部門が開発を担える点がその理由の1つだが、全てが順調に進むわけではない。失敗事例から得た2つの教訓を紹介する。

アイティメディアからのお知らせ

郢晏生ホヲ郢敖€郢晢スシ郢ァ�ウ郢晢スウ郢晢ソスホヲ郢晢ソスPR

From Informa TechTarget

「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ

「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ
ネットワークの問題は「帯域幅を増やせば解決する」と考えてはいないだろうか。こうした誤解をしているIT担当者は珍しくない。ネットワークを快適に利用するために、持つべき視点とは。

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

news017.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news027.png

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

news023.png

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