applicationプログラミング インターフェイス (API) が大流行しています。
API 自体は新しいものではありませんが、COVID-19 によるデジタル トランスフォーメーションの加速、ソフトウェア統合の強化、レガシー アプリをクラウド向けに再プラットフォーム化する取り組みなどの最近の現象により、 API が継続的に拡大し、現代のデジタル経済で成功するために組織が行う管理、セキュリティ、さらにはアーキテクチャの選択にも影響を与えています。
本質的に、API はマシンの台頭を表すことができます。 ただし、幸いなことに、人間は依然としてそれらの構築、管理、セキュリティを制御できます (少なくとも今のところは)。
基本的に、「API スピーク」では、コンシューマーは通常、さまざまな標準、スキーマ、仕様で構成される統一されたインターフェースを介して、プロデューサーにクエリまたはリクエストを送信します。
たとえば、国立気象局 (プロデューサー) には毎日の天気データが含まれています。 携帯電話の天気アプリ (消費者) は、 WeatherKit REST APIを介してこのシステムを呼び出す (より具体的にはクエリを実行する) し、天気アプリのユーザー インターフェイスを通じてデータをレンダリングします。 これは、何百万人ものユーザーが使用する人気アプリの単純な例ですが、マシン間通信が現代のデジタル エクスペリエンスのトラフィックの大部分を占めており、それが API によって実現されていることは注目に値します。
API によってもたらされるビジネス価値につながる技術的な利点は数多くあります。
テクノロジーのメリット | ビジネス価値 |
---|---|
Web アプリの基礎となる実装を抽象化します。 | 組織はモバイル アプリとマイクロサービス ベースのアーキテクチャを迅速に導入できます。 |
開発者がツールを使用して API コンシューマーを実装できるように、タイプを指定します。 | リーダーは開発プロセスを最適化して、市場投入までの時間を短縮できます。 |
一貫性があり予測可能な情報交換をモデル化するためにセマンティクス/動作を定義します。 | パートナーはサードパーティ統合を開発し、収益化することができます。 |
API の実装に関しては、考慮すべき点がいくつかあります。 具体的には、モデリング、バージョン管理、契約テストに関して、依存関係を切り離し、設計、構築、保守中の相互運用性を確保するのに役立ちます。
考慮 | 説明 | 利点 |
---|---|---|
モデリング | 情報の交換を表現し構造化するセマンティクスまたは動作。 | 分散アーキテクチャの合理化された管理。 |
バージョン管理 | API ライフサイクル全体にわたるリリースとメンテナンスのガバナンス戦略。 | 最大限の使いやすさと下位互換性。 |
契約テスト | 消費者と生産者の間の定義された相互作用と期待される応答。 | サードパーティのビジネス統合との決定論的な相互作用。 |
API を構築、管理、保護する方法に正解も不正解もありません。実際、API が普及し始めると、大規模に API を使用するには API の形状と構造を標準化する必要が生じました。 OpenAPIイニシアチブとその結果生まれた OpenAPI 仕様 (OAS) を紹介します。 Swagger はOpenAPI 仕様の元々のリファレンス実装であり、現在ではほとんどのツールが OpenAPI の使用に収束していますが、OpenAPI は依然として Swagger を維持しています (HA!)
実際、API はさまざまな標準、スキーマ、仕様を使用して構築できます。 たとえば、 RESTfulプレゼンテーション、 gRPCサービス、 GraphQLスキーマへの接続などです。
実装 | 概要 | 利点 | 使用する場合 |
---|---|---|---|
![]() |
REST は、API ベースのアーキテクチャの実装として、これまでで最も広く導入されています。 |
|
|
![]() |
GraphQL は、API 用のオープンソースのデータ クエリおよび操作言語であり、既存のデータを使用してそれらのクエリを実行するためのランタイムです (Facebook によって開発され、現在は Linux Foundation の一部となっています)。 |
|
|
![]() |
gRPC は、Linux Foundation の管理下にある、最新のオープンソースの高性能リモート プロシージャ コール (RPC) フレームワークです。 |
|
|
API の基礎に関する入門書を踏まえて、今後の投稿では、レガシー アプリをクラウド用に再プラットフォーム化してすべてをまとめる前に、API アーキテクチャを構築、管理、保護する方法を探ります。
先に進みたいですか? 今すぐ電子書籍をダウンロードしてください: