Patrón de diseño estándar
El patrón de diseño estándar proporciona la forma más sencilla de desarrollar un bloque de creación que se adhiere a la estructura del bloque de creación y permite el descubrimiento por parte del resto de la solución. Este es el patrón de diseño más común que se utiliza al desarrollar bloques de creación. Este tipo de bloque de creación puede contener elementos de interfaz de usuario, así como lógica empresarial y almacenamiento de datos. Es ideal para su uso por parte de equipos de campo o clientes que desean crear su propia funcionalidad además del contenido proporcionado por PTC.
En el siguiente diagrama se representan los requisitos fundamentales para que un conjunto de entidades se considere un bloque de creación.
En el diagrama, las flechas con cabezas huecas y líneas continuas (
) indican que una entidad se extiende desde la entidad a la que apunta la flecha, y las flechas con cabezas huecas y líneas de guiones (
) indican que una entidad implementa la entidad a la que apunta la flecha.
Entidades necesarias
Las siguientes entidades son necesarias para el patrón de diseño estándar:
• Proyecto: entidad de proyecto de ThingWorx que contiene las entidades de bloques de creación. La convención de asignación de nombres recomendada incluye el nombre de proyecto en los nombres de todas las entidades que forman parte del bloque de creación. Por ejemplo, si el proyecto se denomina PTC.BuildingBlock, los nombres de todas las entidades del bloque de creación comienzan por el nombre del proyecto: PTC.BuildingBlock.EntryPoint, PTC.BuildingBlock.Management_TS, etc.
• Punto de entrada: heredado de la plantilla de cosa PTC.Base.ComponentEntryPoint_TT, esta entidad contiene todos los metadatos del bloque de creación, como el nombre, la descripción, la versión, la lista de bloques de creación dependientes, etc. Cada bloque de creación se hereda de la plantilla de cosa PTC.Base.ComponentEntryPoint_TT para su propia plantilla de cosa de punto de entrada, por ejemplo, PTC.BuildingBlock.EntryPoint_TT. Se crea una cosa de punto de entrada a partir de esta plantilla de cosa, por ejemplo, PTC.BuildingBlock.EntryPoint. El servicio DeployComponent de una cosa de punto de entrada se puede sustituir para realizar una acción cuando el bloque de creación se implementa por primera vez en el servidor de ThingWorx.
• Administrador: el administrador del bloque de creación es la capa de servicio principal del bloque de creación, que proporciona varias funciones para el bloque de creación. En primer lugar, actúa como una capa de abstracción para las entidades que llaman al bloque de creación. En segundo lugar, se utiliza para configurar elementos de menú y mashups contenidos, y para decidir qué administradores se deben utilizar cuando se defina más de uno. Cada bloque de creación debe tener una plantilla de cosa del administrador que se extienda desde PTC.Base.CommonManager_TT, por ejemplo, PTC.BuildingBlock.Manager_TT. El propio administrador es una cosa basada en la plantilla de cosa del administrador del bloque de creación. La plantilla de cosa del administrador también implementa una definición de cosa (PTC.BuildingBlock.Management_TS). Esta definición de cosa debe contener todos los servicios necesarios para el bloque de creación. Para los bloques de creación desarrollados por PTC, estos servicios se pueden sustituir como una personalización, lo que permite a los desarrolladores de soluciones sustituir los servicios por defecto para sus propios fines. Para obtener más información, consulte .
Entidades opcionales
En el siguiente diagrama se muestran las entidades opcionales que se pueden incluir en el patrón de diseño estándar. En el diagrama, el bloque de creación PTC.MfgModel se utiliza como un ejemplo de un bloque de creación con un modelo, un activo o una jerarquía de equipos, cuyas plantillas de cosa implementan la definición de cosa de lógica del modelo en el bloque de creación del patrón de diseño estándar. Las entidades con contornos de guiones son entidades opcionales que se incluyen en este patrón para los propósitos específicos que se describen a continuación. También se pueden incluir otras entidades de ThingWorx en el patrón de diseño estándar, pero estas entidades tienen un significado específico.
En el diagrama, las flechas con cabezas huecas y líneas continuas (
) indican que una entidad se extiende desde la entidad a la que apunta la flecha, y las flechas con cabezas huecas y líneas de guiones (
) indican que una entidad implementa la entidad a la que apunta la flecha.
En el patrón de diseño estándar se incluyen las siguientes entidades opcionales:
• Entidades de seguridad: los grupos de usuarios de permisos se pueden crear y utilizar para definir distintos permisos para cada bloque de creación. Un rol de usuario es simplemente otro grupo de usuarios que se añade a cada uno de los grupos de usuarios de permisos.
• Mashups: el patrón de diseño estándar permite añadir mashups como parte de la funcionalidad del bloque de creación. Pueden ser mashups principales que están vinculados al mashup maestro o mashups contenidos que se utilizan en diferentes bloques de creación. El desarrollador de bloques de creación es el que determina qué funciones se encuentran en cada bloque de creación.
• Entidades de lógica del modelo: la definición de cosa de lógica del modelo está diseñada para que la utilicen los mashups u otros componentes que impongan la seguridad de la organización para el equipo usando las organizaciones según las necesidades de ThingWorx. Esto es necesario si el caso de uso requiere el control de visibilidad para el equipo individual. Los servicios contenidos en la definición de cosa de lógica del modelo se aplican a las entidades jerárquicas de equipo. Proporcionan servicios encapsulados para llamar al administrador configurado adecuado a través de la definición de cosa de gestión del bloque de creación. Todos los administradores se registran en la tabla de configuración DefaultGlobalManagerConfiguration de la cosa PTC.BaseManager. Los administradores también se pueden configurar en la tabla de configuración ManagerConfiguration de cualquier entidad que implemente la definición de cosa PTC.Base.ConfigManagement_TS, como la cosa del administrador de un bloque de creación o una cosa de modelo del equipo que se basa en una plantilla de cosa que implementa la definición de cosa (por ejemplo, PTC.MfgModel.DefaultWorkUnit_TT). Esto permite que diferentes modelos utilicen distintos administradores. Por ejemplo, dos sitios pueden tener distintos administradores que deseen utilizar ya que obtienen datos de diferentes orígenes.
Cuando un servicio hace referencia a otro administrador, primero busca en la tabla ManagerConfiguration de la entidad que llama al servicio para ver si hay una entrada configurada para el administrador de referencia. Si no encuentra ninguna entrada allí, el servicio busca en la tabla de configuración DefaultGlobalManagerConfiguration de la cosa PTC.Base.Manager.