Primeros pasos en ThingWorx > Programación para IoT > Modelado: ¿por qué existen definiciones de cosa y plantillas de cosa?
Modelado: ¿por qué existen definiciones de cosa y plantillas de cosa?
Debido a la naturaleza orientada a objetos del modelo de ThingWorx, se pueden definir "componentes" reutilizables y luego utilizar los componentes para definir cosas en el modelo. Los cambios en los componentes reutilizables se reflejan automáticamente en las cosas que esos componentes definen. La idea es definir los funcionamientos en un solo lugar y que todos los objetos heredados funcionen según la definición actual de los objetos padre. De esta manera, no es necesario realizar los mismos cambios en muchas cosas cuando se requiera una actualización.
Las definiciones de cosa y las plantillas de cosa se han implementado para que el modelo de herencia sea simple de conservar. Las definiciones de cosa son los componentes base de definición. Cuando una cosa o una plantilla de cosa comparte la definición de una definición de cosa, se dice que la cosa o la plantilla de cosa "implementa" la definición de cosa. Por lo general, las definiciones de cosa deben tener funcionamientos únicos, lo que significa que ejecutan un conjunto único de servicios y capacidades. Una plantilla de cosa puede implementar más de una definición de cosa. Se recomienda definir una cosa empleando una plantilla de cosa.
Examinemos un ejemplo sencillo. Un sitio tiene varios tipos diferentes de equipos. Cada pieza de equipo realiza una función muy diferente en el sitio. Para simplificar, supongamos que hay tres tipos de equipo:
Transformador
Mezclador
Controlador de aire
El sitio puede tener cinco transformadores, veinte controladores de aire y doce mezcladores. Cada uno de estos tres tipos de equipo es muy diferente. No obstante, también puede haber algunas coincidencias. Supongamos que el sistema ERP de la empresa efectúa el seguimiento de cada pieza de equipo y, por consiguiente, tienen datos comunes (propiedades de cosa). Supongamos también que los controladores de aire y los transformadores necesitan actualizar el sistema de gestión de mantenimiento sobre métricas utilizadas para el mantenimiento en función de las condiciones (CBM).
Al analizar este modelo físico y decidir cómo trasladarlo al modelo de ThingWorx, existen tres agrupaciones distintas de funcionamiento que se deben tener en cuenta:
1. Funcionamiento de activo ERP
2. Funcionamiento de mantenimiento en función de las condiciones
3. Funcionamiento específico del tipo de equipo
En este ejemplo, se van a definir al menos dos definiciones de cosa para aprovechar la forma en que funciona el modelo de ThingWorx. Son las siguientes:
1. Definición de cosa ERP_Asset: puesto que cada pieza de equipo del sitio tiene esto en común. De esta manera, cualquier cambio en la definición de cosa ERP_Asset se reflejará automáticamente en cada pieza de equipo del sitio.
2. CBM_Asset: puesto que más de un tipo de activo requiere esta capacidad, defínala como definición de cosa y las cosas de implementación heredarán los cambios. Si el mantenimiento de los mezcladores pasa a un modelo CBM en el futuro, se puede hacer que los mezcladores implementen esta definición de cosa a través de la plantilla de cosa de mezclador (que se explica a continuación) y no tener que actualizar todos sus mezcladores.
Ahora, se pueden crear tres plantillas de cosa, una para cada uno de los tipos de equipo. Las plantillas de cosa se han diseñado para facilitar la creación y el mantenimiento de cosas de una definición específica. Con las tres plantillas de cosa de tipo de equipo de este ejemplo se puede crear una cosa que represente un activo específico utilizando tan solo la plantilla de cosa y asignando a la cosa un nombre exclusivo.
Plantilla de cosa Transformer
La plantilla de cosa de transformador se definiría mediante la implementación de las definiciones de cosa ERP_Asset y CMB_Asset. Todas las propiedades específicas, los servicios, los eventos y las suscripciones de los transformadores también se deben definir en la plantilla de cosa de transformador. A continuación, para cada transformador, utilice la plantilla de cosa de transformador y un nombre único para definir el transformador en el modelo de ThingWorx.
Como alternativa, también se podría definir una definición de cosa de transformador. En este caso, la plantilla de cosa de transformador implementaría tres definiciones de cosa: ERP_Asset, CMB_Asset y transformador. Este enfoque funciona correctamente, pero no es necesario si otras plantillas de cosa no van a implementar la definición de cosa de transformador.
Plantilla de cosa Mixer
La plantilla de cosa de mezclador se definirá mediante la implementación de la definición de cosa ERP_Asset. Los mezcladores no utilizan el modelo de mantenimiento de CBM, por lo que no es necesaria la definición de cosa relacionada. Todas las propiedades específicas, los servicios, los eventos y las suscripciones de los mezcladores también se deben definir en la plantilla de cosa de mezclador. A continuación, para cada mezclador, se debe utilizar la plantilla de cosa de mezclador y un nombre exclusivo para definir el mezclador en el modelo de ThingWorx.
Plantilla de cosa AirHandler
La plantilla de cosa de climatizador es similar a la plantilla de cosa de transformador. Debe implementar las definiciones de cosa ERP_Asset y CMB_Asset. Todas las propiedades específicas, los servicios, los eventos y las suscripciones de los controladores de aire también se deben definir en la plantilla de cosa AirHandler. A continuación, para cada controlador de aire, utilice la plantilla de cosa AirHandler y un nombre exclusivo para definir el controlador de aire en el modelo de ThingWorx.
Ahora que se han definido todos los activos, se dispone de un modelo que se puede mantener muy bien. Si se requieren cambios en ERP_Asset, se pueden realizar y probar en un único lugar. Después de la implementación, cada pieza de equipo del sitio heredará automáticamente la nueva funcionalidad.