Anypoint DataGraph の概要

Anypoint DataGraph では、アプリケーションネットワーク内のすべてのデータを統合スキーマに統合できます。Anypoint DataGraph を使用して、次の操作を実行できます。

  • 統合スキーマのデータを動的に照会する

  • 1 つの UI でアプリケーションネットワークをナビゲートする

  • 新しいコードを記述せずに、アプリケーションネットワークの情報を検出、再利用、活用する

Unresolved include directive in modules/ROOT/pages/index.adoc - include::_partials/datagraph-overview-video.html[]

Anypoint DataGraph のしくみ

新しい API をアプリケーションネットワークに追加するたびに、Anypoint Platform がその API をメタデータのグラフとして保存します。Anypoint DataGraph を使用すると、こうしたグラフを 1 つの​統合スキーマ​に接続できます。このスキーマは 1 つの SaaS GraphQL エンドポイントとして実行され、すべての API 内で定義されたすべての項目が含まれ、リンクされています。したがって、基盤となる API 全体にクエリを実行できるため、API 内に存在するリレーションや特定の機能をすべて理解している必要がありません。

統合スキーマ

統合スキーマは、ユーザが Anypoint DataGraph に多様な API スキーマを追加してコンシューマがその項目を照会できるようにした、種別の一元的なコレクションで、最新の状態で維持されます。統合スキーマのクエリタイプには、ユーザが DataGraph に追加した多様な API スキーマにあるすべてのクエリメソッドが含まれます。コンシューマが統合スキーマにアクセスすれば、各人がどのデータを参照可能かを 1 か所で確認し、1 回のクエリでそのデータの特定のサブセットを要求できます。

つながりのある、整然とした統合スキーマを作成できるように、Anypoint DataGraph に搭載されている 3 つの機能で次の操作を実行できます。

  1. オブジェクト種別間のコラボレーションを有効にする

  2. オブジェクト種別をリンクして、種別をつなぎ合わせる

  3. オブジェクト種別をマージして、類似の種別を 1 つの種別に結合して項目やデータセットを拡張し、クエリ結果を向上させる

ユースケースの例

組織で次の API を使用しているとします。

  • 特定の発注書に関する情報を示す Order API

  • 各発注書の出荷情報を示す Shipment API

  • 商品情報と仕様を示す Product API

この組織では、顧客の特定の注文状況の詳細を表示するモバイルアプリケーションを作成したいと考えています。

このモバイルアプリケーションを配布するためには、API 開発者が、顧客のすべての注文を識別し、その注文の商品を検索して、それぞれの出荷レコードを識別し、配送日と追跡番号を検索する新しい API を構築する必要があります。エンタープライズアーキテクトは、まず必要な各 API へのアクセス権を開発者に付与し、開発者が構築して納品した後にこの API を管理してセキュリティ保護する必要があります。

この組織はその後、倉庫の在庫管理担当者のために、各商品の既存の全注文を管理する Web アプリケーションを構築したいと考えます。また、Web アプリケーションでは、在庫管理担当者が注文を返品または削除できるようにする必要もあります。これらの機能を提供するために、チームは同じような開発プロセスを行うことになります。

組織が Anypoint DataGraph を使用すれば、新しいビジネス要件ごとに新しい API を作成する必要がなくなります。エンタープライズアーキテクトが既存の Order API、Shipment API、Product API を見つけ、それぞれの API スキーマを Anypoint DataGraph に追加できるためです。続いて、開発者が統合スキーマへのアクセス権を要求し、必要なデータにクエリを実行したり、単一エンドポイントから更新したりできます。

Anypoint DataGraph API のサポート

Anypoint DataGraph でサポートの対象となるのは次のとおりです。

  • RAML 仕様および OAS 仕様を使用する REST API

  • 統合スキーマごとに最大 250 の API

  • 統合スキーマごとに最大 16,000 の項目

  • 100 ネストレベルのクエリ深度

  • クエリあたり 30 秒のタイムアウト

API Manager での Anypoint DataGraph の管理

API Manager で Anypoint DataGraph を管理します。一般的な管理タスクは次のとおりです。

  • DataGraph 管理設定​を使用して、統合スキーマの GraphQL エンドポイントの表示と編集、ポリシーの設定、クライアントプロバイダの設定を行う。

  • コントラクト​を管理して、認証されたクライアントアプリケーションのみが統合スキーマをコンシュームできるようにする。

  • 各 Anypoint DataGraph インスタンスの ​SLA 層​を管理する。

  • API Manager の [Client Applications (クライアントアプリケーション)]​ ページを使用して、クライアントアプリケーションコントラクトを表示して管理する。

Anypoint Platform の要件とライセンス

Anypoint DataGraph を使用するには、以下の要件を満たしていることを確認します。

  • 次のそれぞれのライセンスが必要です。

    • Anypoint Platform

    • API Manager and Analytics

    • Anypoint DataGraph

      Anypoint DataGraph ライセンスに関連付けられている API コールは、Anypoint DataGraph からダウンストリームの REST API へのコールを参照します。

  • 各自のプランで、Anypoint DataGraph を使用するビジネスグループまたは組織に適切な数の vCore を割り当てる必要があります。API を追加しようとしている環境に適切な数の vCore が割り当てられていない場合、Anypoint DataGraph からエラーメッセージが表示されます。適切な数の vCore を割り当てた後で同じ変更を再適用します。

API のホスティング要件についての詳細は、​「Anypoint Platform Runtime Plane Hosting Options (Anypoint Platform ランタイムプレーンをホストするためのオプション)」​を参照してください。