Plantillas de cosa
Las plantillas de cosa proporcionan la funcionalidad base con propiedades, servicios, eventos y suscripciones que las instancias de
cosa utilizan en su ejecución. Cada cosa se crea a partir de una plantilla de cosa. Una plantilla de cosa puede extender otra plantilla de cosa. Cuando se lanza una nueva versión de un producto, simplemente se añaden las características adicionales de la versión sin tener que redefinir todo el modelo. En esta configuración de modelo se proporcionan varios niveles de generalización de un activo. Una plantilla de cosa puede derivar una o varias características adicionales mediante la implementación de definiciones de cosa. Al realizar un cambio en la plantilla de cosa, el cambio se propaga a las cosas que implementan dicha plantilla de cosa y se simplifica el mantenimiento del modelo.
Una plantilla de cosa se puede utilizar para clasificar la clase de una cosa o la clase de activo, o como un modelo de producto específico con prestaciones únicas. Si existen dos modelos de producto y su interacción con la solución es la misma (las mismas propiedades, servicios y eventos), se pueden modelar como una sola plantilla de cosa. Las plantillas de cosa se pueden clasificar para agregar cosas a recopilaciones que son útiles en los mashups. Las plantillas de cosa se pueden separar para la indexación, búsquedas y evoluciones futuras de los productos.
Plantillas de cosa definidas por el sistema
Hay varias plantillas de cosa definidas por el sistema que se pueden utilizar para crear cosas para tareas específicas. Algunas de estas plantillas de cosa pueden resultar convenientes como utilidades para varios servicios y prestaciones al crear aplicaciones.
Las plantillas de cosa definidas por el sistema son las siguientes:
• Blog: una cosa de blog se utiliza para implementar un blog, comentarios u objetos de colaboración de foro de discusión en los mashups.
• Content Crawler: una cosa diseñada para controlar una interfaz específica de un sistema externo o un área de contenido. Se define un servicio para obtener una lista de contenido externo que se desea indexar, además de un servicio para recuperar los detalles de cada objeto de contenido. A continuación, ThingWorx indexará los datos y hará que estén disponibles a través de las funciones de búsqueda de ThingWorx.
• Database: una conexión JDBC a cualquier sistema de base de datos relacional de terceros.
• Data Table : una tabla de datos es similar a una tabla de una base de datos relacional y se puede utilizar para almacenar filas de datos transaccionales en ThingWorx.
• File Repository: una entidad definida de ThingWorx para almacenar contenido de ficheros externos. Cuando se transfieren ficheros a una cosa de periferia o desde ella, se hace desde o a un almacén específico. Un almacén de ficheros apunta a una carpeta de la carpeta ThingWorxStorage/almacén del servidor. Los servicios de un almacén de ficheros permiten ver y manipular los ficheros de su carpeta.
• Generic Thing : una cosa base con características heredadas mínimas. Es una práctica recomendada definir una plantilla de cosa personalizada. Sin embargo, puede haber casos en los que el usuario disponga de una definición de cosa única y desee utilizar una cosa genérica.
• Mail Server : se puede crear una cosa de servidor de correo si desea enviar mensajes por correo electrónico desde la aplicación.
• Edge: una cosa Edge es un dispositivo o un origen de datos que se instala en otro servidor, normalmente a través de una barrera de seguridad para una red diferente. Una cosa Edge se comunica con el servidor a través de un EMS instalado localmente. Un ejemplo de una cosa Edge es un servidor OPC-DA.
• Edge Database: una cosa de base de datos Edge sirve para comunicarse con una base de datos o un origen de datos OLE DB o ADO.NET en otro servidor o estación de trabajo. Microsoft Excel o Microsoft Access son ejemplos de base de datos Edge.
• Edge Enhanced: una cosa de modelo de servidor que corresponde a un dispositivo o un almacén de datos instalado remotamente y que debe soportar la tunelización de escritorio remoto o la transferencia de ficheros.
• Scheduler: una cosa de programador se puede utilizar para ejecutar trabajos basados en un patrón CRON, por ejemplo, una vez al día o una vez cada hora.
• Source Control Repository : un almacén de control de origen puede apuntar a cualquier carpeta del sistema de ficheros del servidor, que puede ser la raíz del almacén local. Lo utilizan las opciones > .
• Stream: almacenamiento de datos de serie temporal.
• Timer: un temporizador sencillo que desencadena un evento en un intervalo definido.
• Wiki: un objeto de colaboración para compartir documentos y comentarios relacionados en los mashups.
Cuando se crea una instancia específica de una de las plantillas de cosa del sistema, se puede configurar para satisfacer las necesidades empresariales y el entorno de IoT.
Plantillas remotas definidas por el sistema
Se pueden utilizar varias plantillas de cosa definidas por el sistema para comunicar sobre Web sockets con dispositivos Edge o almacenes de datos. RemoteThing es la convención de asignación de nombres para utilizar WebSockets para comunicarse con otro nodo u otra cosa en la red. Las plantillas de cosa para WSEMS y los SDK son las siguientes:
• RemoteDatabase: origen de datos OLE DB remoto.
• RemoteThing: una cosa remota sin necesidades de transferencia de ficheros ni tunelización. También se utiliza para cosas de origen de datos OPC-DA. Soporta propiedades, servicios y eventos.
• RemoteThingWithFileTransfer: una cosa remota más la activación de la transferencia de ficheros.
• RemoteThingWithTunnels: una cosa remota más la activación de la tunelización.
• RemoteThingWithTunnelsAndFileTransfer: una cosa remota con transferencia de ficheros y tunelización.
• EMSGateway: la plantilla de cosa EMSGateway se utiliza cuando se desea poder gestionar WSEMS como cosa autónoma. Esto puede resultar útil en situaciones donde WSEMS se ejecute en un ordenador de gateway y gestione la comunicación para uno o varios objetos RemoteThing, que pueden residir en distintas direcciones IP dentro de una red de área local.
• SDKGateway: similar a EMSGateway, pero se emplea cuando se utiliza una implementación de SDK como gateway.
Además de las plantillas de cosa anteriores, las siguientes plantillas remotas se pueden utilizar en un escenario de almacenamiento federado, donde se descargan los objetos de persistencia en otro servidor que está optimizado para E/S de disco:
• RemoteStream: permite crear un objeto Proxy local para una cosa de flujo que ejecuta y persiste datos en otro servidor ThingWorx.
• RemoteValueStream: permite crear un objeto Proxy local para una cosa de flujo de valor que ejecuta y persiste datos en otro servidor ThingWorx.
• RemoteDataTable: permite crear un objeto Proxy local para una cosa de tabla de datos que ejecuta y persiste datos en otro servidor ThingWorx.
• RemoteBlog: permite crear un objeto Proxy local para una cosa de blog que ejecuta y persiste datos en otro servidor ThingWorx.
• RemoteWiki: permite crear un objeto Proxy local para una cosa de Wiki que ejecuta y persiste datos en otro servidor ThingWorx.
Creación de plantillas de cosa con una extensión
Las plantillas de cosa que se crean con una extensión son básicamente las mismas que las que se crean en ThingWorx Composer. Son plantillas base que se utilizan para crear cosas con las mismas propiedades, parámetros de configuración y servicios. La diferencia entre crearlas en Composer y dentro de un marco de extensión es el idioma que se utiliza para los servicios y la visibilidad de los servicios.
Plantilla de Composer:
• Utiliza JavaScript para los servicios.
• El código fuente está visible.
Plantilla de Extension SDK:
• Utiliza Java para los servicios.
• El código fuente no está visible.
• Se pueden definir valores de configuración.