Capacidades del Motor de Scripting en SIB SOFIA2

Una de las capacidades más interesantes y útiles del SIB de SOFIA2 es su capacidad de poder ejecutar ciertas reglas/scripts ante la inserción/actualización/borrado de una instancia de ontología.

Sus características principales son:

  • Gestión de Scripts desde Consola Web (+API REST) que permite establece el IF, THEN, ELSE y ERROR

  • Scripts temporizados: estos scripts se ejecutan cada cierto tiempo, este tiempo se define en un cron:

  • Scripts ante recepción de una instancia de ontología

  • Scripts tienen acceso a un conjunto de APIS (Operaciones): los scripts pueden acceder a un conjunto de APIs acotadas que permiten ejecutar acciones como Enviar Mail, Invocar URL, Insertar instancia de Ontología, Consultar instancias de una Ontología, Borrar instancia de Ontología, … Por eejmplo:

  • Capacidad para crear nuevas APIs: los usuarios administradores pueden crear desde la web nuevas APIs, que estarán disponibles a los usuarios de la Plataforma:

  • Ejecución asíncrona: para no afectar a la capacidad de procesamiento del SIB los scripts ejecutan en una JVM separada y de forma asíncrona.
  • Seguridad en los scripts: los scripts se ejecutan en un contexto seguro, lo que garantiza que un error en un script afecte al resto, además tienen un tiempo de timeout en su invocación.
  • Lenguaje de scripting sencillo y potente: los scripts se definen en lenguaje Groovy (http://groovy.codehaus.org) compilable a Java en ejecución
  • Control de errores: dentro del script se puede controlar cuando se produce un error en la ejecución de este

· Acceso a variables de contexto: dentro de los scripts se tienen acceso a estas variables:ontology Datos de la Ontología insertada o actualizada.

o ontologyName Nombre de la Ontología insertada o actualizada.

o ontologyId Lista con lo Id de la instancia de la Ontología insertada de las instancias actualizadas.

o typeMessage Tipo de operación que ha desencadenado el Script INSERT / UPDATE

o sessionKey SessionKey que ha realizado la inserción o la actualización. Estas variables están accesibles en los scripts ante eventos, no en los scripts temporizados

o scriptName Nombre del Script que se ha lanzado. Esta variable está disponible en todos los Script.

o Error Excepción generada.

Capacidades del Motor de Scripting en SIB SOFIA2

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s