APIとはApplication Programming Interfaceの略で、インタラクション、ユーザー(人またはソフトウェア)と情報(オンラインおよびWebアプリケーションによって利用可能になるデータ リソース)という2つのエンティティ間の通信を可能にする一連の定義、仕様、ルール、およびプロトコルです。
簡単に言うと、異なるソフトウェア同士が情報をやり取りするための「窓口」のようなものです。例えば、スマートフォンのアプリが天気情報を表示する際、そのアプリは天気予報サービスのAPIを使って外部からアプリ内に情報を取得しています。
APIが存在することで、開発者は一から全てを作り上げる必要がなく、自社のリソースを効率的に活用できます。既存のサービスやデータを簡単に利用できるため、開発の効率が大幅に向上します。
現在、APIは最新のアプリケーションの基本フレームワークを形成し、ユーザー エクスペリエンスを向上させ、ビジネス モデルを強化しています。場合によっては、APIがビジネス モデルそのものになることもあります。
以下に、APIの詳細について説明します。
APIはアプリケーションの「公開部分」であり、アプリケーションが実行する機能と提供可能な情報を明らかにし、要求の適切な形式を定義します。開発者がアプリケーションのAPIを作成して公開すると、他のアプリケーションがそのAPIと通信できるようになります。
多くの場合、APIは広く使用されている機能をすぐに利用できるようにするため、開発者の貴重な時間を節約します。開発者は、既存のアプリケーションの機能を複製するのではなく、既存のアプリケーションのAPIを呼び出すことで、その機能をアプリケーションに統合できます。そのため、APIを理解し、効果的に活用することは、現代のインターネットビジネスにおいて非常に重要です。
各APIを設計、導入し、機能させる方法は、そのアーキテクチャのスタイルやプロトコルによって異なります。
APIアーキテクチャ、つまりアーキテクチャのスタイルとは、APIの高レベルの設計を指します。これには、APIを構造化および組織化する方法やそのリクエスト/応答の形式が含まれます。また、APIプロトコルは形式を指定し、その上、正確なメッセージを記述します。
一般的なAPIアーキテクチャとプロトコルには次のものがあります。
APIは最新のソフトウェアの重要な部分です。現在、組織や企業は、ニーズに応じてさまざまな種類のAPIを構築したり使用したりしています。
現在、組織で最も一般的な4つの種類のAPIは、パブリックAPI、プライベートAPI、パートナーAPI、サードパーティAPIです。
パブリックAPIは、企業外のユーザーが(収益化して、または無料で)アクセスできるため、サードパーティの開発者とパートナーシップを構築し、ビジネス エコシステム全体を拡張することができます。
パブリックAPIはサードパーティの開発者が新しい製品を構築する際に使用できるため、イノベーションの推進に貢献し、新しいパートナーシップの構築に役立つ重要なツールとなります。
プライベートAPIには、企業内の社内チームのみがアクセスできます。データのロックを解除して社内コラボレーションを促進する上で役立ちます。または、組織の公開アプリケーション(Webサイトなど)を目に見えない形でサポートする場合もあります。
プライベートAPIは社内ユーザーのみが利用できるため、組織は最適化を念頭に置いて構築できます。また、プライベートAPIによって最新のアプリケーションの構成が向上し、企業は現在のニーズに適応できるようになります。開発者は、マイクロサービスを構築しながらプライベートAPIを簡単に統合できるため、チーム間での作業の重複が減ります。
パートナーAPIは、ビジネス パートナーと直接統合する際に使用されます(航空会社がホテル チェーンと提携し、航空券と宿泊施設を同時に予約できるようにする場合など)。パートナーAPIは一般公開されません。パートナーAPIには、両方のビジネスの認証(AuthN)と認可(AuthZ)の要件を満たす一部の開発者のみがアクセスできます。
パートナーAPIはサイロを排除し、さまざまな組織が相互に通信できるようにするため、相互運用性によってパートナーAPIとの関係が強化されます。
サードパーティAPIは、アプリケーションとサービスに不足しているデータや機能にアクセスするために、組織によって使用されます。これらのAPIはサードパーティのサーバ上で実行され、通常は広く必要とされているサービスを提供します(多くのeコマースWebサイトで使用されているStripe決済処理APIなど)。APIに応じて、組織は有料もしくは無料でこれらのサービスを使用できます。
サードパーティAPIは他の開発者または組織がすでに構築したものであるため、明確なメリットの1つとしてコストの削減が挙げられます。さらに、開発者は自分でコーディングせずに機能をすぐに使用できるため、サードパーティAPIは、組織がアプリケーションをより迅速に開発するための主な手段となっています。
APIのコーディングには、ほとんどの最新のプログラミング言語を使用できます。APIをコーディングする場合、多くの開発者はフレームワークを使用します。フレームワークは、コード ライブラリやその他の必要なユーティリティなどのビルディング ブロックを提供し、言語を使用してアプリケーションを迅速かつ簡単に構築できるようにします。
一般的に、各プログラミング言語には、開発者の間で広く使用されている1つ以上のフレームワークがあります。次の表に、いくつかのフレームワーク オプションを示します(多くはオープン ソースです)。
言語とフレームワークの選択は通常、プロジェクトのニーズまたは開発者個人の好みによって決まります。
今日の組織は、目標に沿った最新のAPI戦略を必要としています。API戦略では、組織がAPIをどのように設計、開発、管理、統制、保護するかに関する計画を立てます。
Gartnerの「ソフトウェア エンジニアリング リーダーのための上位5つのAPIレッスン」では、API戦略を強力なものにするためのベスト プラクティスが5つ紹介されています。
どの種類のAPIアーキテクチャを選択するか、どの種類のAPIをコーディングするかを問わず、後からではなく最初からAPIのセキュリティを考慮することが重要です。APIを最初から安全に保ち、APIスプロールなどの一般的な問題に対処する方法の詳細については、「APIセキュリティ:API保護のベスト プラクティス」をご覧ください。
また、すべての指標が同等に作成されるわけではありません。詳細については、「API戦略を成功させるために監視すべき12の指標」をご覧ください。
APIは開発者向けのツールとして始まりましたが、収益を増加させ、企業の俊敏性をサポートする戦略的なビジネス資産へと成長してきました。API接続とは、可視性、セキュリティ、ガバナンスにおける課題を解決することを目的として、モジュール式の再利用可能なAPIを使用してクラウドネイティブ環境でデータとアプリケーションをリンクすることを指します。
マンガ解説
APIへのサイバー攻撃と情報漏洩を防御しよう ›
カスタマーストーリー
McGraw Hillがマルチクラウド管理を簡素化 ›
プレスリリース
F5、AI時代のアプリケーション セキュリティを変革 ›
ソリューションエリア
エンタープライズ アプリケーション セキュリティおよびデリバリ ソリューション ›
ビデオデモ
APIディスカバリー、スキーマ検証、保護 ›
NGINXは、APIの取り組みのどの時点でも対応できるさまざまな無料リソースを提供しています。