アプリケーション プログラミング インターフェイス (API) は、ユーザー (人またはソフトウェア) と情報 (オンライン アプリケーションや Web アプリケーションによって提供されるデータ リソース) の 2 つのエンティティ間の通信を可能にする定義、ルール、プロトコルのセットです。
今日、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 は一般には公開されていません。両方のビジネスの認証 (AuthN) および承認 (AuthZ) 要件を満たす選ばれた開発者がアクセスできます。
相互運用性により、サイロが解体され、さまざまな組織が相互に通信できるようになるため、パートナー API との関係が強化されます。
サードパーティ API は、組織がアプリケーションやサービスに不足しているデータや機能にアクセスするために使用されます。 これらの API はサードパーティのサーバー上で実行され、通常は広く必要とされるサービスを提供します (例として、多くの電子商取引 Web サイトで使用されている Stripe 支払い処理 API があります)。 API に応じて、組織は有料または無料で API を使用できます。
サードパーティ API は既に別の開発者または組織によって構築されているため、その明らかな利点の 1 つはコスト削減です。 さらに、サードパーティ API は、開発者が自分でコーディングするのではなく、機能をすぐに使用できるため、組織がアプリをより速く開発するための重要な手段として機能します。
ほぼすべての最新のプログラミング言語を使用して API をコーディングできます。API をコーディングする場合、多くの開発者はフレームワークを使用することを選択する場合があります。 フレームワークは、コード ライブラリやその他の必要なユーティリティなどのビルディング ブロックを提供し、言語を使用してアプリケーションをより迅速かつ容易に構築できるようにします。
通常、各プログラミング言語には、開発者の間で人気のあるフレームワークが 1 つ以上あります。 表には、いくつかのフレームワーク オプション (その多くはオープン ソース) がリストされています。
どの言語とフレームワークを選択するかは、通常、プロジェクトのニーズや開発者の個人的な好みによって決まります。
今日の組織には、目標に合った最新のAPI 戦略が必要です。 API 戦略は、組織が API を設計、開発、管理、統制、保護する方法の計画を設定します。
Gartner の「ソフトウェア エンジニアリング リーダーのための API に関する 5 つの重要な教訓」によると、API 戦略を強化するためのベスト プラクティスは次の 5 つです。
選択する API アーキテクチャの種類やコーディングする API の種類に関係なく、後から考えるのではなく、最初から API セキュリティを考慮することが重要です。 API を最初から安全に保つ方法や、 API の無秩序な増加などの一般的な問題に対処する方法の詳細については、 「API セキュリティ」を参照してください。 API を保護するためのベスト プラクティス。
すべてのメトリクスが同じように作成されるわけではありません。詳細については、「API 戦略を成功させるために監視する 12 のメトリクス」を参照してください。
API は開発者向けのツールとして始まりましたが、収益を増やし、企業の俊敏性をサポートする戦略的なビジネス資産へと成長しました。 API 接続とは、可視性、セキュリティ、ガバナンスの課題を解決することを目的として、モジュール式の再利用可能な API を使用してクラウド ネイティブ環境のデータとアプリケーションをリンクすることを指します。
NGINX は、API のあらゆる段階で役立つさまざまな無料リソースを提供しています。