API と API プロキシについて

Apigee Edge を使用すると、アプリ デベロッパーが利用できる RESTful API を簡単かつ迅速に構築できます。バックエンド サービス用の管理された「ファサード」としての役割を果たす API プロキシを構築することにより、Edge 上で API を公開します。このトピックでは、Apigee Edge における API と API プロキシの関係について説明します。

動画: API プロキシを紹介する短い動画をご覧ください。

API とは

API とは、アプリケーションで他のアプリケーションの機能やデータを簡単に利用できるようにするインターフェースです。API では、アプリケーション ロジック/データへのシンプルで安定したエントリポイントが定義されており、他のデベロッパーによって構築されたアプリケーション ロジックへのアクセスや再利用が簡単になります。「ウェブ API」の場合は、ロジックやデータがネットワークで公開されます。

API を使用するアプリケーションは変化に敏感であるため、API には「契約」のような意味もあります。この契約は、時間の経過とともに予期可能な方法で API が変化することをある程度保証します。

Apigee Edge では、API を構築したり、すでに API がある場合はそれを直接公開したりすることができ、その際に管理階層や表示階層を追加していきます。SOA ベースのウェブサービスなど、HTTP 対応サービスを使用している場合は、Apigee Edge 経由で API として公開することも可能です。

また Edge では、API サービス プラットフォームでホストされているアプリケーションを実装することで、バック エンドサービスなしで API を構築できます。これらのアプリケーションは、JavaScript、Java、Node.js で構築できます。

API プロキシとは

Apigee Edge で API を公開するには、API プロキシを実装します。API プロキシは、アプリ側の API をバックエンド サービスから切り離して、これらのアプリがバックエンド コードの変更の影響を受けないようにします。バックエンドの変更をサービスに適用するときでも、アプリは中断されることなく同じ API の呼び出しを続けます。

API プロキシ構成には、次の 2 種類のエンドポイントがあります。

  • ProxyEndpoint: クライアント アプリでの API の使用方法を定義します。ProxyEndpoint を構成して API プロキシの URL を定義することができます。またプロキシ エンドポイントにより、アプリが HTTP と HTTPS のどちらで API プロキシにアクセスするかが決まります。通常、ポリシーを ProxyEndpoint に添付することで、セキュリティ、割り当てチェック、その他のアクセス制御やレート制限を適用できます。
  • TargetEndpoint: API プロキシとバックエンド サーバーとのやりとりの方法を定義します。セキュリティ設定、HTTP または HTTPS プロトコル、その他の接続情報の定義など、リクエストが適切なバックエンド サービスに転送されるように、TargetEndpoint を構成できます。ポリシーを TargetEndpoint に添付すると、最初のリクエストを実行したアプリ用にレスポンス メッセージが適切に形式設定されるようになります。

API プロキシを可視化した図を以下に示します。

HTTP リクエストは、プロキシ リクエスト エンドポイントを経由して、ターゲット リクエスト エンドポイントに渡された後、バックエンド サービスに送信されます。HTTP レスポンスは、ターゲット レスポンス エンドポイントを経由して、プロキシ レスポンス エンドポイントに渡された後、クライアントに返されます。

API プロキシの作成方法

API プロキシは、XML 構成ファイルとコード(JavaScript、Java など)のバンドルとして構成されています。Apigee では、以下のようにいくつかの方法で API プロキシを作成できます。

  • Edge 管理 UI を使用して、GUI(Graphical User Interface)で API プロキシを定義します。詳細については、シンプルな API プロキシの構築をご覧ください。
  • API プロキシを定義する XML ファイル、および他のサポート ファイルを作成し、Edge にそれらをインポートします。
  • Edge 管理 API を使用して、Edge 向けに一連の REST リクエストを作成することで API プロキシを作成します。
  • Node.js アプリケーションをプロキシとしてデプロイします。スタンドアロン Node.js アプリのデプロイをご覧ください。

ポリシーとは

Edge では、ポリシーを使用することで、コードを書かなくても API の動作を「プログラミング」できます。ポリシーは、プロキシ リクエスト / レスポンス フローの一部分として特定の限定的な管理機能を実装するモジュールのようなものです。ポリシーにより、一般的な管理機能を API に簡単に追加できます。ポリシーには、セキュリティ、レート制限、変換、仲介機能などの機能が備わっています。したがって、各自の環境でこれらの機能を独自にコーディング、保守する必要がありません。

初めての API プロキシの作成

Apigee は、初めて API を作成するときに使用できるチュートリアルのセットを用意しています。初めての API プロキシの作成から始めましょう。

API プロキシを理解するには、サンプル API プロキシの使用で説明されているサンプルを使ってみることをおすすめします。

詳細