Premiers pas avec ThingWorx > La programmation pour l'IoT
La programmation pour l'IoT
Règles de programmation et logique métier
Dans l'Internet des objets (IoT), les règles et la logique métier ne sont pas programmées de la même manière que dans les modèles classiques de programmation procédurale qui utilisent du SQL et les requêtes de base de données. La programmation procédurale suit le code du début à la fin, les commandes logiques étant transférées vers d'autres parties de l'application. Les systèmes étaient conçus pour prendre en charge des processus tels que les suivants :
1. Décharger les données dans une base de données.
2. Chaque nuit, interroger les nouvelles données et appliquer la logique métier.
3. Décharger le résultat du traitement par lots dans une base de données.
4. Générer un rapport expliquant ce qui s'est produit.
Cette méthode n'est pas adaptée au rythme rapide du mode de l'IoT. L'approche consistant à stocker les données avant de les interroger est trop chronophage et manque de flexibilité. Vous devez réagir aux événements en temps réel.
ThingWorx fournit une architecture régie par les événements qui vous permet de configurer des alertes selon des critères de seuil. Elle propose également une interface de création de scripts pour appliquer la logique métier lorsque des événements se produisent. Pour plus d'informations, consultez les rubriques Evénements d'objet et Abonnements d'objets.
La nécessité des analyses
Vous devez prendre en compte l'énorme volume de données présent dans l'IoT et donc la façon dont vous abordez l'analyse.
Un modèle IFTTT (If This, Then That) part du principe que vous savez comment réagir aux événements. Toutefois, il existe de nombreuses manières de réagir aux événements IoT et vous pourriez ne pas savoir quelle action entreprendre. Vous pourriez ne pas savoir si un événement est un signal ou s'il est simplement parasitaire. Vous souhaitez savoir quelles données parmi les pétaoctets générés par vos objets peuvent servir d'informations.
En bref, il s'agit alors d'un modèle IFTTW (If This, Then What).
IFTTW réclame les réponses de questions telles que les suivantes :
Est-il temps d'effectuer des travaux de maintenance ?
Est-il temps de commander des consommables ?
Est-il temps de dépêcher un technicien de dépannage ?
Devrais-je ajuster la configuration de mon produit ?
Lorsque vous utilisez un moteur analytique avec votre solution IoT, vous obtenez non seulement un journal d'historique des événements, mais vous obtenez également une vue prédictive basée sur un modèle analytique qui a été informé par cet historique.
Le modèle d'objet ajoute le contexte d'actif à vos procédures analytiques. Il vous permet d'entraîner votre moteur analytique en fonction de classes d'équipement, comme défini dans votre modèle. Il fournit une interface sémantique pour générer des alertes sur les incidents pour les actifs en fonction de l'analyse des données en temps quasi-réel. Pour plus d'informations, consultez la rubrique Définition d'analyse de données.
Couche sémantique centrée sur les objets
ThingWorx fournit une couche sémantique dans son modèle, qui n'est pas conçu pour être utilisé d'une manière programmatique classique. Vous devez prendre en compte vos objets et les caractéristiques de ceux nécessaires à votre solution. Avec le modèle orienté objets de ThingWorx, vous pouvez décomposer les fonctionnalités courantes en objets de niveau supérieur, intégrer la logique métier et les fonctionnalités dans des objets de base et hériter ces objets de base dans votre objet numérique. Ce processus crée une couche sémantique (une représentation métier des données qui permet aux utilisateurs finaux d'accéder de manière autonome aux données à l'aide de termes communs, tels que produit, client ou revenu) qui vous permet de poser des questions comme "Objet123, quel est ton historique de température et de position des deux dernières heures ?"
La sémantique de votre modèle est exposée sous forme d'un ensemble d' API REST bien comprises et fortement typées.
Générateurs d'application visuels
Les générateurs d'application visuels fournissent le dernier élément pour exploiter les résultats du modèle sémantique centré sur les objets et proposent le nécessaire pour le développement accéléré d'applications. Il existe de nombreux types de solutions de rendu d'interface utilisateur sur le marché. Pour optimiser la vitesse et la flexibilité de la construction de votre solution IoT, vous devez utiliser une solution qui comprend la couche sémantique du modèle de données et qui s'adapte aux changements de votre modèle de données.
Afin d'exploiter rapidement la puissance de votre modèle, vous pouvez utiliser le ThingWorx Mashup Builder, qui fournit une couche sur l'Edge, le Cloud et votre modèle d'objet. Il fournit les widgets visuels conçus pour l'IoT pouvant être précâblés à votre modèle d'objet. Le ThingWorx Mashup Builder vous permet de créer des pages d'interface utilisateur sans coder, par simples glisser-déposer. L'environnement de développement rapide d'applications (RAD) vous permet de concevoir des interfaces utilisateur plus rapidement. ThingWorx Platform propose une valeur unique : elle utilise la couche sémantique des propriétés, des services et des événements pour créer des applications mobiles et de bureau modernes de façon rapide et intuitive. La puissance de ThingWorx vous permet de fournir des solutions pour les centaines de millions d'applications requises par les milliards de périphériques connectés.
Consultez la rubrique Modèle-vue-contrôleur (MVC).