ThingWorx ソリューション構築の最良事例一覧
IoT ソリューションを構築する際には以下の最良事例を考慮してください。
• プロジェクトにエンティティを含めます。1 つのソリューションに 1 つのプロジェクトだけ使用します。
• モデルタグを使用してエンティティをタグ付けします。
• 拡張機能のすべてのエンティティを編集不可能にします。
• すべてのユーザーインタフェースラベルにローカライズトークンを作成します。
• JavaScript を使用してサービスを実装します。
• Thing Shape を使用してサービスおよびプロパティを定義します。
• エンティティ名、プロパティ、およびサービスに一意の名前空間プレフィックスを使用します。
• エンティティに組織とユーザーグループを定義して、表示権限およびアクセス許可を設定します。
• 大規模なソリューションを小さな拡張機能に分割します。
• マッシュアップでのサービスの実行に固定のアセット Thing を使用しないでください。アセット Thing を動的に選択または検索した後で、そのサービスを実行する必要があります。
|
問題のあるシナリオを回避するため、ヘルパーまたはマネージャ Thing のサービスを使用します。これらのサービスは入力パラメータとしてアセット Thing の名前をとり、これがさらにマッシュアップで使用されます。
|
• CPU リソースがさらに必要となるので、
Thing の購読で
「イベントを連続して実行」チェックボックスはオフのままにします。
「イベントを連続して実行」購読機能は、購読を 1 つずつ実行する必要がある場合にのみ使用します。必要に応じて、JSONState オブジェクトを使用して、順序付けされた購読の実行間でデータを保持します。
• 同じタイムスタンプの複数のプロパティを更新する場合は、新しいサービス UpdatePropertyValuesBatched および UpdateSubscribedPropertyValuesBatched を使用します。
• 順序付けされた購読のスクリプトをレビューして、購読の状態に過剰なデータが維持されていないことを確認します。設定されている制限が低すぎる場合は、
platform-settings.json コンフィギュレーションの詳細の SubscriptionSettings セクションにある
SubscriptionsStatesMaxDirectMemorySize 設定を使用して制限を高くします。
購読のパフォーマンスで説明されている判定基準を使用して、購読の状態のストレージの現在のサイズを追跡できます。
|
購読の状態のストレージのサイズ制限に達すると、古い状態が消去されて新しい状態が保存されます。以下のようなエラーメッセージが ApplicationLog に表示されます。
Memory size limit exceeded, dropped state for key [RemoteRouter-1:Thing1:Template1:ThingTemplate:Subscription1]
|