APIオーケストレーションは、複数のアプリケーション・プログラミング・インターフェース(API)を1つの統合システムに結合するプロセスです。オーケストレーションは、特定のビジネス目標を達成し、よりシームレスなユーザーのエクスペリエンスを提供するために、複数のAPIのデータ・フロー、シーケンス、依存関係を調整します。
オーケストレーションについて簡単に考えると、他のAPIを管理する単一のAPI(オーケストレーション・レイヤー)を提示します。これにより、クライアントは1つのAPIを呼び出して、それぞれ独自のAPIを持つ複数のサービスとリソースを含むワークフローにアクセスできるようになります。
クライアントとAPIの間にAPIオーケストレーションレイヤーを追加することで、組織は複数のサービスとアプリケーションを調整して、単一のスムーズなシステムを作成できます。
多くの組織では、ビジネス・タスクを完了するために連携する、複雑に張り巡らされたAPIに依存しています。これらのAPIは舞台裏で忙しく動作します。効率的に作業するには、APIリクエストを行うクライアントと、他のアプリケーションやサービスの両方と通信する必要があります。APIオーケストレーションは、既存のサービスの上に機能層を追加し、これらのサービスすべてが相互に連携して動作できるようにします。これにより、バックエンドが正常に動作している間、ユーザーにはスムーズなフロントエンド・エクスペリエンスが提供されます。
APIオーケストレーションは、組織がデジタル・トランスフォーメーションを進めており、同じコンピューティング環境内にレガシーと新しいシステムおよびサービスの両方が含まれている場合に特に重要です。レガシー・システムでは、多くの場合、複数のAPIタイプが混在しており、SaaSアプリケーションとオンプレミス・システムおよびデータベース間の通信の調整は、オーケストレーション・レイヤーを通じて実現できます。
APIオーケストレーションは、アプリケーションの機能が多数の個別のコンポーネント間の通信に依存するマイクロサービス・アーキテクチャーでも重要です。これらのコンポーネントはAPIを介して通信し、オーケストレーションはこれらの個々のコンポーネントを管理および調整して、より大規模なサービスの提供を可能にします。
APIオーケストレーションは、複数のAPIを単一システムに調整することで、複雑なワークフローの管理とルーティングを支援します。このようなワークフローでは、それぞれに異なるAPIを介してアクセスする複数のサービスまたはリソースへのアクセスが必要となることがよくあります。オーケストレーション・レイヤーは、個別のAPIを呼び出す必要があるアプリケーションやサービスの単一チャネルを提供します。
電子商取引ワークフローのユースケースを考えてみましょう。顧客が電子商取引プラットフォームで購入する場合、その注文を完了するには、多くのサービスと複数のエンドポイントへの呼び出しが必要になります。在庫を確認するためのAPI呼び出しや、特定のアイテムの取得、決済プラットフォームへのアクセス、CRMソフトウェアからのデータ取得、配送業者への荷物の送信などのために、別のAPIへの呼び出しが行われる場合があります。
このようなビジネス・プロセスが(期待どおりに)リアルタイムで機能するには、これらすべてのアクションが正しい順序で行われる必要があります。オーケストレーション層は、これらすべての呼び出しを一貫した論理ワークフローにまとめ、複雑なイベントのシーケンスを合理化します。
APIオーケストレーションは、これらのさまざまなサービス間の通信を調整し、特定の目標を達成するためにワークフロー内のさまざまなタスクの実行を容易にします。オーケストレーションは指揮者のように機能し、複数のAPIを調整して、単一のフロントエンドAPIを介してアクセスされる統合システムを作成します。
APIオーケストレーションとAPI連携は異なる概念ですが、関連しています。API連携により、APIオーケストレーションが容易になります。
API連携は、さまざなソフトウェア・アプリケーション、システム、プラットフォームが相互に接続し、データを交換するプロセスです。API連携とは、APIを使用して統合フローを公開し、レガシーか新規かを問わず、アプリケーションやシステムでデータを交換し、サービスを共有できるようにすることです。
APIオーケストレーションは、複数のAPIを調整するプロセスであり、その一部は企業システムや統合フローに接続するために既に使用されている場合があり、特定のタスクを実行します。APIオーケストレーションは、これらの統合アプリケーション、システム、データベースを貴重なワークフローに配置できます。
つまり、API連携とは、APIを使用して統合フローを公開し、企業システムとワークフローを接続することを指します。 APIオーケストレーションでは、複数のAPIを結合して単一のシステムを作成します。
API GatewayとAPIオーケストレーションは同様のタスクを実行できます。ゲートウェイはいくつかのオーケストレーション機能を実行し、オーケストレーションを可能にできますが、APIオーケストレーションはゲートウェイと同等の機能に留まりません。
API GatewayはAPI管理ツールです。API呼び出しの単一エントリー・ポイントとして機能し、クライアントからバックエンドのリソースに呼び出しを誘導します。キャッシュ、エラー監視、データ変換など、APIオーケストレーションに同様の機能を実行できます。API Gatewayは、レート制限などの重要な機能も実行できます。
主な違いは、API GatewayがAPIリクエストに単一のエントリー・ポイントを提供し、それらのリクエストのフローを管理することです。APIオーケストレーションは、特定のタスクを完了するために複数のAPIを調整します。
マイクロサービス(マイクロサービス・アーキテクチャー)は、単一のアプリケーションを、疎結合で独立してデプロイできる多数の小さなコンポーネントまたはサービスで構成される、クラウドネイティブのアーキテクチャー・アプローチです。これらの独立した部分はAPIを通じて通信し、マイクロサービス・オーケストレーションはこれらのマイクロサービスを調整して、一貫性のある大規模アプリケーションを作成するのに役立ちます。
マイクロサービス・アーキテクチャーは、すべてのコンポーネント間の通信が調整され、一貫性がある場合にのみ意図したとおりに機能します。オーケストレーションによってその調整が容易になります。オーケストレーションにより、サービス検出、ワークフロー制御、エラー処理も追加され、組織はマイクロサービスをレガシー・システムと統合できるようになります。
オーケストレーション・レイヤーは、組織のAPIの効率を向上させるいくつかの重要な機能を実行します。これらの機能には以下のものが含まれます。
これらの機能は、組織のAPIワークフローを合理化し、複雑なビジネス・プロセスに必要な人間の介入の量を削減する上で鍵となります。
統合:組織では、さまざまなユースケースに合わせて、GraphQL、RPC、WebSocket、REST APIなどのAPIタイプ、スタイル、言語を組み合わせて使用することがよくあります。さらに、組織では同じコンピューティング環境内に新しいシステムとレガシー・システムが混在している場合もあります。オーケストレーション・レイヤーは、システム間のデータ構造を正規化し、これらのさまざまなタイプのAPI間の通信を調整するのに役立ちます。
データ変換:クライアント・アプリケーションがAPI呼び出しを送信する場合、呼び出しと応答の両方の形式は、APIのプロトコル、言語、またはアーキテクチャーのスタイルによって異なります。ワークフローでこれらのAPIが相互に通信してデータを共有する必要がある場合、あるAPIからの応答を判読可能な形式に変換して、次のAPIに送信する必要があります。
オーケストレーションでは、呼び出しを行うクライアントとそれに応答するバックエンドAPIの両方の要件を満たす標準化された呼び出し形式が行われます。
論理ワークフロー:デジタル・ワークフローに複数のAPIが含まれる場合、これらのAPIを特定のシーケンスで呼び出すことが重要となることがよくあります。APIオーケストレーション・ツールは、ビジュアル・ワークフロー設計などのツールを通じて、この複雑な一連の呼び出しとレスポンスのプロセスを改良できます。
自動化:自動化は、デジタル・ワークフローを合理化する上で重要な要素です。APIオーケストレーション・ツールは、ユーザーがさまざまなサービス間のやり取りを構築および自動化できるようにするノーコード・コネクタなどの機能を提供します。
エラー通知:APIオーケストレーション・ツールは、オーケストレーション・レイヤーのエラーの監視とフラグに役立つため、エラーが発生した場合にすべてのアプリとマイクロサービスを確認する必要性が減ります。
再試行:API間の通信は場合によっては失敗することがありますが、APIオーケストレーション・ツールはこれらの失敗した通信を再試行し、一時的な中断があってもデータの流れを維持できます。
認証とAPIセキュリティー:APIセキュリティーは重要ですが、認証ワークフローによってAPI間の通信が遅くなる場合があります。さらに、組織には、APIキー、OAuth、APIトークンなど、さまざまなAPI認証手段を使用して権限を付与するAPIがある場合があります。APIオーケストレーション・ツールは認証パイプラインを自動化し、データの流れを中断することなく機密データを安全に保つことができます。
キャッシング:APIのワークフローを効率的に維持するために、APIオーケストレーション・ツールはデータのキャッシングをサポートし、頻繁に参照されるデータをキャッシュに保管して、APIの呼び出しと応答のプロセスを行わずにデータにアクセスできるようにします。
APIオーケストレーションは、組織のAPI環境の最適化に役立ちます。APIオーケストレーションの主なメリットには以下のようなものがあります。
APIオーケストレーションで複雑なデジタル・ワークフローを簡素化し、データ・フローをスムーズにできます。これは、APIタイプを組み合わせて使用している組織や、現在レガシー・システムやアプリケーションを新しいコンピューティング環境に統合している組織に特に役立ちます。
APIオーケストレーションによって、データ・フローとAPI通信が促進され、より柔軟なAPIエコシステムが構築されます。この柔軟性により、環境はよりスケーラブルになり、既存のシステムを中断することなく新しいAPI、アプリケーション、サービスを追加しやすくなります。
APIオーケストレーションは、アプリやサービスの複雑なWebとやり取りするための統合フロント・エンドAPIを提供します。これにより、エンド・ユーザーのプロセスが簡素化され、プロセスがより迅速に動きます。バックエンドでは、オーケストレーション層を実装することで、従業員の介入を必要とせずに要求処理の効率が向上します。
AIを活用した自動化機能で、API、アプリケーション、イベント、ファイル、B2B/EDIにおいて俊敏性を促進します。
アプリケーションとシステムを接続して重要なデータに迅速かつ安全にアクセスする IBM 統合ソリューションにより、ビジネスの可能性を最大限に引き出します。
IBM Cloudコンサルティング・サービスで新しい機能を解き放ち、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略と専門家のパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。