アプリのコンポーネント

概要
このチュートリアルでは、再利用可能な技術ソリューションとしてアプリ コンポーネントを作成する方法を学習します。 コンポーネントの使用と構成の経験を積み、ビジュアル イベント ハンドラーを迅速に作成および改善し、重複するタスクを削減します。
このチュートリアルを最大限に活用するには、短くて無料のVantiqチュートリアルを完了することを強くお勧めします。 開発者基礎コース 最初。
パート 1: コンポーネントの作成
1: 入門チュートリアルをインポートする
プロジェクト 選択するメニュー インポート。 選択する チュートリアル インポートタイプとして。 を選択 入門 チュートリアルをクリックして インポート.

詳しくはこちら Refresh インポートが完了したら。
クリック com.vantiq.engines.EngineMonitor プロジェクトコンテンツツリーからサービスを選択するか、 追加 選択するメニュー サービス 開いて com.vantiq.engines.EngineMonitor サービス。 詳細またはその方法については、 com.vantiq.engines.EngineMonitor サービスの動作については、を参照してください。 入門チュートリアル.
に移動します 実施する サービスのタブをクリックし、 公共 セクションヘッダーをクリックして、受信イベントハンドラーを表示します。 センサー読み取り値1 イベントハンドラ( 温度イベント イベントタイプ)。このイベントハンドラは温度イベントを受け取り、必要に応じて現在の速度値を取得し、イベントのアラートメッセージを生成します。このイベントタイプハンドラには、フィルタタスク(つまり、 警告なし, 非速度オーバーヒート, スピードオーバーヒート) それぞれの後に変換タスクが続きます (つまり、 アラートのクリア, 追加非速度オーバーヒート, 追加速度オーバーヒート).

重複したタスクは構成が面倒で、保守も面倒です。 これを解決するには、異なる温度と速度の値を使用してフィルタリングと変換を行うための再利用可能なコンポーネントを作成します。 の 温度イベント イベント ハンドラーは、このコンポーネントを使用して、受信したセンサー データに基づいて適切なエンジン アラート メッセージを生成します。
2: 既存のハンドラーからコンポーネントを作成する
アプリ コンポーネントは、最初から作成することも、既存のイベント ハンドラーからコピーすることもできます。 の既存の定義を使用します。 温度イベント イベント ハンドラーを使用して、複製されたタスクをコピーし、新しいアプリ コンポーネントを作成します。
Shift キーを押したままマウスをドラッグして、 警告なし の三脚と アラートのクリア タスク。 タスクが選択されると、緑色の枠線が表示されることに注目してください。

詳しくはこちら コンポーネントを保存 ペインの右上隅に フィルターと診断 アプリコンポーネント名として「」を入力し、 OK.

イベント ハンドラーから選択したタスクの正確なコピーを使用して、新しいアプリ コンポーネントが作成されました。

3: コンポーネントタスクの名前を変更する
と呼ばれる楕円形のバブルに注目してください。 下流 フィルタータスクの下に追加されました。 コンポーネントの作成者は、コンポーネントのユーザーがコンポーネントの下にタスクをアタッチする方法を決定できます。 コンポーネントを使用すると、その中に含まれるすべての機能とタスクが単一のブラック ボックスとして表示されます。 ユーザーが別のタスクをコンポーネントの子として接続するには、コンポーネントの作成者が ダウンストリーム接続ポイント コンポーネント内の XNUMX つ以上のタスクに適用されます。
以下を行うには、 下流 バブルして名前を変更する 診断。 このコンポーネントが使用される場合、この接続ポイントを使用してタスクがコンポーネントの子として追加されると、そのタスクは事実上 診断 タスク。 の名前を変更します 警告なし するタスク 診断する と アラートのクリア するタスク 診断の追加.

Save コンポーネント。
4: コンポーネントパラメータを公開する
コンポーネントは、さまざまな問題を解決するために構成および再利用できるビジュアル イベント ハンドラーのセクションです。 コンポーネントはブラック ボックスとして機能し、単一のタスクとして表されます。 コンポーネントのユーザーは、コンポーネントを他のタスクと同様に扱い、必要な機能を実現するために小さなプロパティのセットを構成できます。
その フィルターと診断 コンポーネントには XNUMX つのタスクが含まれています。 診断する フィルタータスクと 診断の追加 変換タスク。 を使用するイベント ハンドラー フィルターと診断 これらのタスクのフィルタリング条件と変換プロパティを指定する必要があります。 の パラメータを公開する コンポーネントエディターの機能を使用すると、タスクパラメータを「公開」として指定できます。
クリック 診断する タスクをクリックして、 クリックして編集する リンク。 クリック エクスポーズパラメータ+ の右側にあるボタン 条件 プロパティ。

構成プロパティの名前はデフォルトのままにしておきます。 条件、次に以下をクリックします OKに設定します。 OK をクリックします。 OK 再度、単一の構成パラメータを保存します。 診断する タスク。
クリック 診断の追加 タスクをクリックして、 クリックして編集する リンク。 クリック エクスポーズパラメータ+ の右側にあるボタン 財産。 構成プロパティの名前はデフォルトのままにしておきます。 、次に以下をクリックします OKに設定します。 OK をクリックします。 OK 再度、単一の構成パラメータを保存します。 診断の追加 タスク。
詳しくはこちら OK その後 Save コンポーネント。
パート 2: FilterAndDiagnose コンポーネントを使用する
これで、 フィルターと診断 コンポーネント。イベント ハンドラーにプラグインします。
1: 繰り返されるタスクを置き換える
を使用してサービスを開きます 追加 ボタンをクリックします。 Services 次に選択します com.vantiq.engines.EngineMonitor リストから。
以下を行うには、 実施する タブをクリックして開きます センサー読み取り値1 イベントハンドラ( 温度イベント イベントタイプ) 公共 のセクションから無料でダウンロードできます。
拡大する コンポーネント イベント ハンドラーのタスク パレットのセクション。 注目してください。 フィルターと診断 コンポーネントがパレット内にあります。 これで、コンポーネントをビジュアル イベント ハンドラーで使用できるようになりました。
削除 警告なし の三脚と アラートのクリア 各タスクをクリックしてから、 削除 ペインのツールバーのボタン。

をドラッグして、 フィルターと診断 コンポーネントを選択し、 センサー読み取り 仕事。
コンポーネントが という単一のタスクとして表示されることに注意してください。 フィルターと診断。 下流にも注目 診断 タスクは、コンポーネントの接続ポイントを表す三角形のノードとしてコンポーネントの下に表示されます。

名前を変更する フィルターと診断 するタスク 警告なし 次に、右クリックします 診断 に接続されている下流タスク 警告なし タスクと選択 既存のタスクをリンクする。 選択する パブリッシュステータス タスク名 メニューをクリックし、 OK.

削除 非速度オーバーヒート の三脚と 追加非速度オーバーヒート タスクをクリックしてタスクを選択し、 削除 ペインのツールバーのボタン。
をドラッグして、 フィルターと診断 コンポーネントを選択し、 取得速度 仕事。
名前を変更する フィルターと診断 するタスク 非速度オーバーヒート 次に、右クリックします 診断 に接続されている下流タスク 非速度オーバーヒート タスクと選択 既存のタスクをリンクする。 選択する パブリッシュステータス タスク名 メニューをクリックし、 OK.
削除 スピードオーバーヒート の三脚と 追加速度オーバーヒート 各タスクをクリックしてから、 削除 ペインのツールバーのボタン。
をドラッグして、 フィルターと診断 コンポーネントを選択し、 取得速度 仕事。
名前を変更する フィルターと診断 するタスク スピードオーバーヒート 次に、右クリックします 診断 に接続されている下流タスク スピードオーバーヒート タスクと選択 既存のタスクをリンクする。 選択する パブリッシュステータス タスク名 メニューをクリックし、 OK.
詳しくはこちら Save 保存する com.vantiq.engines.EngineMonitor サービス。
これで、複製されたタスクが再利用可能なコンポーネントに置き換えられました。 サービスを保存するとエラーが表示されることに注意してください。 これらは予期されたものであり、後続の手順で修正されます。

2: 新しいコンポーネントのタスクを構成する
これで、 フィルターと診断 コンポーネントは、次の XNUMX つのタスクを置き換えました。 温度イベント イベント ハンドラー。各コンポーネントのプロパティを構成します。
- クリック 警告なし タスクをクリックして、 クリックして編集する リンク。 の横にあるリンクをクリックします 条件 財産。 選ぶ ビジュアルフィルター として 条件タイプ クリックします 視覚条件の追加 +ボタン。 次の Visual Condition パラメータを入力します。プロパティ名: 温度
コンパレータ:
フィルター式210年
詳しくはこちら OK。 オリジナルは 警告なし このビジュアル フィルターは、温度センサーの読み取り値が 210 度未満かどうかを確認することで、エンジンが過熱していないかどうかを判断します。
次に、次のリンクをクリックします 財産。 選ぶ 視覚的変化 として 変換タイプ クリックします 変換を追加する +ボタン。 次の視覚変換パラメータを入力します。
アウトバウンドプロパティ: アラートメッセージ
変換式:「」
詳しくはこちら OK。 オリジナルは 警告なし タスクでは、この Visual Transformation は新しいイベント プロパティを設定します。 アラートメッセージ、文字列値が "" これは事実上、エンジンのダッシュボードにアラートが表示されないことを意味します。 これは、 警告なし フィルター タスクは、エンジンが過熱していないと判断しました。 クリック OK 構成を保存します。
- クリック 非速度オーバーヒート タスクをクリックして、 クリックして編集する リンク。 の横にあるリンクをクリックします 条件 財産。 選ぶ ビジュアルフィルター として 条件タイプ 次に、次の XNUMX つの Visual Condition パラメータをこの順序で追加します。プロパティ名: スピード
コンパレータ:!=
フィルター式: ヌル
の三脚と
プロパティ名: スピード
コンパレータ:
フィルター式45年
詳しくはこちら OK。 オリジナルは 非速度オーバーヒート このタスクでは、このビジュアル フィルターは、エンジンがオーバーヒートしていて、速度が null ではなく 45 未満であるかどうかを判断します。速度の読み取り値がまだ表示されていない場合、速度は null になる可能性があります。
次に、次のリンクをクリックします 財産。 選ぶ 視覚的変化 として 変換タイプ クリックします 変換を追加する +ボタン。 次の視覚変換パラメータを入力します。
アウトバウンドプロパティ: アラートメッセージ
変換式: 「エンジンが過熱しています。ファンの故障または冷却液の漏れがないか確認してください。」
詳しくはこちら OKに設定します。 OK をクリックします。 OK もう一度クリックして構成を保存します。
- クリック スピードオーバーヒート タスクをクリックして、 クリックして編集する リンク。 の横にあるリンクをクリックします 条件 財産。 選ぶ ビジュアルフィルター として 条件タイプ 次に、次の XNUMX つの Visual Condition パラメータをこの順序で追加します。プロパティ名: スピード
コンパレータ:!=
フィルター式: ヌル
の三脚と
プロパティ名: スピード
コンパレータ: >=
フィルター式45年
詳しくはこちら OK。 オリジナルは スピードオーバーヒート このビジュアル フィルターは、エンジンがオーバーヒートしていて、速度が null ではなく 45 以上であるかどうかを判断します。
次に、次のリンクをクリックします 財産。 選ぶ 視覚的変化 として 変換タイプ クリックします 変換を追加する +ボタン。 次の視覚変換パラメータを入力します。
アウトバウンドプロパティ: アラートメッセージ
変換式: 「エンジンがオーバーヒートしています。速度を下げてください。」
詳しくはこちら OKに設定します。 OK をクリックします。 OK もう一度クリックして構成を保存します。
詳しくはこちら Save 保存する com.vantiq.engines.EngineMonitor サービス。
3: コンポーネントを通じてイベントを実行する
次に、コンポーネントが期待どおりに動作するかどうかをテストします。
インポートしている場合は、 入門チュートリアル またはアプリ コンポーネントのチュートリアルを完了した場合は、XNUMX つのソースを有効にする必要があります。 com.vantiq.engines.SpeedSensor の三脚と com.vantiq.engines.TemperatureSensor シミュレートされたセンサー イベントのフローを開始します。
クリック アクティブ リソース コントロール センター IDE ナビゲーション バーの (稲妻) アイコンをクリックして、 アクティブ リソース コントロール センター ペイン:

アクティブ化 速度計 の三脚と 温度センサー アクティブ スライダーをクリックしてソースを選択します。
クリック com.vantiq.engines.EngineMonitor プロジェクト コンテンツ ツリーからクライアントを選択するか、 追加 選択するメニュー 取引実績 開いて com.vantiq.engines.EngineMonitor クライアント。
の実装にもかかわらず、 com.vantiq.engines.EngineMonitor サービスが変更されましたが、クライアントのデータ ストリームはアウトバウンド サービス イベント タイプを使用し、インターフェイスは変更されていないため、クライアントを更新する必要はありませんでした。

結論
おめでとうございます。最初のアプリ コンポーネントが作成されました。
このチュートリアルでは次のことを行います。
- 既存のイベント ハンドラーからコンポーネントを作成しました
- 構成可能なプロパティをコンポーネントに追加しました
- イベント ハンドラーで同じアプリ コンポーネントを使用して重複したコードを置き換えました。
次のチュートリアルでは、このアプリ コンポーネントを更新して、ステートフル サービスを使用して、スケーラビリティとパフォーマンスを維持しながらエンジン データを保存および永続化します。