Red Hat Integration の API スタートガイド

Red Hat Integration 2020.q1

Red Hat Integration の API スタートガイド

概要

Task Management API Provider クイックスタート(booster)を使用して、Red Hat Fuse Online、Apicurito、および 3scale API Management を使用して REST API を開発およびデプロイする方法を説明します。

前書き

Task Management API Provider クイックスタート(インポート例)を使用して、Red Hat Integration で REST API を開発およびデプロイする方法を説明します。

第1章 Red Hat Integration コンポーネントの概要

REST API を開発およびデプロイするには、以下の Red Hat Integration コンポーネントを使用できます。

Fuse Online
Red Hat Fuse は、分散型のクラウドネイティブインテグレーションプラットフォームです。Fuse Online は Red Hat の web ベースの Fuse ディストリビューションです。これは OpenShift Online Professional 層に事前にインストールされます。OpenShift(オンプレミス)クラスターにインストールすることもできます。Fuse Online は、コード開発を優先するビジネスユーザー向けです。
API Designer
Red Hat は、API デザイナーの軽量バージョンを提供します。これを使用して OpenAPI(Swagger)形式の API 定義を作成できます。Fuse Online API プロバイダー内から API Designer にアクセスできます。
3scale API Management
Red Hat 3scale API Management は、API のセキュリティー、パフォーマンス、制御、および等性を管理します。
APIdiagram

詳細は、『 Developing and Deploying API Provider Integrations 』を参照してください。

第2章 Task API クイックスタートの表示、公開、および検出

2.1. 作業を開始する前に

Red Hat Integration を使用して Task Management API Provider クイックスタートインテグレーションを実行する前に、OpenShift 環境が以下の設定要件を満たしていることを確認してください。

2.2. クイックスタートの概要

Red Hat Integration では、クイックスタート(ブースターとも呼ばれる)は、Fuse Online 環境にインポートできるインテグレーションの例になります。

Task Management API Provider クイックスタートは、API プロバイダーインテグレーションを設定、パブリッシュ、およびテストする方法を素早く理解するのに役立ちます。これは、営業担当者がお客様の連絡先との対話時に完了する必要のあるタスクを追跡するために使用する API をシミュレートします。「to-do」タスクの例には、「Create an account for a new contact」または「place an order for an existing contact」などがあります。

2.2.1. クイックスタートを使用する手順の概要

  1. Task Management API Provider クイックスタートファイルをダウンロードします。
  2. (任意設定)クイックスタート OpenAPI JSON ファイルをインポートして API Designer で API 定義を表示します。
  3. クイックスタートの ZIP ファイルを Fuse Online にインポートしてからパブリッシュします。
  4. 3scale API Management でパブリッシュ済み API サービスを検出します。

2.3. Task Management API プロバイダークイックスタートファイルのダウンロード

Task Management API Provider クイックスタートファイルをダウンロードし、Fuse Online にインポートできるようにする必要があります。

https://github.com/syndesisio/syndesis-quickstarts/tree/1.9/api-provider にアクセスし、これらのファイルをダウンロードします。

task-api.json (raw)

OpenAPI 形式の Task Management API 定義。このファイルを API Designer で表示し、API 構造を確認します。API 定義は、API プロバイダーインテグレーションの開始点です。

注記

このファイルの未加工バージョンをダウンロードする必要があります。

TaskAPI-export.zip
Task Management API プロバイダーインテグレーション。このファイルには、完全な API プロバイダーインテグレーション( task-api.json ファイルの API 定義に基づく)が含まれます。このファイルを Fuse Online にインポートして Fuse Online インテグレーションエディターで編集し、3scale が検出できる API サービスとして公開します。

2.4. API Designer での API 定義の表示(任意)

API Designer を使用して、OpenAPI(Swagger)形式の新しい API 定義を作成できます。API Designer を使用して、既存の API 定義を表示し、編集することもできます。Fuse Online インテグレーションを構築するための開始点として API Designer を作成またはインポートする API を使用できます。

このタスクは、API Designer を使用して Task Management API パス、操作、およびデータタイプ(API 仕様の作成または編集が行われないため)を行うため、任意となります。API 仕様に慣れたら、API Designer を終了し、Fuse Online に戻り、他のクイックスタートファイル(TaskAPI-export.zip)で提供される事前にビルドされたインテグレーションをインポートします。

前提条件

手順

以下の手順に従って、API Designer で API 定義を表示します。

  1. Fuse Online の左側のナビゲーションパネルで Integrations をクリックします。
  2. Create Integration をクリックします。
  3. Choose a connection ページで API Provider カードをクリックします。
  4. ダウンロードした task-api.json ファイルの raw バージョンを Upload an OpenAPI file セクションにドラッグします。Fuse Online は、ファイルが正常にインポートされたメッセージを表示します。
  5. Next をクリックします。

    注記

    警告メッセージは無視しても問題ありません。

  6. Review/Edit をクリックします。

    API Designer で API が開きます。

  7. API の構造を確認します。これには、以下のコンポーネントが含まれます。

    • Task のデータ型
    • 以下の操作が含まれる /todo タスク:

      • 全タスクの一覧を取得します。
      • タスクを作成します。
    • 以下の操作が含まれる /todo/{id} タスク:

      • ID 別にタスクを取得します。
      • ID 別にタスクを更新します。
      • ID 別にタスクを削除します。
  8. この OpenAPI 仕様からインテグレーションを構築するのではなく、時間を節約するために、API Designer を終了し、Fuse Online に戻り、「Task Management API プロバイダークイックスタートファイルのダウンロード」 でダウンロードした他のクイックスタートファイル(TaskAPI-export.zip)で提供される事前にビルドされたインテグレーション全体をインポートできます。

    API Designer を終了するには、Cancel を 3 回クリックし、Fuse Online ダッシュボードに戻るまでキャンセルを 確認 します。

2.5. API プロバイダークイックスタートインテグレーションの例のインポートおよびパブリッシュ

TaskAPI-export.zip ファイルには、Task Management API Provider インテグレーションが含まれます。これは、task-api.json ファイルの API 定義に基づいています。

クイックスタートインテグレーションをインポートした後、オペレーションフローを確認してからインテグレーションをパブリッシュできます。

前提条件

  • Fuse Online がブラウザーで開かれている必要があります。

手順

  1. TaskAPI クイックスタートインテグレーションをインポートします。

    1. Fuse Online の左側のナビゲーションパネルで Integrations をクリックします。
    2. 右上の Import をクリックします。
    3. ダウンロードした TaskAPI-export.zip ファイルを Import ページにドラッグします。Fuse Online は、ファイルが正常にインポートされたことを示します。
    4. 左側のナビゲーションパネルで Integrations をクリックし、先ほどインポートした TaskAPI インテグレーションのエントリーを表示します。設定が必要であるとエントリーに表示されますが、このインテグレーションをパブリッシュする準備は整っています。
  2. TaskAPI エントリーで Three Vertical Dots をクリックした後、Edit をクリックしてこの API によって提供されるオペレーションのリストを表示します。

    各オペレーションにはフローが定義されます。Fuse Online では、フロー はインテグレーションの各 REST オペレーションに対して実行するコネクションおよびその他のステップを定義します。インポートされたクイックスタートは、各オペレーションの事前定義済みのフローを提供します。

  3. 各オペレーションのフローを確認するには、以下を行います。

    1. Edit flow ボタンをクリックし、そのフローのビジュアライゼーションを表示します。

      各フローにはすでに 1 つのデータベースコネクション、1 つ以上のデータマッパーステップ、およびフローを終了する 1 つの Provided API Return Path ステップが存在します。

    2. Invoke SQL ステップでは Configure をクリックし、コネクションが実行する SQL ステートメントを表示します。その後、Cancel をクリックし、オペレーションのビジュアライゼーションフローに戻ります。
    3. データマッパーステップでは、Configure をクリックし、マッピングを表示します。その後、Cancel をクリックしてビジュアライゼーションに戻ります。
    4. 各オペレーションのフローの最終ステップである Provided API Return Path ステップでは、Configure をクリックし、オペレーションによって呼び出し元に送信された可能性がある HTTP リターンコードを表示します。Cancel をクリックしてビジュアライゼーションに戻ります。
    5. オペレーションのフローの確認後、ドロップダウンメニューで Integrations> TaskAPI> Operation の順にクリックし、別のオペレーションを選択します。
    6. この手順を繰り返し、各フローを確認します。
  4. フローの確認後、Publish をクリックします。必要な場合はインテグレーション名を編集し、Save and publish をクリックします。

    Fuse Online は、このインテグレーションの概要ページを表示し、アセンブル、ビルド、デプロイ、およびインテグレーションの実行中にパブリッシュの進捗を表示します。

3scale サービス検出を有効にすると、Red Hat 3scale は API プロバイダーインテグレーションをパブリッシュします。つまり、3scale はインテグレーションの API へのアクセスを制御します。次に、3scale API 管理を使用してパブリッシュ済み API を検出します。

注記

Fuse Online で API サービスをパブリッシュし、URL を提供したい場合(例: API を 3scale で検出する前に API をテストするため)、「 Developing and Deploying API Provider Integrations 」の説明どおりに、API プロバイダーインテグレーションの検出を無効にできます。

2.6. 3scale でのパブリッシュ済み API の検出

Fuse Online で API サービスをパブリッシュした後、3scale API 管理で検出できます。

  1. 3scale 管理ポータルにログインします。
  2. 管理ポータルの Dashboard で、New Product をクリックします。
  3. Import from OpenShift を選択します。
  4. Namespace フィールドで、API が含まれる OpenShift プロジェクトを指定または選択します (例: fuse)。
  5. Name フィールドで、上記 namespace 内の OpenShift サービスの名前を入力または選択します (例: i-task-api)。
  6. 製品の作成 をクリックします。
  7. 新しい API サービスが 3scale に非同期的にインポートされるのを待ちます。管理ポータル右上のセクションに、The service will be imported shortly. You will receive a notification when it is done. というメッセージが表示されます。

2.7. 次のステップ

API 管理の詳細については、Red Hat 3scale API Management のドキュメント を参照してください。