Arquitectura del componente
Composición de componentes de ThingWorx Navigate
Los componentes de ThingWorx Navigate son componentes compuestos. Se componen de subcomponentes más pequeños que juntos crean componentes potentes que añaden valor empresarial.
Normalmente cada componente de ThingWorx Navigate consta de dos subcomponentes, un subcomponente de interfaz de usuario y un subcomponente de lógica empresarial.
Subcomponente de interfaz de usuario
El subcomponente de interfaz de usuario puede ser de uno de los dos tipos siguientes:
Mashup: un mashup de ThingWorx con varios widgets y enlaces.
Widget: un único widget creado fuera de ThingWorx que se ha empaquetado e importado en ThingWorx. Normalmente se escribe en tecnología de componentes web.
El subcomponente de interfaz de usuario se comunica con el subcomponente de lógica empresarial a través de los servicios.
Subcomponente de lógica empresarial
El subcomponente de lógica empresarial recupera y procesa los datos empresariales de los sistemas back-end. El subcomponente de lógica empresarial está formado por entidades de ThingWorx, tales como definiciones de cosa, plantillas de cosa y cosas. Se comunica con el subcomponente de interfaz de usuario a través de los servicios.
Los subcomponentes de lógica empresarial están diseñados para permitir personalizaciones eficaces. Proporcionan la capacidad de:
1. Personalizar la lógica empresarial que recupera y procesa los datos
2. Añadir nuevos puntos de configuración para soportar la personalización de lógica empresarial
Los subcomponentes de lógica empresarial siguen el modelo de ThingWorx general para activar la personalización. Una plantilla de cosa abstracta conocida como la lógica empresarial base contiene todas las funciones comunes para el subcomponente de lógica empresarial. Cada implementación específica se realiza en una plantilla de cosa conocida como la implementación de lógica empresarial. Puesto que los servicios de ThingWorx solo se pueden ejecutar en una cosa, cada plantilla de cosa de implementación de lógica empresarial debe implementarse mediante una cosa.
Configuración de componentes
Los componentes de ThingWorx Navigate se pueden configurar de forma inherente. Durante el tiempo de diseño, al añadir un componente a un mashup, todos los parámetros de configuración del componente se pueden especificar como un único objeto JSON de configuración. En el futuro, el plan es proporcionar una interfaz de usuario que permita definir cada parámetro individualmente.
La estructura del objeto de configuración basado en JSON se define dentro de la lógica empresarial base. Esta definición de la estructura de configuración se denomina definición de componentes. Sirve de esquema para el JSON de definición y define los parámetros de configuración que están permitidos, si determinados parámetros son obligatorios y en qué parte de la estructura de configuración reside cada parámetro.
La lógica empresarial base también incluye puntos específicos de la definición de componentes que se pueden extender. Estos puntos se denominan enlaces de definición y los servicios de enlaces desestimables se conectan a estos puntos. La implementación de lógica empresarial utiliza estos servicios de enlaces para extender la definición de componentes para que acepte parámetros de configuración adicionales necesarios para la implementación específica. Esta definición de componentes extendida se denomina definición de implementación.
Por diseño, los componentes de ThingWorx Navigate son sólidos. Por lo tanto, un objeto JSON de configuración típico consta de docenas de parámetros que se deben configurar. Para acelerar el trabajo y evitar errores innecesarios, ThingWorx Navigate envía una o varias configuraciones predefinidas con cada componente. Cada una de las configuraciones predefinidas se nombra y se puede seleccionar al configurar un componente. Una vez que se haya seleccionado una configuración predefinida, el JSON de configuración completo se rellenará automáticamente en el cuadro de configuración y se podrán realizar pequeños ajustes en la configuración sin necesidad de crear el JSON de configuración completo.
Ejemplo
Para ilustrar la arquitectura descrita anteriormente, echemos un vistazo al componente Lista de elementos.
Lista de elementos
¿Fue esto útil?