Architecture de composant
Composition de composant ThingWorx Navigate
Les composants ThingWorx Navigate sont des composants composites. Ils sont constitués de sous-composants plus petits qui, une fois combinés, créent des composants puissants avec une forte valeur ajoutée.
Chaque composant ThingWorx Navigate est généralement constitué de deux sous-composants différents : un sous-composant d'interface utilisateur et un sous-composant de logique métier.
Sous-composant d'interface utilisateur
Le sous-composant d'interface utilisateur peut être de l'un des deux types suivants :
Application composite : une application composite ThingWorx avec plusieurs widgets et liaisons.
Widget : un widget unique créé en dehors de ThingWorx, qui est emballé et importé dans ThingWorx. Il est généralement écrit avec la technologie d'un composant Web.
Le sous-composant d'interface utilisateur communique avec le sous-composant de logique métier par l'intermédiaire de services.
Sous-composant de logique métier
Le sous-composant de logique métier récupère et traite les données commerciales à partir des systèmes principaux. Le sous-composant de logique métier est constitué d'entités ThingWorx, telles que des formes d'objet, des modèles d'objet et des objets. Il communique avec le sous-composant d'interface utilisateur via des services.
Les sous-composants de logique métier sont conçus pour permettre des personnalisations complexes. Ils offrent la possibilité de :
1. Personnaliser la logique métier qui récupère et traite les données
2. Ajouter de nouveaux points de configuration pour prendre en charge la personnalisation de la logique métier
Les sous-composants de logique métier suivent le modèle ThingWorx général pour permettre la personnalisation. Un modèle d'objet abstrait appelé "Logique métier de base" contient toutes les fonctionnalités communes pour le sous-composant de logique métier. Chaque implémentation spécifique est effectuée dans un modèle d'objet appelé "Implémentation de logique métier". Etant donné que les services ThingWorx ne peuvent être exécutés que sur un objet, chaque modèle d'objet d'implémentation de logique métier doit être implémenté par un objet.
Configuration de composant
Les composants ThingWorx Navigate sont configurables par nature. Lorsque vous ajoutez un composant à une application composite, durant la phase de conception, tous les paramètres du composant peuvent être spécifiés sous la forme d'un objet JSON de configuration unique. Une interface utilisateur devrait être disponible prochainement pour permettre de définir chaque paramètre individuellement.
La structure de l'objet de configuration basé sur JSON est définie à l'intérieur de la logique métier de base. Cette définition de la structure de configuration est appelée définition du composant. Elle sert d'un schéma pour la définition JSON et détermine quels paramètres de configuration sont autorisés, si certains paramètres sont obligatoires et où se trouve chaque paramètre dans la structure de configuration.
La logique métier de base inclut également des points spécifiques dans la définition du composant qui peuvent être étendus. Ces points sont appelés hooks de définition, et des services de hook substituables sont attachés à ces points. L'implémentation de la logique métier utilise ces services de hook pour étendre la définition du composant afin qu'elle accepte les paramètres de configuration supplémentaires requis par l'implémentation spécifique. Cette définition du composant étendue est appelée définition d'implémentation.
De par leur conception, les composants ThingWorx Navigate sont robustes. De ce fait, un objet de configuration JSON typique est constitué de dizaines de paramètres à configurer. Pour accélérer le travail et éviter les erreurs inutiles, une ou plusieurs configurations prédéfinies ThingWorx Navigate sont fournies avec chaque composant. Chacune des configurations prédéfinies est nommée et peut être sélectionnée lors de la configuration d'un composant. Lorsque vous sélectionnez une configuration prédéfinie, la zone de configuration est, de manière automatique, totalement renseignée de configuration JSON, et vous pouvez lui apporter des adaptations mineures sans devoir créer l'ensemble de configuration JSON.
Exemple
Pour illustrer l'architecture décrite ci-dessus, observons le composant Liste des éléments.
Liste des éléments
Est-ce que cela a été utile ?