アプリケーション プログラミング インターフェイス(API)が大きな注目を集めています。
APIは新しいものではありませんが、COVID-19によるデジタル トランスフォーメーションの加速、ソフトウェア統合の強化、レガシー アプリケーションをクラウド用に再プラットフォーム化する取り組みといった最近の動向により、APIスプロールが継続的に発生しています。これは、組織が現代のデジタル経済で成功を収めるために行う管理、セキュリティ、さらにはアーキテクチャの選択にも影響を与えています。
APIは、本質的にはマシンの台頭を意味していると言えますが、幸いなことに、人間は(少なくとも今のところは)、まだその構築、管理、セキュリティを制御できています。
基本的には、(言うなれば)「APIの会話」において、コンシューマーは通常、さまざまな規格、スキーマ、仕様で構成される統一インターフェイスを介して、クエリや要求をプロデューサーに送ります。
例えば、National Weather Service(アメリカ国立気象局、プロデューサー)には毎日の気象データがあります。スマートフォンの天気アプリ(コンシューマー)は、WeatherKit REST APIを介してこのシステムを呼び出し(つまり、クエリを実行し)、天気アプリのユーザー インターフェイスを介してデータを表示します。これは、何百万人ものユーザーが使用する一般向けのアプリの単純な例ですが、最新のデジタル エクスペリエンスのトラフィックの大部分を占めるマシン間通信が、APIによって支えられていることは注目に値します。
以下に示すように、APIがもたらすビジネス価値につながる多くの技術的メリットがあります
技術的メリット | ビジネス価値 |
---|---|
Webアプリの基礎的な実装を抽象化できる。 | 組織は、モバイル アプリとマイクロサービスベースのアーキテクチャをすばやく導入できる。 |
開発者がツールを使用してAPIコンシューマーを実装できるように、型を指定できる。 | リーダーは、開発プロセスを最適化して市場投入までの時間を短縮できる。 |
セマンティック/動作を定義して、一貫性のある予測可能な情報交換をモデル化できる。 | パートナーは、サードパーティ統合を開発して収益化できる。 |
APIの実装については、多くの考慮事項があります。具体的には、モデル化、バージョン管理、コントラクト テストに関するものであり、これらは設計、構築、メンテナンス時に依存関係を切り離し、相互運用性を確保するのに役立ちます。
考慮事項 | 説明 | メリット |
---|---|---|
モデル化 | 情報の交換を表し、構造化するためのセマンティック/動作。 | 分散型アーキテクチャの効率的な管理。 |
バージョン管理 | APIライフサイクル全体にわたるリリースとメンテナンスのガバナンス戦略。 | 有用性と下位互換性を最大化。 |
コントラクト テスト | コンシューマーとプロデューサーの間で行われる定義済みのインタラクションと予想される応答。 | サードパーティのビジネス統合との確定的なインタラクション。 |
APIを構築、管理、保護する方法に正解も不正解もありません。実際には、APIが急増し始めてから、APIを大規模に利用するためにAPIの形式と構造の標準化が必要になったのです。そこでOpenAPIイニシアティブが創設され、OpenAPI仕様(OAS)が生まれました。SwaggerはOpenAPI仕様の最初の参照実装です。現在はほとんどのツールがOpenAPIを使用していますが、依然としてSwaggerは維持されています(笑ってしまいますね!)。
実際、APIは、さまざまな規格、スキーマ、仕様を使用して構築できます。その例としては、RESTfulプレゼンテーション、gRPCサービス、GraphQLスキーマへの接続などが挙げられます。
実装 | 概要 | メリット | 使用に適した状況 |
---|---|---|---|
RESTは、最も広く導入されているAPIベースのアーキテクチャ実装です。 |
|
|
|
GraphQLは、API用のオープンソース データのクエリおよび操作言語であり、これらのクエリを既存のデータで実行するためのランタイムです(Facebookが開発し、現在はLinux Foundationの一部)。 |
|
|
|
gRPCは、Linux Foundationの管理下にある最新のオープンソースの高性能リモート プロシージャ コール(RPC)フレームワークです。 |
|
|
これらのAPIの基礎を踏まえて、今後の記事では、レガシー アプリをクラウド用に再プラットフォーム化することですべてをまとめる前にAPIアーキテクチャを構築、管理、保護する方法を紹介していきます。
成功を収めるには、今すぐEブックをダウンロードしてください。