Conceptos de Rules
Las Rules son el núcleo de cómo funciona Clarive.
Las Rules definen cómo se comporta el sistema cuando ocurren eventos, cómo construir, probar, aprovisionar y desplegar aplicaciones y se utiliza para personalizar el aspecto y el comportamiento de workflows, formularios y dashboards, entre otros.
Las Rules son el centro principal para personalizar Clarive. A diferencia de otras herramientas, nuestra intención es prevenir que la personalización ocurra desde el exterior. La personalización de Clarive debe ocurrir desde dentro.
Las Rules son algoritmos que son Turing completos. Se ven como programas de computadora, pero son más fáciles de leer y comprender porque cada instrucción del programa es una operación, "op" para abreviar.
Un IDE de DevOps¶
Las Rules se definen, verifican y prueban utilizando el poderoso Rule Designer de Clarive.
El rule designer contiene todas las reglas definidas en el sistema. En el rule designer no solo diseñamos nuestra lógica de reglas, sino que también ejecutamos pruebas y verificamos la calidad de las reglas. Por esta razón, el rule designer puede compararse con un IDE completo.
La paleta del rule designer de Clarive ofrece cientos de operaciones, algunas de ellas disponibles después de instalarlas con plugins y características de Clarive. Las operaciones en la paleta también pueden extenderse con plugins que registran nuevas operaciones de paleta.
Olvídese de los Diagramas de Flujo¶
Preferimos las rules, y su naturaleza de árbol, a los diagramas de flujo. La lógica de personalización puede volverse MUY grande rápidamente, y no hay nada más fácil de navegar que árboles anidados que pueden caber razonablemente en una pantalla de computadora. Los canvas de automatización similares a diagramas de flujo solo son buenos para una automatización más simple dirigida a usuarios no técnicos. Los usuarios de Clarive, por otro lado, están acostumbrados al código y al scripting hasta cierto punto.
Los diagramas de flujo son excelentes para las clases de ciencias de la computación y mayormente murieron en los años 90, junto con las herramientas CASE y UML. ¿Alguna vez se preguntó dónde han ido las herramientas basadas en diagramas de flujo del pasado?
Bifurcación y ramificación¶
Aunque son árboles de decisión (estructuras anidadas), las reglas pueden bifurcarse y ramificarse, ejecutando procesos en paralelo.
Simplemente elija cualquier operación en la regla y aplique la opción fork en las propiedades de la operación.
Masivamente Paralelo¶
Las Rules se ejecutan concurrentemente en Clarive. Pueden ejecutarse en tantos servidores como desee. Simplemente instale el software del servidor Clarive en cada uno e inicie un demonio Dispatcher. El Dispatcher iniciará y supervisará la cola de eventos que ejecuta reglas (en realidad, son reglas de eventos).
Control de Concurrencia¶
Las operaciones de reglas pueden tener zonas críticas sin concurrencia. Estas se llaman semaphores en la jerga de Clarive.
Use semaphores en las reglas para controlar cuántas reglas paralelas pueden ejecutar una cierta operación simultáneamente.
Basado en Eventos¶
Las Rules son ideales para activación basada en eventos. Cuando ocurre X, haz Y. Define reglas de eventos para activar tu lógica de reglas cada vez que ocurra un evento.
Evitar Duplicación¶
Use reglas independent para estructurar su código común en fragmentos independientes. De esa manera podemos evitar duplicar lógica en todas partes.
Las reglas Independent se pueden llamar con parámetros.
Plantillas de Variables¶
Las Rules pueden hacer uso de variables para configurar y personalizar las operaciones que se ejecutan. Las variables se pueden establecer a niveles globales, de entorno o de proyecto.
Las variables son componibles: las variables pueden contener variables. Sus valores se analizan y completan dinámicamente por Clarive para que sean posibles muchos niveles de plantillas.
Serialización de Rules¶
Las Rules mantienen su estado en algo llamado Stash.
Los Stashes pueden serializar el estado de la regla a la base de datos y de vuelta, simplificando enormemente la forma en que se gestiona el estado de las reglas.
Poner Código en Rules¶
Las Rules pueden contener fragmentos de código, para mayor flexibilidad. El código de reglas se puede escribir utilizando el DSL JavaScript de Clarive, ClaJS.
Use fragmentos de código para las mayores hazañas de codificación que no se pueden lograr con las muchas operaciones disponibles en la paleta.
Otras reglas¶
- Report - Crea un informe con código de regla. Para más información, hay un how-to llamado Create a report.
- Webservice - Permite integrar webservices en reglas.
- Workflow - Permite crear un workflow con reglas. Para que funcione, la regla debe incluirse en la configuración de la categoría.
- Independent - Pequeñas reglas para incluir dentro de reglas más complejas, simplificando el sistema.
- Dashboard - Regla que permite al usuario crear un dashboard personalizado con componentes dashlets.
- Form - Regla compuesta por fieldlets que dan forma al formulario de un topic.
- Blueprint - Regla compuesta por variables y cuando se asigna a nature construye el formulario de variables del proyecto.
Stash¶
El Stash de las reglas es el sistema de Clarive que mantiene el estado del pase entre ejecuciones. Las variables Stash se utilizan para comunicarse entre tareas y se utiliza para reemplazar las variables en las diferentes configuraciones.