第5章 Node.js のアプリケーションの例


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

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

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

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

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

注記

Node.js の Secured サンプルアプリケーションには Red Hat SSO 7.3 が必要です。IBM Z では Red Hat SSO 7.3 に対応していないため、IBM Z では Secured の例は利用できません。

5.1. Node.js の REST API レベル 0 の例

重要

以下の例は、実稼働環境で実行することは意図されていません。

実験レベルの例: Foundational

REST API レベル 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 request パラメーターを使用します。
  • $name がリクエストに渡される name パラメーター の値に置き換えられた、ペイロードが Hello, $ name! の JSON 形式で応答を受信します。

5.1.1. REST API レベル 0 設計のトレードオフ

Expand
表5.1 設計トレードオフ
proscons
  • サンプルアプリケーションは、迅速にプロトタイピングを有効にします。
  • API の設計には柔軟性があります。
  • HTTP エンドポイントにより、クライアントは言語に依存しません。
  • アプリケーションまたはサービスの成熟度として、REST API レベル 0 のアプローチは適切にスケーリングされない可能性があります。データベースの対話とクリーンな API 設計またはユースケースをサポートしない場合があります。

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

5.1.2. REST API レベル 0 サンプルアプリケーションの OpenShift Online へのデプロイ

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

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

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

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

前提条件

手順

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

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

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 Toggle word wrap

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

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

前提条件

手順

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

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

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

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

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

    $ npm install && npm run openshift
    Copy to Clipboard Toggle word wrap

    これらのコマンドは、不足しているモジュール依存関係をすべてインストールし、Nodeshift モジュールを使用してサンプルアプリケーションを OpenShift にデプロイします。

  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 Toggle word wrap

    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 Toggle word wrap

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

5.1.3. REST API レベル 0 サンプルアプリケーションの Minishift または CDK へのデプロイ

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

各方法は同じ oc コマンドを使用してアプリケーションをデプロイしますが、Fabric8 Launcher を使用すると oc コマンドを実行する自動デプロイメントワークフローが提供されます。

5.1.3.1. Fabric8 Launcher ツールの URL および認証情報の取得

Minishift または CDK でサンプルアプリケーションを作成してデプロイするには、Fabric8 Launcher ツール URL およびユーザー認証情報が必要です。この情報は、Minishift または CDK の起動時に提供されます。

前提条件

  • Fabric8 Launcher ツールがインストールされ、設定されている。

手順

  1. Minishift または CDK を起動したコンソールに移動します。
  2. 実行中の Fabric8 Launcher にアクセスするために使用できる URL およびユーザー認証情報のコンソール出力を確認します。

    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 Toggle word wrap

5.1.3.2. Fabric8 Launcher ツールを使用したサンプルアプリケーションのデプロイ

本セクションでは、REST API レベル 0 サンプルアプリケーションをビルドし、それを Fabric8 Launcher Web インターフェースから OpenShift にデプロイする方法を説明します。

前提条件

手順

  1. ブラウザーで Fabric8 Launcher URL に移動します。
  2. 画面の指示に従って、Node.js でサンプルアプリケーションを作成して起動します。

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

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

前提条件

手順

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

    $ oc login OPENSHIFT_URL --token=MYTOKEN
    Copy to Clipboard Toggle word wrap

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

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

前提条件

手順

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

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

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

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

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

    $ npm install && npm run openshift
    Copy to Clipboard Toggle word wrap

    これらのコマンドは、不足しているモジュール依存関係をすべてインストールし、Nodeshift モジュールを使用してサンプルアプリケーションを OpenShift にデプロイします。

  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 Toggle word wrap

    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 Toggle word wrap

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

5.1.4. REST API レベル 0 サンプルアプリケーションの OpenShift Container Platform へのデプロイ

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

前提条件

手順

5.1.5. Node.js 用の変更されていない REST API レベル 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 Toggle word wrap
  2. curl を使用して、例に対して URL パラメーター GET リクエストを実行します。ブラウザーを使用してこれを行うこともできます。

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

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

5.1.6. REST リソース

REST に関する背景や関連情報は、以下を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat