第1章 概要

Red Hat Fuse on OpenShift は、Web ベースの API エディターである API Designer を提供します。API Designer を使用して API サービスの特定ベンダーに依存しない移植可能なオープン記述形式である OpenAPI 2.0 仕様に準拠する REST API を設計することができます。API Designer は、「軽量」バージョンの Apicurio Studio オープンソースプロジェクト (https://www.apicur.io/) です。これは、API Designer セッションはステートレスであり、各セッションの終わりに API 定義を JSON ファイルとして保存する必要があることを意味しています。

また、API Designer を使用して REST API 定義に基づいて事前の Fuse プロジェクトを生成することができます。その後、Fuse 開発環境でプロジェクトの Camel ルートを完了し、プロジェクトをビルドすることができます。最後に、生成される REST サービスを Fuse on OpenShift にデプロイすることができます。

以下は、API Designer を使用して REST API を Fuse on OpenShift のアプリケーションソリューションに組み込む方法についての概要です。

  1. API Designer を OpenShift プロジェクトにサービスとして追加します。
  2. API Designer で、以下を実行します。

    • API Designer で API 定義を作成します。REST API 定義を JSON ファイルとしてローカルファイルシステムに保存します。API 定義が完了していなくても、編集セッション中にいつでも API 定義を保存することができます。
    • API 定義を API Designer にアップロードします。
    • 現在の REST API 定義に基づいて Fuse Camel プロジェクトを生成します。API Designer は、完全な Maven プロジェクトが含まれるダウンロード可能な zip ファイルを提供します。
  3. Fuse 開発環境で、生成される Fuse プロジェクトによって提供されるスケルトン実装を完了します。
  4. Fuse アプリケーションをビルドし、OpenShift にデプロイします。
  5. (オプション) Fuse アプリケーションを見つけ、これを設定するために 3scale サービス検出機能を使用して Fuse アプリケーションを Red Hat 3scale API Management に統合します。

1.1. API Designer の OpenShift プロジェクトへのサービスとしての追加

API Designer は、OpenShift サービスカタログから OpenShift プロジェクトにサービスとして追加できます。このインスタンスは、OpenShift 環境外の URL からアクセスできます。

前提条件

  • OpenShift システム管理者が推奨するガイドラインに従って、API Designer へのアクセスが可能なホスト名を取得します。
  • コマンドウィンドウで以下のコマンドを実行して、Fuse on OpenShift イメージとテンプレート (apidesigner-ui および fuse-apidesigner-generator を含む)が OpenShift クラスターにインストールされていることを確認します。

    oc get is -n openshift

    イメージおよびテンプレートが事前にインストールされていない場合や、提供されたバージョンが古い場合は、『Fuse on OpenShift ガイド』に説明されているように Fuse on OpenShift イメージおよびテンプレートをインストール (または更新) します。

手順

API Designer を OpenShift プロジェクトにサービスとして追加するには、以下を実行します。

  1. コマンドウィンドウで、OpenShift サーバーにログインします。

    oc login -u developer -p developer
  2. 新規プロジェクト namespace を作成します。たとえば、以下のコマンドは test という名前の新規プロジェクトを作成します。

    oc new-project test
  3. Web ブラウザーで OpenShift コンソールを開き、クレデンシャル (例: ユーザー名 developer およびパスワード developer) を使用してログインします。
  4. Catalog をクリックします。カタログ検索フィールドに API Designer を入力してから Red Hat Fuse API Designer を選択します。

    Red Hat Fuse API Designer ウィザードの Information ステップが開きます。

  5. Next をクリックします。

    Red Hat Fuse API Designer ウィザードの Configuration ステップが開きます。

  6. Image Stream Namespace フィールドに、openshift を入力します。
  7. ROUTE_HOSTNAME フィールドに、API Designer インスタンスへのアクセスを可能にする外部ホスト名を入力します (例: apidesigner-myproject.192.168.64.43.nip.io)。
  8. Configuration ステップの残りの設定についてデフォルトの値を受け入れ、 Create をクリックします。

    テンプレートウィザードの Results ステップが開きます。

  9. Close をクリックします。
  10. OpenShift Web コンソールの My Projects ペインで、プロジェクト (例: test) を選択します。

    プロジェクトの Overview タブが開き、apidesigner-ui アプリケーションが表示されます。

  11. apidesigner-ui デプロイメントの左側にある矢印をクリックして、デプロイメントの詳細情報を展開し、表示します。
  12. API Designer インスタンスのリンクをクリックします (例: https://apidesigner-myproject.192.168.64.43.nip.io)。

    API Designer が新規の Web ブラウザーウィンドウまたはタブで開きます。

注記

API Designer インスタンスを開くことができない場合は、以下の構文を使用して、コンピューターの /etc/hosts ファイルを編集して ROUTE_HOSTNAME を追加する必要がある場合があります。ここで、$OPENSHIFT_IP_ADDR は OpenShift サーバーの IP アドレスであり、apidesigner.my-minishift.apicurio.io はステップ 7 で指定した ROUTE_HOSTNAME です。

$OPENSHIFT_IP_ADDR apidesigner.my-minishift.apicurio.io