基礎から分かるAPI管理【第3回】
API公開で必要なタスクは? 開発者/提供者視点で解説
自社サービスの市場価値向上を目的にAPI開発およびAPI公開をする際、どのようなタスクが必要なのか、API提供者の観点で解説する。
第2回「APIとは何か? Web APIとの違い、利用者のタスクを解説」では、API利用者の観点から、Web APIの概要、Web APIを自社サービスに組み込む際の留意点および実施すべきタスクについて紹介した。第3回ではAPI提供者の観点で、自社サービスの市場価値向上を目的にAPIの開発および公開をする際にどのようなタスクが必要なのかについて述べる。
併せて読みたいお薦め記事
連載「基礎から分かるAPI管理」インデックス
APIで新たなビジネスに取り組む
マイクロサービスで不可欠なAPI
API開発および公開のために必要なタスク
API開発および公開をする際、既存サービスにAPIを実装するパターン、新規サービスにAPIを実装するパターンが考えられる。ここでは上記2つのパターンで共通的に実施すべきタスクと、個々のパターンごとに実施すべきタスクを説明する。
共通で必要なタスク
共通で必要なタスクについては、利用者のAPI利用時の利便性、セキュアな状態でのAPI公開を考慮し、下記タスクを実施する。
他社/他製品の良いAPI仕様を参考にしたAPI仕様定義
API開発に当たり、まずはAPI仕様の定義が必要だ。API仕様定義の際に参考になるのが、他社が持つAPI仕様である。参考にするAPIは、自社サービスに類似したサービスを提供している他社のAPIが適当だ。そうしたサービスが存在しない場合、API利用者が多いと想定されるサービスが持つAPIを参考にするとよい。
API利用者が多いサービスは、API利用分析や利用者のフィードバックを基に、より利便性の高いAPIを提供している可能性が高い。
APIレファレンス(API利用者に公開するAPI仕様のドキュメント)の充実
第2回で紹介した通り、API利用者が公開されたAPIを利用する際、最初に実施するタスクがAPIレファレンスの確認だ。
APIのリクエストおよびレスポンスのフォーマット、パラメーター、API利用のための認証有無といった情報に加えて下記の要素を含めることで、API利用者の利便性を高めることができる。
- 他言語対応(グローバルにサービス展開する場合)
- グローバルに展開しているサービスの場合、日本語だけでなく他言語(英語、中国語など)版のレファレンスを用意しておくことで、API利用を促進することができる
- 簡易なAPIテスティングツールの提供
- APIレファレンスの一部としてGUI(グラフィカルユーザーインタフェース)で利用可能な簡易なAPIテスティングツールを提供しておき、そこで利用者に実際にAPIを利用してもらう
API利用のためのSDK提供
自社が公開しているAPIを、API利用者側のサービスへ容易に組み込めるようにするために、SDK(ソフトウェア開発キット)を開発および提供する。
SDKにはAPI利用のための認証認可やAPIコール、APIコール時のエラーハンドリングといった処理を簡易にできる機能を搭載、API利用者側が開発を効率的に進められるようにする。
SDKはプログラミング言語ごとに提供する必要があり、全ての言語を網羅することは非現実的である。そのためAPI利用者側がサービスの実装に用いる言語の利用割合を考慮し、対応言語を選定する。
セキュアな状態でのAPI公開
自社サービスの市場価値向上を目的にAPIを公開する場合、インターネットに公開するのが一般的だ。APIを公開するサーバは、通常のWebサーバと同様にDMZ(非武装地帯)に配置するため、昨今増大するサイバー攻撃への対策が必要となる。
ファイアウォール、WAF(Webアプリケーションファイアウォール)、DDoS(分散サービス拒否)攻撃対策など外部からのサイバー攻撃への対策、APIを公開するサーバへのウイルス対策ソフトの導入、不要なポートの閉塞などの内部対策も実施する。
既存サービスにAPIを実装する場合のタスク
既存サービスにAPIを実装する場合、該当サービスで提供している全てのデータや処理のAPIを公開するのが理想だが、サービスを実現しているシステムのアーキテクチャを根本的に見直す必要が出てくる。
このため既存サービスにAPIを実装する場合、全サービスではなく、サービスを構成する一部の機能を利用可能なAPIの提供が適切だ。ここではAPIを提供する一部機能の選定方法およびAPI実装方法について述べる。
APIとして公開する機能の選定方法
市場価値の高い機能やデータを見極め、その機能やデータを公開するためのAPIを優先して提供する。例えば、自社しか持たないデータだが、さまざまな業種で活用することによって価値が生まれるデータを持っているとしよう。その場合、APIを介してAPI利用者がデータを参照できるようにすることで、自社サービスの市場価値向上につながる。
API実装方法
一部機能のAPI提供のために、既存サービスを実現しているシステムを改修するのではなく、API提供に必要なインタフェースだけ新規実装する。それだけでは足りない場合は既存システムのシステム内部機能を流用することで、迅速なAPI提供が可能となる。
新規サービスにAPIを実装する場合のタスク
新規サービスにAPIを実装する場合、API公開を前提としたサービスおよびシステムアーキテクチャを検討する。
API公開に適したアーキテクチャとして、「マイクロサービスアーキテクチャ」が存在する。マイクロサービスアーキテクチャは、サービスを構成する機能群を細かな単位に分割し(マイクロサービス)、それらの機能間のメッセージング(データのやりとり)をAPIで実現することで、大きな機能を実現する。
マイクロサービスごとにAPIの公開可否を容易に変更することができるため、API利用者のニーズに応じたAPI公開戦略を取ることができる。
APIマネジメント製品(APIゲートウェイ)の紹介
既存サービス、新規サービスにかかわらず、単一のサービスであればAPIレファレンスやSDK、API管理(公開/非公開の制御、バージョン管理、利用ログ分析など)は容易に実施可能だ。しかしながら自社の複数サービスのAPIを一元的に管理する場合、各サービスが個々に持つAPIレファレンスの記述粒度をそろえたり、適切なバージョン管理を導入したりといった作業が発生し、API管理が非常に複雑になる。
上記の課題を解決するための製品として、「APIマネジメント製品」がベンダーから提供されており、さまざまな企業が採用している。第4回では、APIマネジメント製品が持つ主要な機能および市中製品の特徴について紹介する。
岡野隆也(おかの・たかや)
元データベースエンジニア。これまで、システム障害時の技術サポート、データ分析、クラウドサービスの開発、セキュリティ関連システムの開発など、さまざまな業務に従事。現在はSoE(Systems of Engagement)領域のビジネス拡大に向け新技術の検証・評価、PoC(概念実証)実施に従事中。国内外問わず旅行に行くのが趣味。まだ南半球に行ったことがないため、近年中の実現を画策している。
Copyright © ITmedia, Inc. All Rights Reserved.
基礎から分かるAPI管理
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社フィックスターズ] 組み込み開発特有の課題も解消できる「AI活用」の秘訣とは? -
製品資料
[株式会社スタディスト] 食品ロスを解消して“利益の創出”を実現、その第一歩は何から始める? -
製品資料
[株式会社スタディスト] 段取り替え時間に差が生まれるのはなぜ? 作業を標準化する仕組み作りのコツ -
技術文書・技術解説
[Datadog Japan合同会社] 開発と運用の人員格差をどう埋める? DevOpsを実現するための実践ポイント -
製品資料
[サイバーソリューションズ株式会社] たった1回でサプライチェーンが破滅することも メール誤送信を確実に防ぐには
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「企業におけるAI導入検討度とIT投資優先度」に関するアンケート
-
2
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
3
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
4
パッチなしで「今すぐサーバを落とせ」 Kiteworks異例警告の波紋
-
5
LINEヤフーはなぜ「社内の管理者」すら信用しないインフラを作ったのか
-
6
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
7
「サイバー犯罪株式会社」に潜入 現地調査で判明した“犯罪者求人”の実態
-
8
OpenAIやAnthropicでさえ制御不能 2026年夏「3大サイバー攻撃」の衝撃
-
9
Copilot導入で陥る“目的化”の落とし穴 定着の鍵は「作り込まない」こと
-
10
IT製品の導入に関するアンケート「セキュリティ」編
ホワイトペーパーランキング PR
-
1
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
2
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
3
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
4
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
5
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
6
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
7
Linux初心者でも知らないとまずい「RHEL」「SLES」の違いとは?
-
8
東大教授と考える、AI時代の「データ主権」「信頼性」「ガバナンス」の在り方
-
9
「IT史に名を残すシステム障害」8選
-
10
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー