第7章 Eclipse Vert.x のアプリケーションの例


Eclipse Vert.x ランタイムは、サンプルアプリケーションを提供します。OpenShift でアプリケーションの開発を開始すると、サンプルアプリケーションをテンプレートとして使用できます。

これらのサンプルアプリケーションは Developer Launcher でアクセスできます。

すべてのサンプルアプリケーションを以下にダウンロードおよびデプロイできます。

  • x86_64 アーキテクチャー - 本ガイドのアプリケーションの例では、サンプルアプリケーションを x86_64 アーキテクチャーにビルドおよびデプロイする方法を説明します。
  • s390x アーキテクチャー - IBM Z インフラストラクチャーでプロビジョニングされた OpenShift 環境にサンプルアプリケーションをデプロイするには、コマンドに関連する IBM Z イメージ名を指定します。
  • ppc64le アーキテクチャー - IBM Power Systems インフラストラクチャーにプロビジョニングされた OpenShift 環境にアプリケーションのサンプルをデプロイするには、コマンドで関連する IBM Power Systems イメージ名を指定します。

イメージ名の詳細は、「Eclipse Vert.x でサポートされる Java イメージ」セクションを参照してください。

サンプルアプリケーションの一部には、ワークフローを実証するために Red Hat Data Grid などの他の製品も必要になります。この場合は、これらの製品のイメージ名を、サンプルアプリケーションの YAML ファイルで関連する IBM Z および IBM Power System のイメージ名に変更する必要もあります。

7.1. Eclipse Vert.x の REST API Level 0 サンプル

重要

以下の例は、実稼働環境での実行を目的としていません。

上達度レベルの例: Foundational

REST API Level 0 サンプルでできること

REST API Level 0 サンプルでは、REST フレームワークを使用して、HTTP 経由でビジネスオペレーションをリモートプロシージャコールエンドポイントにマッピングする方法が示されています。これは、Richardson Maturity Model の Level 0 に対応します。REST およびその基本的な原則を使用して HTTP エンドポイントを作成すると、API を柔軟にプロトタイプおよび設計することができます。

この例では、HTTP プロトコルを使用してリモートサービスと対話するためのメカニズムが導入されました。これにより、以下が可能になります。

  • api/greeting エンドポイントで HTTP GET 要求を実行します。
  • Hello, World! で構成されるペイロードを使用して JSON 形式でレスポンスを受け取ります。文字列。
  • String 引数を渡し、api/greeting エンドポイントで HTTP GET 要求を実行します。これにより、クエリー文字列に name 要求パラメーターが使用されます。
  • Hello, $name! のペイロードを含む JSON 形式の応答を受信します。$name は、要求に渡された name パラメーターの値に置き換えられます。

7.1.1. REST API Level 0 設計トレードオフ

表7.1 設計トレードオフ
良い点悪い点
  • アプリケーション例では、高速なプロトタイプを有効にします。
  • API Design は柔軟性があります。
  • HTTP エンドポイントにより、クライアントは言語に依存しません。
  • アプリケーションまたはサービスが成熟するにつれて、REST API Level 0 のアプローチは適切にスケーリングされない可能性があります。クリーンな API 設計や、データベースの対話に関するユースケースをサポートしない場合があります。

    • 共有された変更可能な状態を含むすべての操作は、適切なバッキングデータストアと統合する必要があります。
    • この API 設計で処理されるすべての要求は、要求に対応するコンテナーにのみスコープ指定されます。これ以降の要求は、同じコンテナーで処理されない可能性があります。

7.1.2. REST API Level 0 サンプルアプリケーションの OpenShift Online へのデプロイメント

以下のオプションのいずれかを使用して、OpenShift Online で REST API Level 0 サンプルアプリケーションを実行します。

各メソッドは、同じ oc コマンドを使用してアプリケーションをデプロイしますが、developers.redhat.com/launch を使用すると、oc コマンドを実行する自動デプロイメントワークフローが提供されます。

7.1.2.1. developers.redhat.com/launch を使用したサンプルアプリケーションのデプロイメント

このセクションでは、REST API Level 0 のサンプルアプリケーションをビルドし、Red Hat Developer Launcher Web インターフェースから OpenShift にデプロイする方法を説明します。

前提条件

手順

  1. ブラウザーで developers.redhat.com/launch URL に移動します。
  2. 画面上の指示に従って、Eclipse Vert.x でアプリケーションのサンプルを作成して起動します。

7.1.2.2. CLI クライアント oc の認証

oc コマンドラインクライアントを使用して OpenShift Online でアプリケーションのサンプルを使用するには、OpenShift Online Web インターフェースによって提供されるトークンを使用してクライアントを認証する必要があります。

前提条件

手順

  1. ブラウザーで OpenShift Online URL に移動します。
  2. ユーザー名の横にある Web コンソールの右上にあるクエスチョンマークアイコンをクリックします。
  3. ドロップダウンメニューで Command Line Tools を選択します。
  4. oc login コマンドをコピーします。
  5. 端末にコマンドを貼り付けます。このコマンドは、認証トークンを使用して CLI クライアント ocOpenShift Online アカウントで認証します。

    $ oc login OPENSHIFT_URL --token=MYTOKEN
    Copy to Clipboard

7.1.2.3. CLI クライアント oc を使用した REST API Level 0 サンプルアプリケーションのデプロイメント

このセクションでは、REST API Level 0 サンプルアプリケーションをビルドし、コマンドラインから OpenShift にデプロイする方法を説明します。

前提条件

手順

  1. GitHub からプロジェクトのクローンを作成します。

    $ git clone git@github.com:USERNAME/MY_PROJECT_NAME.git
    Copy to Clipboard

    または、プロジェクトの ZIP ファイルをダウンロードして、展開します。

    $ unzip MY_PROJECT_NAME.zip
    Copy to Clipboard
  2. OpenShift で新規プロジェクトを作成します。

    $ oc new-project MY_PROJECT_NAME
    Copy to Clipboard
  3. アプリケーションの root ディレクトリーに移動します。
  4. Maven を使用して OpenShift へのデプロイメントを開始します。

    $ mvn clean fabric8:deploy -Popenshift
    Copy to Clipboard

    このコマンドは、Fabric8 Maven プラグインを使用して OpenShift で S2I プロセス を起動し、Pod を起動します。

  5. アプリケーションのステータスを確認し、Pod が実行していることを確認します。

    $ oc get pods -w
    NAME                             READY     STATUS      RESTARTS   AGE
    MY_APP_NAME-1-aaaaa               1/1       Running     0          58s
    MY_APP_NAME-s2i-1-build           0/1       Completed   0          2m
    Copy to Clipboard

    MY_APP_NAME-1-aaaaa Pod は、完全にデプロイされて起動すると、ステータスがRunning になるはずです。特定の Pod 名が異なります。中間の数字は新規ビルドごとに増えます。末尾の文字は、Pod の作成時に生成されます。

  6. アプリケーションのサンプルをデプロイして起動すると、そのルートを決定します。

    ルート情報の例

    $ oc get routes
    NAME                 HOST/PORT                                                     PATH      SERVICES        PORT      TERMINATION
    MY_APP_NAME         MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME      MY_APP_NAME      8080
    Copy to Clipboard

    Pod のルート情報には、アクセスに使用するベース URL が提供されます。上記の例では、http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME をベース URL として使用し、アプリケーションにアクセスします。

7.1.3. REST API Level 0 サンプルアプリケーションの Minishift または CDK へのデプロイメント

以下のオプションのいずれかを使用して、REST API Level 0 サンプルアプリケーションを Minishift または CDK でローカルに実行します。

7.1.3.1.

この情報は、Minishift または CDK の開始時に提供されます。

前提条件

手順

  1. Minishift または CDK を起動したコンソールに移動します。
  2. Minishift または CDK 起動時のコンソール出力の例

    ...
    -- Removing temporary directory ... OK
    -- Server Information ...
       OpenShift server started.
       The server is accessible via web console at:
           https://192.168.42.152:8443
    
       You are logged in as:
           User:     developer
           Password: developer
    
       To login as administrator:
           oc login -u system:admin
    Copy to Clipboard

7.1.3.2.

前提条件

  • 詳細は、「」を参照してください。

手順

  1. 画面上の指示に従って、Eclipse Vert.x でアプリケーションのサンプルを作成して起動します。

7.1.3.3. CLI クライアント oc の認証

oc コマンドラインクライアントを使用して Minishift または CDK でサンプルアプリケーションを使用するには、Minishift または CDK Web インターフェースが提供するトークンを使用してクライアントを認証する必要があります。

前提条件

  • 詳細は、「」を参照してください。

手順

  1. ブラウザーで Minishift または CDK URL に移動します。
  2. ユーザー名の横にある Web コンソールの右上にあるクエスチョンマークアイコンをクリックします。
  3. ドロップダウンメニューで Command Line Tools を選択します。
  4. oc login コマンドをコピーします。
  5. 端末にコマンドを貼り付けます。このコマンドは、認証トークンを使用して、Minishift または CDK アカウントで CLI クライアント oc を認証します。

    $ oc login OPENSHIFT_URL --token=MYTOKEN
    Copy to Clipboard

7.1.3.4. CLI クライアント oc を使用した REST API Level 0 サンプルアプリケーションのデプロイメント

このセクションでは、REST API Level 0 サンプルアプリケーションをビルドし、コマンドラインから OpenShift にデプロイする方法を説明します。

前提条件

手順

  1. GitHub からプロジェクトのクローンを作成します。

    $ git clone git@github.com:USERNAME/MY_PROJECT_NAME.git
    Copy to Clipboard

    または、プロジェクトの ZIP ファイルをダウンロードして、展開します。

    $ unzip MY_PROJECT_NAME.zip
    Copy to Clipboard
  2. OpenShift で新規プロジェクトを作成します。

    $ oc new-project MY_PROJECT_NAME
    Copy to Clipboard
  3. アプリケーションの root ディレクトリーに移動します。
  4. Maven を使用して OpenShift へのデプロイメントを開始します。

    $ mvn clean fabric8:deploy -Popenshift
    Copy to Clipboard

    このコマンドは、Fabric8 Maven プラグインを使用して OpenShift で S2I プロセス を起動し、Pod を起動します。

  5. アプリケーションのステータスを確認し、Pod が実行していることを確認します。

    $ oc get pods -w
    NAME                             READY     STATUS      RESTARTS   AGE
    MY_APP_NAME-1-aaaaa               1/1       Running     0          58s
    MY_APP_NAME-s2i-1-build           0/1       Completed   0          2m
    Copy to Clipboard

    MY_APP_NAME-1-aaaaa Pod は、完全にデプロイされて起動すると、ステータスがRunning になるはずです。特定の Pod 名が異なります。中間の数字は新規ビルドごとに増えます。末尾の文字は、Pod の作成時に生成されます。

  6. アプリケーションのサンプルをデプロイして起動すると、そのルートを決定します。

    ルート情報の例

    $ oc get routes
    NAME                 HOST/PORT                                                     PATH      SERVICES        PORT      TERMINATION
    MY_APP_NAME         MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME      MY_APP_NAME      8080
    Copy to Clipboard

    Pod のルート情報には、アクセスに使用するベース URL が提供されます。上記の例では、http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME をベース URL として使用し、アプリケーションにアクセスします。

7.1.4. REST API Level 0 サンプルアプリケーションの OpenShift Container Platform へのデプロイメント

サンプルアプリケーションを OpenShift Container Platform に作成し、デプロイするプロセスは OpenShift Online に似ています。

前提条件

手順

7.1.5. Eclipse Vert.x の未変更の REST API Level 0 サンプルアプリケーションとの対話

この例では、GET 要求を受け入れるデフォルトの HTTP エンドポイントを提供します。

前提条件

  • アプリケーションの実行
  • curl バイナリーまたは Web ブラウザー

手順

  1. curl を使用して、サンプルに GET 要求を実行します。これを行うには、ブラウザーを使用することもできます。

    $ curl http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME/api/greeting
    {
      "content" : "Hello, World!"
    }
    Copy to Clipboard
  2. curl を使用して、例に対して URL パラメーター name を付けて GET 要求を実行します。これを行うには、ブラウザーを使用することもできます。

    $ curl http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME/api/greeting?name=Sarah
    {
      "content" : "Hello, Sarah!"
    }
    Copy to Clipboard
注記

ブラウザーから、例で提供されているフォームを使用して、これらの同じ対話を実行することもできます。フォームは、プロジェクト http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME の root にあります。

7.1.6. REST API Level 0 のサンプルアプリケーション統合テストの実行

このサンプルアプリケーションには、自己完結型の統合テストセットが含まれます。OpenShift プロジェクト内で実行する場合、テストは以下を行います。

  • アプリケーションのテストインスタンスをプロジェクトにデプロイします。
  • そのインスタンスで個別のテストを実行します。
  • テストが完了したら、プロジェクトからアプリケーションのすべてのインスタンスを削除します。
警告

統合テストを実行すると、サンプルアプリケーションの既存インスタンスがすべて、ターゲット OpenShift プロジェクトから削除されます。サンプルアプリケーションが正しく削除されないようにするには、テストを実行するために別の OpenShift プロジェクトを作成して選択してください。

前提条件

  • 認証された oc クライアント。
  • 空の OpenShift プロジェクト。

手順

次のコマンドを実行して統合テストを実行します。

$ mvn clean verify -Popenshift,openshift-it
Copy to Clipboard

7.1.7. REST リソース

REST の背景および関連情報は、以下を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat