展開
チュートリアルの概要
このチュートリアルでは、Vantiq アプリケーションを視覚化し、構成し、マルチノードの Vantiq 環境に展開するための手順を Vantiq 開発者に説明します。
このチュートリアルでは、3つの名前空間を含む環境をセットアップし、プロジェクトをインポートし、Vantiqデプロイメントツールを使用してアプリケーションをターゲット環境にデプロイします。その後、アプリケーションを分散アプリケーションに変換し、環境内の異なるノードに異なるリソースをデプロイします。
このチュートリアルを最大限に活用するには、短くて無料のVantiqチュートリアルを完了することを強くお勧めします。 開発者基礎コース 最初。
パート 1: 環境用に XNUMX つの追加の名前空間を作成する
ステップ 1: ネームスペースの作成
このチュートリアルでは3つの名前空間が必要です。Vantiqで新しい名前空間を作成していない場合は、まずVantiqで名前空間の作成と管理に慣れておく必要があります。 ユーザーと名前空間の管理チュートリアル.
新しい名前空間を作成するための最初のステップは、Vantiq IDE環境を、開発者権限以上の権限を持つ名前空間に変更することです。そこから、デプロイメント環境として使用する名前空間(およびそれらに接続するノード)をさらに作成します。
IDE では、 管理者 ボタンを押して選択する 名前空間 をクリックして、「名前空間」ペインを開きます。 使用 新規作成 アイコン ボタン ([名前空間] ペインの右上にある円の中に小さなプラス記号) を使用して、次の名前の新しい名前空間を作成します。 工場, 店舗これらの名前空間のそれぞれにおいて管理者である必要があります。

Vantiq IDE を次のように変更します。 工場 名前空間。 に行く 管理者 > 高機能 > アクセストークン。 クリック 新規作成 アクセストークンペインの「+」アイコン(「+」ボタン)をクリックします。「factoryToken」という名前で、有効期限が1年であるアクセストークンを作成します。このアクセストークンの値は、このチュートリアルの次のステップで参照できるように、どこかに保存しておきます。
ネームスペースに変更する 店舗をクリックし、同じ方法でアクセス トークンを作成します。 次のステップで使用するためにアクセス トークンを保存します。
元の開発者名前空間に戻します。 これは、アプリケーション、環境、デプロイメントを作成する名前空間です。
ステップ 2: ノードの作成
開発者ネームスペースではなく、割り当てられた開発者ネームスペースにいることを確認してください。 工場 or 店舗 名前空間。 に行く 配備します > Nodes をクリックして 新規作成 ノードペインのアイコン (「+」ボタン) をクリックして、「factoryNode」という名前の新しいノードを作成します。 ノードの URI は、現在実行中の IDE の URI (例: https://dev.vantiq.com) と一致する必要があります。 「アクセストークン」の「資格情報の種類」を使用し、前の手順で保存したfactoryTokenの値を入力します。 最後に、プロパティ「type = Factory」を追加し、ノードを保存します。

上記の手順を繰り返して、からのアクセス トークンを使用して「storeNode」を作成します。 店舗 名前空間を作成し、新しいプロパティ「type = store」を作成します。

このチュートリアル アプリケーションが後のステップで動作するには、両方のノードで「type」プロパティが必要です。 このプロパティを使用して、リソースを異なるノードに分割します。
ステップ 3: 環境の作成
次のステップは、ファクトリーノードとストアノードを含む環境を作成することです。 配備します > 環境 をクリックして 新規作成 環境リストのアイコン (「+」ボタン) をクリックして、「tutorialEnv」という名前の新しい環境を作成します。

クリックすると OK、環境が作成され、「環境:tutorialEnv」という名前の新しい IDE ペインが自動的に開きます。 この環境の詳細ペインで、 名前によるノードの追加 ボタンを押して ノードを追加 ダイアログ。 両方を選択してください ファクトリーノード の三脚と ストアノード この環境に追加されます。

環境を保存することを忘れないでください。 これで、XNUMX つのノードを含む環境が完成したはずです。

パート 2: プロジェクトをデプロイする
ステップ 1: デプロイメント チュートリアル プロジェクトをインポートする
詳しくはこちら プロジェクト > インポート… をクリックして チュートリアル インポートタイプの選択 分野。 とき チュートリアルから選択 フィールドが表示されるので、選択します 導入チュートリアル リストから。 クリック インポート ボタンを押してブラウザをリロードしてください。
一度プロジェクトを 導入チュートリアル ロードされている場合は、タイプをクリックしてください com.vantiq.ims.ストア プロジェクトコンテンツツリーで 新しいレコードを追加 入力する新しいレコードを追加するには com.vantiq.ims.ストア。 指定する 私の店 の ストアID の三脚と 100 の 製品数.
ソフトウェアの制限をクリック 新しいレコードを追加 記録を保存します。

その後は、 すべてのレコードを表示 タイプ:com.vantiq.ims.Store タイプのレコードがあることを確認するペイン com.vantiq.ims.ストア.

ステップ 2: アプリケーションをテスト実行する
このサンプル アプリケーションは、店舗での在庫チェックをシミュレートし、在庫が少なくなった場合に工場に追加の製品を要求します。 さらに多くの製品が出荷されると、工場から店舗に通知されます。
プロジェクトコンテンツツリーで、 クライアント: StoreClient クライアントを開きます。その後、クライアントを実行します。

クリック 注文1 の三脚と 注文10 ボタンを数回押して、商品数が50未満になるまで待ちます。数秒待つと、「商品が入荷しました」というポップアップダイアログが表示され、商品数が100にリセットされます。 実行を停止
ステップ 3: デプロイメントの作成
アプリケーションは正常に動作しているので、今度はそれを別の名前空間にデプロイします。
に行く 配備します > デプロイメント、クリック New [デプロイメント] ペインの ボタンをクリックして、次の設定で新しいデプロイメントを作成します。
Name: testDeploy1
Project: DeploymentTutorial
Environment: tutorialEnv

以下を行うには、 環境:tutorialEnv サブタブをクリックして環境グラフを表示します。

ファクトリーノード の三脚と ストアノード 「default」というラベルの付いたパーティションに配置されます。 これは、プロジェクト内のすべてのリソースが環境内のすべてのノードにデプロイされることを意味します。 この場合、storeNode と FactoryNode の XNUMX つのノードがあります。
ステップ 4: 導入をカスタマイズする
パート 2 のステップ 1 では、次のタイプの新しいレコードを手動で追加しました。 com.vantiq.ims.ストア 店内の商品を追跡するため。 型の後にそれを行う方法も必要です com.vantiq.ims.ストア 新しいノードにデプロイされます。
以下を行うには、 設定 サブタブ。 クリック 新しいパラメータ パーティション「デフォルト」の「+」ボタン。 ポップアップダイアログで、リソースを選択します type/com.vantiq.ims.Store type に追加するレコードを指定します com.vantiq.ims.ストア 次の JSON をコピーして貼り付けて、ターゲット ノードに貼り付けます。
[
{
"storeId": "newStore",
"productCount": 101
}
]

結果のパラメータは次のようになります。

デプロイメントを保存します。
ステップ5:デプロイ
以下を行うには、 デプロイ結果 サブタブ – まだ何もデプロイしていないため、結果が表示されていないことに注意してください。 クリック 配備します ボタンをクリックして展開プロセスを開始します。 導入結果は更新されます。

結果ツリーで「factoryNode」と「storeNode」をクリックすると、各ノードのデプロイメントの詳細が表示されます。プロジェクト全体が両方のノードにデプロイされているため、両方のノードに全く同じ結果が表示されます。
ステップ 6: デプロイメントを確認する
に切り替える 工場 名前空間。 使用 プロジェクト 選択するメニューボタン 導入チュートリアル_by_testDeploy1. テスト実行 クライアント: StoreClient ステップ 2 で行ったように、デプロイされたアプリケーションがこの名前空間で動作していることを確認します。
に切り替える 店舗 名前空間。 試運転できるはずです クライアント: StoreClient 同じ方法。
パート 3: 分散アプリケーションへの変換と複数のノードへのデプロイ
ステップ 1: アンデプロイを使用してターゲットの名前空間をクリーンアップします。
DeploymentTutorial名前空間に戻り、testDeploy1デプロイメントを見つけます。 アンデプロイ ボタンをクリックして、すべてのノードからアプリケーションをアンデプロイします。これにより、対象の名前空間からすべてのリソースが削除されます。結果サブタブで、対象の名前空間から削除されたリソースを確認できます。

ステップ 2: アプリケーションを分散させる
この時点まで、アプリケーション全体が同じ名前空間内で実行されています。 ここでは、ルールとプロシージャの「PROCESSED BY」句を使用して、店頭機能と工場機能を分離します。
プロジェクトコンテンツツリーで、 サービス: com.vantiq.ims.StoreService サービスビルダーを開きます。サービスの実装タブで、インバウンドイベントを選択します。 注文商品 イベントハンドラーを開きます。イベントハンドラーエディターの16行目で、ステートメントの後半部分のコメントを解除して、次のように変更します。
PUBLISH msg TO SERVICE EVENT "com.vantiq.ims.FactoryService/requestMoreProducts"
PROCESSED BY {"ars_properties.type":"factory"}
サービスイベントに公開されます リクエストその他の製品 ノード上の ars_properties.type is 工場.
プロジェクトコンテンツツリーで、 サービス: com.vantiq.ims.FactoryService サービスビルダーを開きます。サービスの実装タブで、インバウンドイベントを選択します。 リクエストその他の製品 イベントハンドラーを開きます。イベントハンドラーエディターの5行目で、ステートメントの後半部分のコメントを解除して、次のように変更します。
PUBLISH event.value to SERVICE EVENT "com.vantiq.ims.StoreService/shipToStore"
PROCESSED BY {"ars_properties.type":"store"}
サービスイベントに公開されます 配送先店舗 ノード上の ars_properties.type is 店舗.
どちらの場合も使用します ars_properties.type で定義したもの 工場 の三脚と 店舗 前のノード。 将来のアプリケーションでは、ノード上で定義したプロパティを自由に使用できます。
両方のサービスを保存します。これで、このアプリケーションを正常に実行するには2つのノードが必要になります。
ステップ 3: プロジェクトのパーティション
[プロジェクト] > [パーティションの表示] に移動します。

プロジェクト パーティションを表示するのは初めてであるため、Vantiq はルールとプロシージャで使用される「処理者」フレーズを分析することにより、XNUMX つのパーティションを自動的に作成しました。
Vantiqは自動的にサービスを配置します com.vantiq.ims.StoreService およびその関連タイプとクライアントを、{“ars_properties.type”:”store”}というタイトルのパーティションに格納します。
また、_Service: com.vantiq.ims.FactoryServiceとその関連タイプを、{“ars_properties.type”:”factory”}という別のパーティションに配置します。
このようなシンプルなアプリケーションでは、Vantiqの自動パーティション機能がすべての作業を自動的に行います。より複雑なアプリケーションでは、アプリケーションロジックに応じて、パーティション間でリソースを移動またはコピーする必要がある場合があります。 デプロイメントツールユーザーガイド パーティションの管理方法の詳細については、こちらをご覧ください。
デプロイメント手順を開始する前に、プロジェクトを保存してパーティションを永続化します。
注: 変更する前に [プロジェクト パーティション] ペインにアクセスしたことがある場合 サービス: com.vantiq.ims.StoreService の三脚と サービス: com.vantiq.ims.FactoryServiceをクリックする必要があります。 パーティションを更新する ツールバー ボタンを使用して、プロジェクトおよびパーティション リソースに加えた変更を正しく認識します。
ステップ 4: 新しいパーティションにデプロイパラメータを追加する
タイプ以来 com.vantiq.ims.ストア 現在、パーティション {“ars_properties.type”:”store”} に属しているため、パーティションにデプロイ パラメータを追加して、タイプする新しいレコードを追加する必要があります com.vantiq.ims.ストア ターゲットノードで。デプロイパラメータの追加については、パート2のステップ2を参照してください。唯一の違いは、パーティション「default」ではなく、{“ars_properties.type”:”store”}を選択する必要があることです。

ステップ 5: 分散アプリケーションをデプロイする
導入中 テストデプロイ1 ペインで、 環境:tutorialEnv サブタブをクリックして環境グラフを再度表示します。factoryNode と storeNode が異なるパーティションに表示されているのがわかります。これは、各パーティション内のリソースが異なるノードにデプロイされることを意味します。
カスタム パーティションが定義されているため、デフォルト パーティション内のリソースはデプロイされません。 したがって、デフォルトのパーティションはここには表示されなくなりました。

クリック 配備します ボタン。 [結果] サブタブをチェックして、さまざまなリソースがさまざまなノードにデプロイされていることを確認します。


ステップ 6: デプロイメントを確認する
に切り替える 工場 名前空間。 使用 プロジェクト 選択するメニューボタン 導入チュートリアル_by_testDeploy1. あなたはそれを見るべきです サービス: com.vantiq.ims.FactoryService の三脚と タイプ: com.vantiq.ims.Order ここにコピーされました。 また、 ストアノード ここにコピーされます。

に切り替える 店舗 名前空間を選択してブラウズします。 ここにコピーされたリソースとノードの別のセットが表示されるはずです。 タイプのすべてのレコードを表示する com.vantiq.ims.ストア の記録が表示されるはずです 新しいストア 製品数は 101 です。これは、前の手順で作成した展開パラメータと一致します。

クライアントを実行する ストアクライアント この名前空間で。 製品の注文を続けると、より多くの製品がこのストアに配送されることがわかります。 製品数 これは、アプリケーションが 50 つのノードで正常に実行されていることを示しています。