Este módulo tiene como finalidad facilitar la implementación en el servidor, de lógica de negocio transaccional avanzada (multi-tabla, encadenada, recursiva,…), utilizando un enfoque declarativo basado en reglas.
Su utilización permite reducir drásticamente el esfuerzo de desarrollo y mantenimiento de las aplicaciones, así como mejorar significativamente el rendimiento y la escalabilidad de las mismas en entornos de producción con grandes volúmenes de datos.
También permite asegurar la integridad de la información, más allá de las simples relaciones de parentesco, rango y tipo definidas en un esquema de base de datos relacional.
Expresiones de comparación multi-atributo (columna) y multi-entidad (tabla) que limitan el valor que puede adoptar un atributo, respecto al valor de otros atributos dentro de la misma tupla (fila) o de los valores de los atributos de entidades relacionadas. Este tipo de lógica asegura la integridad de los datos. Por ejemplo, una restricción sería “el límite de crédito de un cliente tiene que ser mayor o igual que su saldo” [Cliente.limiteCredito >= Cliente.saldo].
Expresiones de asignación que permiten calcular el valor de un atributo de una entidad como una función de los valores de un atributo de una entidad hija. Por ejemplo: “el saldo de un cliente es la suma de los importes de las facturas que están pendientes de pago” [Cliente.saldo = SUMA (Factura.total) DONDE Factura.pendiente ES verdadero].
Expresiones de asignación multi-atributo y multi-entidad que permiten calcular el valor de un atributo en función del valor de otros atributos de la misma entidad o de entidades relacionadas. Por ejemplo: “el total de la línea de factura es igual al precio del producto por la cantidad” [LineaFactura.total = LineaFactura.precio * LineaFactura.cantidad].