複合コンポーネント
複合コンポーネントは、アトミックコンポーネントのセット、その他の複合コンポーネントのセット、またはアトミックコンポーネントおよび複合コンポーネントの両方から成ります。複合コンポーネントにはいくつかのビジネスロジックが埋め込まれています。ThingWorx 組み込みマッシュアップや、SDK を使用して作成されたウィジェットが、複合コンポーネントの例として挙げられます。
複合コンポーネントを作成する際には、以下の最良事例を使用します。
複合コンポーネントのサブコンポーネント
複合コンポーネントは以下のサブコンポーネントのすべてまたは一部から成ります。
ユーザーインタフェース (UI)
ビジネスロジック
モデルとサービス
データアダプタ
複合コンポーネントを使用している場合、そのいずれかのサブコンポーネントがトップレベルコンポーネントと見なされます。トップレベルコンポーネントは複合コンポーネントのアクセスポイントとして使用されます。
複合コンポーネントはサブコンポーネントの階層を使用してトップレベルコンポーネントを確立します。以下の図に示すように、サブコンポーネントの階層の最上位に UI があり、その下にビジネスロジック、モデルとサービス、データアダプタがあります。
たとえば、複合コンポーネントに UI が定義されている場合、UI がそのコンポーネントのアクセスポイントになります。複合コンポーネントに UI がなく、モデルが定義されている場合、アクセスポイントはモデルとサービスになります。コンポーネントに UI とモデルのどちらも定義されていない場合、アクセスポイントはデータアダプタになります。
トップレベルコンポーネントの下のすべてのサブコンポーネントをユーザーに公開しないことをお勧めします。
複合コンポーネントのタイプ
以下のタイプの複合コンポーネントを使用できます。
組み込みマッシュアップ - 編集不可能。パラメータを使用して設定したり、カスタム CSS を使用してカスタマイズしたりできます。
できるかぎり、パラメータの数を最小限に維持することをお勧めします。
SDK を使用して作成されたウィジェット - 編集不可能。パラメータを使用して設定したり、継承によってカスタマイズしたりできます。
ビジネスロジック - コンフィギュレーションテーブルまたはパラメータを使用してカスタマイズします。
たとえば、コンポーネントモデルおよびデータアダプタから成るビジネスロジックがあります。
ガジェット - 編集不可能
ダッシュボード - 編集不可能
動的メニュー
複合コンポーネントの設定
複合コンポーネントは、コンフィギュレーションテーブル、パラメータ、またはコンフィギュレーションマッシュアップを使用して設定できます。コンフィギュレーションの値がトップレベルコンポーネントに渡された後、これらの値が依存階層内の下流コンポーネントに渡されます。たとえば、キーと値のペアから成るコンフィギュレーションテーブルを使用して、コンポーネントの動作を変更できます。コンフィギュレーションテーブルはコンポーネントのアップグレードに含まれません。
複合コンポーネントのアップグレード
アップグレードをサポートするため、複合コンポーネントおよびそのサブコンポーネントは編集不可能でなければなりません。サブコンポーネントをアップグレードしたときに、複合コンポーネントが破損してはなりません。
複合コンポーネントのカスタマイズおよび拡張
必要に応じて、複合コンポーネントを拡張およびカスタマイズします。詳細については、 コンポーネントの拡張およびカスタマイズのセクションを参照してください。
たとえば、既成の組み込みマッシュアップをカスタマイズおよび拡張する場合について考えます。既成の組み込みマッシュアップは編集不可能です。この組み込みマッシュアップを設定および拡張するため、コンポーネントのコピーを作成します。コピーをカスタマイズおよび拡張します。コンフィギュレーションテーブルまたはパラメータを使用して、元の組み込みマッシュアップを、カスタマイズした組み込みマッシュアップに置き換えます。