Bonnes pratiques pour le développement de solutions > Modélisation de vos actifs > Utilisation des événements, des alertes et des abonnements
Utilisation des événements, des alertes et des abonnements
Les événements sont utilisés pour indiquer un changement de condition dans ThingWorx Platform. Ils peuvent être déclenchés lorsqu'une condition est remplie, par l'appel d'un service ou par un appel REST. ThingWorx propose plusieurs types d'événements standard déclenchés lorsque certaines conditions sont remplies, par exemple lorsque la valeur d'une propriété change (DataChange) ou au démarrage d'un objet (ThingStart).
Une alerte est un type d'événement standard basé sur l'état d'une propriété. Elle est automatiquement déclenchée lorsque la valeur de propriété correspond à une condition particulière définie par un utilisateur.
Un abonnement est requis pour effectuer une opération lorsqu'un événement, y compris des alertes, est déclenché. Un abonnement est un service spécial qui est exécuté lorsque l'événement auquel il s'abonne est déclenché.
Les événements nécessitent une forme de données prédéfinie. La forme de données stocke les données associées à l'événement, accessibles via un abonnement. Vous pouvez ajouter des abonnements à une entité dans une extension afin d'exécuter un comportement personnalisé lorsqu'un événement est déclenché.
Bonnes pratiques pour la création d'événements, d'alertes et d'abonnements
Utilisez les bonnes pratiques suivantes lors de la création d'événements, d'alertes et d'abonnements :
Définissez les conventions de désignation de vos événements, alertes et abonnements. Tenez compte des points suivants :
Utilisez une nomenclature standard entre les entités. Par exemple : vous pouvez utiliser un préfixe d'espace de nom unique entre les différents types d'entités pour éviter les conflits.
Donnez des noms explicites aux entités.
Essayez d'inclure une description précise pour chaque entité que vous créez.
Evitez les noms ambigus.
Evitez autant que possible les noms d'entité étendus.
Pour plus d'informations, consultez la rubrique Noms des entités.
Définissez tous les événements et abonnements au niveau d'une forme d'objet.
* 
Il est recommandé d'utiliser des formes d'objet pour définir les propriétés et les services. Si vous définissez des propriétés et des services sur un modèle d'objet, il est difficile de transférer leurs définitions vers une forme d'objet.
Définissez les alertes individuellement pour chaque propriété de l'objet, du modèle d'objet ou de la forme d'objet.
Assurez-vous que les événements et les alertes sont associés à un abonnement. A chaque déclenchement d'alerte ou d'événement, la fonctionnalité est ainsi exécutée dans la solution. Cela entraîne un flux de données dans la solution.
Dans un environnement haute disponibilité, utilisez la fonction d'abonnements distribués lorsque les abonnements sont exécutés massivement. par exemple, lorsque de nombreux objets s'abonnent à un même timer ou planificateur. Pour plus d'informations, consultez la rubrique Abonnements objets.
Utilisez les abonnements ordonnés et avec état lorsque les abonnements doivent s'exécuter de manière séquentielle et lorsque la valeur précédente doit être consultée entre plusieurs exécutions de l'événement. Pour plus d'informations, consultez la rubrique Abonnements objets.
* 
Les abonnements ordonnés ou avec état ne peuvent pas être déclenchés si l'entité d'abonnement (directe ou héritée) contient un espace dans son nom.
Un nom d'entité ne peut contenir que des lettres ASCII et les caractères spéciaux -_.*$+:@&=,!~';., et ne peut pas commencer par $.
Lors du développement de votre solution, vous pouvez exécuter une sauvegarde automatique via un abonnement au planificateur.
Pendant le test des services qui sont définis dans les abonnements, consultez les journaux de la solution pour vérifier que l'abonnement s'exécute comme prévu.
Pour plus d'informations sur les bonnes pratiques en matière de création de services pour les abonnements, consultez la rubrique Création et implémentation de services.
Est-ce que cela a été utile ?