Premiers pas avec ThingWorx > La programmation pour l'IoT > Exploitation du modèle d'objet
Exploitation du modèle d'objet
Relations dans le modèle d'objet
Les formes d'objet et les modèles d'objets partagent des modèles d'interactions communs pour classer, rechercher et retrouver des objets. Le modèle d'interaction vous permet d'obtenir une liste d'actifs selon le type ou la classification. Par exemple, vous pouvez demander à une forme d'objet ou à un modèle d'objet d'obtenir une liste de tous les actifs du même type (un modèle de lave-vaisselle, par exemple) à l'aide du service QueryImplementingThings de cette entité. Si vous utilisez QueryImplementingThingsWithData, vous récupérez les propriétés des actifs en plus de la liste d'actifs. Vous pouvez également interroger des éléments de manière plus pertinente en ajoutant des paramètres de requête. Par exemple, vous pourriez souhaiter savoir où se trouvent vos tondeuses autoportées Acme de la série Economy (définies par un modèle d'objet) dans un rayon de 50 miles autour de Boston. Vous pourriez souhaiter savoir quelles tondeuses ont un moteur au temps de fonctionnement supérieur à 400 heures, ce groupe étant plus susceptible de nécessiter un entretien et/ou des réparations. Le modèle d'objet permet d'utiliser ces types de requêtes grâce à des fonctionnalités de recherche intégrées.
Effectuer des recherches dans le modèle
ThingWorx propose une fonctionnalité de recherche intégrée. Elle permet d'effectuer les opérations suivantes :
Recherche plein texte de noms de modèles, de descriptions de modèle et de tout champ de données de type TEXT.
Recherche portant sur les relations dans le modèle (comme décrit ci-dessus).
Recherche portant sur les données de modèle et d'exécution à l'aide de tags sémantiques.
Le type d'entité vocabulaire vous permet de définir des tags sémantiques. Un vocabulaire peut avoir un ou plusieurs tags. Les vocabulaires sont définis avec des tags de modèle ou des tags de données, car il est possible de stocker ces éléments séparément. Les tags sont comme des index complémentaires pouvant être utilisés pour examiner le modèle et les données à l'aide des fonctionnalités de recherche.
Les vocabulaires peuvent être dynamiques (par exemple, le tagging de données machine avec des codes en cours de développement en expansion constante) ou statiques (par exemple, une liste des statuts d'un bon de travail, sous forme d'un ensemble décrivant un processus prédéfini de bon de travail). Vous pourriez souhaiter que tous les événements de temps d'arrêt dans vos installations possèdent un ensemble spécifique de codes de motif. Vous pouvez utiliser un vocabulaire statique en tant qu'ensemble prédéfini de motifs. Vous pouvez rechercher et compter les événements de temps d'arrêt grâce à leur code de motif.
Les tags de modèle peuvent être utilisés pour grouper des définitions d'entités. Il est possible d'associer plusieurs tags à chaque entité. Par exemple, vous pouvez rechercher toutes les entités appartenant à une application spécifiée.
Les tags de données sont utilisés pour rechercher des données et des opérations d'exécution. Par exemple, vous produisez peut-être des téléphones mobiles. Chaque téléphone possède un numéro de série avec lequel vous pouvez suivre ce téléphone. Au fur et à mesure du passage du téléphone dans l'environnement de production et d'assemblage, vous collectez des données provenant des machines et des processus de l'usine. Lorsqu'un téléphone passe à une nouvelle machine ou à un nouveau poste de charge, il est possible de référencer les données y étant collectées avec le numéro de série. Vous pouvez alors effectuer le suivi des données et conditions de processus pour ce téléphone tout au long du processus. Si vous recevez des rapports de défaut ultérieurement, vous pourrez déterminer que chaque téléphone étant passé sur le poste d'une machine dont l'opérateur est nouveau présente le même type de défaut. L'étiquetage de données par tags facilite ce type de recherche au niveau des données.
Vous pouvez également utiliser les tags pour grouper logiquement des actifs, par exemple afin de filtrer la liste des actifs dont un centre de services régional est responsable.
Il existe plusieurs manières d'utiliser les fonctionnalités de recherche dans ThingWorx. Vous pouvez créer des index de référentiels tiers et inclure ces recherches dans la recherche native de ThingWorx. Vous pouvez permettre aux techniciens de maintenance d'utiliser la recherche d'exécution pour trouver des codes de motif, des manuels de produits, etc.
Exploitation du modèle
Dans la mesure où le modèle est orienté objets, vous pouvez créer des interfaces utilisateur basées sur des formes d'objet ou des modèles d'objet, puis transmettre un actif en phase d'exécution en fonction de l'interaction utilisateur. Cette abstraction est possible car les métadonnées d'une forme d'objet ou d'un modèle d'objet correspondent à l'instance d'objet. Avec les différentes manières d'interroger le modèle, vous pouvez transmettre un ensemble d'actifs vers une page Web pour les rendre accessibles à certains utilisateurs ou vers une application tierce pour les y exploiter. Toutes les API de ThingWorx qui sont accessibles par le ThingWorx Mashup Builder, sont également accessibles par d'autres applications. En fonction de la requête, elles renvoient un résultat au format JSON, XML, CSV ou HTML.
Les API de ThingWorx étant fortement typées, vous pouvez développer des interfaces utilisateur riches en procédant par glisser-déposer dans le ThingWorx Mashup Builder. Pour en savoir plus, consultez les rubriques Visualisation et API REST ThingWorx.