第3章 REST API をベースとした Fuse アプリケーションの実装、ビルドおよびデプロイ
Red Hat Fuse API Designer を使用して、REST API 定義に基づいて Camel Fuse プロジェクトを生成できます。Fuse 開発環境では、Camel ルートおよび Rest DSL API を完了できます。最後に、プロジェクトをビルドし、作成されたアプリケーションを Fuse on OpenShift にデプロイすることができます。
前提条件
-
OpenAPI 2.0 仕様に準拠する既存の API 定義がある。例: API Designer で作成した
openapi-spec.jsonファイル。 - API Designer がローカル OpenShift クラスターにインストールされ、実行されています。
- API Designer がサービスとして追加された既存の OpenShift プロジェクトがあります。
- Maven と Red Hat Fuse がインストールされています。
以下のトピックでは、REST API をベースとして Fuse アプリケーションの実装、ビルドおよびデプロイを実行する方法について説明します。
3.1. API 定義の API Designer へのアップロード リンクのコピーリンクがクリップボードにコピーされました!
既存の API 定義を API Designer にアップロードできます。
前提条件
-
OpenAPI 2.0 仕様に準拠する既存の API 定義がある。例: API Designer で作成した
openapi.jsonファイル。 - API Designer がローカル OpenShift クラスターにインストールされ、実行されています。
- API Designer がアプリケーションとして追加された既存の OpenShift プロジェクトがあります。
手順
- OpenShift Web コンソールで、API Designer を含むプロジェクトを開きます。
API Designer コンソールを開きます。プロジェクトのアプリケーション一覧で、apidesigner の下にある URL をクリックします。例:
https://apidesigner-myproject.192.168.64.38.nip.ioAPI Designer コンソールは、別の Web ブラウザータブまたはウインドウで開きます。
Open API をクリックします。
ファイルマネージャーウィンドウが開きます。
ファイルマネージャーウィンドウで、以下を実行します。
-
既存の OpenAPI 定義ファイル (例:
openapi.json) が含まれるフォルダーに移動します。 OpenAPI 定義ファイルを選択し、Open をクリックします。
OpenAPI 定義が API Designer コンソールで開きます。
-
既存の OpenAPI 定義ファイル (例:
3.2. API Designer からの Fuse Camel プロジェクトの生成 リンクのコピーリンクがクリップボードにコピーされました!
API Designer を使用し、API 定義に基づいて Fuse Camel プロジェクトを生成できます。
前提条件
- API Designer がローカル OpenShift クラスターにインストールされ、実行されています。
- API Designer がアプリケーションとして追加された既存の OpenShift プロジェクトがあります。
- API Designer コンソールで API 定義ファイルを作成し、開いています。
手順
API Designer コンソールで、以下を実行します。
- Generate をクリックします。
- ドロップダウンリストから Fuse Camel Project を選択します。
API Designer は camel-project.zip ファイルを生成し、ローカルのデフォルトダウンロードフォルダーにダウンロードします。
zip ファイルには、Camel の Rest DSL を使用して API 定義のデフォルトのスケルトン実装を提供し、すべてのリソース操作に対応する Fuse Camel プロジェクトが含まれます。またプロジェクトには、プロジェクトの生成に使用した元の OpenAPI 定義ファイルも含まれます。
3.3. API Designer で生成される Camel プロジェクトの完了 リンクのコピーリンクがクリップボードにコピーされました!
API Designer は、Camel の Rest DSL を使用して API 定義のデフォルトのスケルトン実装を提供し、すべてのリソース操作に対応する Fuse プロジェクトを生成します。Fuse 開発環境で、プロジェクトを完了します。
前提条件
-
API Designer によって生成された
camel-project.zipファイルがあります。 - (任意) Fuse Tooling を使用して Red Hat Developer Studio をインストールしています。
手順
-
API Designer によって生成された
camel-project.zipファイルを一時フォルダーに解凍します。 - Red Hat Developer Studio を開きます。
-
Developer Studio で File
Import を選択します。 -
Import ダイアログで、Maven
Existing Maven Projects を選択します。 -
エディタービューでプロジェクトの
camel-context.xmlファイルを開きます。 REST タブをクリックして Rest DSL コンポーネントを編集します。
REST サービスの定義についての詳細は、『Apache Camel Development Guide』の「Defining REST services」セクションを参照してください。
Swagger サポートで JAX-RS エンドポイントを拡張する方法については、『Apache CXF Development Guide』を参照してください。
Fuse Tooling REST エディターの使用方法は、『Tooling User Guide』の「Viewing and editing Rest DSL components」セクションを参照してください。
Design タブで Camel ルートを編集します。
Camel ルートの編集に関する詳細は、『Tooling User Guide』の「Editing a routing context in the route editor」セクションを参照してください。
3.4. REST サービスのビルドとデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Fuse プロジェクトの完了後に、プロジェクトを OpenShift でビルドし、デプロイすることができます。
前提条件
- REST サービスを定義する完全なエラーのない Fuse プロジェクトがあります。
- Java 8 JDK (以降) および Maven 3.3.x (以降) をインストールしています。
手順
Minishift または Red Hat Container Development Kit などの単一ノードの OpenShift クラスターが インストールされ、実行中である 場合、プロジェクトをそこにデプロイできます。
このプロジェクトを実行中の単一ノードの OpenShift クラスターにデプロイするには、以下を実行します。
OpenShift クラスターにログインします。
oc login -u developer -p developer
$ oc login -u developer -p developerCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトの新規 OpenShift プロジェクトを作成します。たとえば、以下のコマンドは test-deploy という名前の新規プロジェクトを作成します。
oc new-project test-deploy
$ oc new-project test-deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow ディレクトリーを Fuse Camel プロジェクトが含まれるフォルダーに変更します (例:
myworkspace/camel-project)。cd myworkspace/camel-project
$ cd myworkspace/camel-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトを OpenShift クラスターにビルドし、デプロイします。
mvn clean fabric8:deploy -Popenshift
$ mvn clean fabric8:deploy -PopenshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ブラウザーで OpenShift コンソールを開き、プロジェクト (例: test-deploy)に移動します。
camel-projectアプリケーションの Pod が起動していることを確認できるまで待機します。 -
プロジェクトの Overview ページで、
camel-projectアプリケーションの URL を特定します。URL で使用される形式は次のとおりです:http://camel-project-MY_PROJECT_NAME.OPENSHIFT_IP_ADDR.nip.io - URL をクリックしてサービスにアクセスします。