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

ポリシーとは

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

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

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

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

詳細