• No results found

Modeling and methods ··············································································

Chapter 5 Configuration and Interaction Energies of a Single PAG Copolymer

2. Modeling and methods ··············································································

Para realizar un análisis exhaustivo de las posibles transformaciones a realizar en una regla de negocio, se asume la representación de estas en lenguaje técnico usando la notación Punto(Pérez Alonso, 2008b).

22

Según (Marrero Lorenzo, 2009) Cuando una política del negocio se modifica o cambia, la regla asociada también debe modificarse. Para lograr la modificación de una regla, se tienen en cuenta ciertas consideraciones muy importantes:

 El identificador de la regla no puede ser modificado.  El sujeto de la regla no se modifica

Estas limitaciones de no permitirse la modificación del sujeto y el identificador están dados porque, en caso de permitirlo se estaría refiriendo a una nueva regla y no a una modificación. EL identificador de la regla y el sujeto, identifican a la regla que se desea modificar(Marrero Lorenzo, 2009).

Cuando se aplica una regla de negocio, es porque se necesita que los datos cumplan dicha regla. Con el tiempo las restricciones asociadas al negocio pueden cambiar; y por tanto esto lleva a modificar una regla que está siendo utilizada por la base de datos.

La modificación de una regla, puede o no entrar en contradicción con alguna de la información contenida en la base de datos. Es necesario analizar, qué hacer con los datos que cumplen la restricción original de la regla que se propone transformar; pero que entran en contradicción con la modificación que se quiere implantar (Marrero Lorenzo, 2009).

Debido a su naturaleza dinámica, las reglas de negocio pueden cambiar con el tiempo (Bajec and Krisper, 2001) , ante las modificaciones de las reglas se admiten dos maneras de considerar estas modificaciones:

1. Cambiar la regla sin guardar la versión anterior.

2. Cambiar la regla guardando las versiones de la regla, en el tiempo.

Cuando una regla se modifica y pertenece a una de las categorías estudiadas en el presente trabajo, los datos que se inserten o modifiquen pueden ser tratados con la nueva regla a partir del momento del cambio. La problemática se reduce a sustituir la regla anterior por la actual, y administrar los datos nuevos y los antiguos con la nueva versión de la regla ante los eventos sobre la base de datos.

En determinados casos, puede ser necesario tratar los datos con las versiones de las reglas de negocio que estaban activas cuando estos fueron creados en la base de

23

datos y para esto es necesario trabajar con las versiones e historial de las reglas de negocio.

1.10.1 Versiones de reglas de negocios.

Guardar la versión de cada regla, permite conocer la historia de las versiones: el camino de derivación. Un esquema de estas derivaciones se propone en (García Pérez, 1997) , representada en forma de árbol, como se muestra en la Figura 1.2. Los nodos del árbol identifican las versiones y los arcos representan las interrelaciones de derivación entre las versiones de reglas.

Se propone crear un árbol cuya raíz es un nodo de nivel cero denominado RN (0), así todas las reglas se derivan de este nodo. Se establece el valor cero para el atributo versión del nodo raíz; este valor nunca cambia.

Figura 1.2 Historia de versiones de reglas de negocio.

Los nodos que se encuentran en el nivel uno corresponden a las reglas que se crean antes de insertar datos en la BD, son las primeras versiones de las reglas, los que se encuentran en el nivel dos corresponden a las distintas versiones (los cambios) de las reglas del nivel uno, se tienen tantos niveles como existan versiones de una misma regla, de esta manera se define la relación padre-hijo. Se tienen tantas versiones de reglas como se necesite en el negocio.

Al insertar una regla nueva, su atributo padre_versión es igual a cero pero si esta regla se modifica, el nodo hoja tomará en padre_versión el valor del atributo versión, de la regla que esta se derivó.

24

1.10.2 Operaciones sobre las reglas de negocio

Las reglas, almacenadas en un repositorio, pueden ser insertadas, actualizadas y eliminadas. Las reglas deben ser implementadas por primera vez cuando pasan a estado activo; cuando se inserten datos, estos se van a regir por las reglas activas en el momento de creación.

1.10.3 Mantenimiento de las reglas de negocio de restricción y su correspondencia con los datos.

La concepción de implementar reglas de negocio requiere también del análisis acerca de la modificación de estas en el tiempo. Cuando una regla es modificada, usando la variante de guardar las versiones de las reglas, y considerando la necesidad de conservar la coherencia de los datos con las mismas reglas utilizadas para su creación , se necesita conocer cuáles tuplas de qué tablas (representantes de entidades del negocio) fueron insertadas con cuál versión de qué regla.

Se analizan diferentes variantes para realizar el mantenimiento de las reglas de negocio, con el objetivo de poder aplicar las reglas vigentes cuando se insertó cada tupla, independientemente si las versiones de estas reglas están activas o no en el momento en que los datos son evaluados. Se estudian tres maneras organizadas en dos variantes.

1. Asociación datos-tiempo.

2. Asociación datos-reglas mediante: a. Una bitácora.

b. Tablas de relación tupla-regla.

La variante Asociación datos-reglas mediante: Tablas de relación tupla-regla en la BD, es seleccionada porque resulta más ventajoso con respecto a la velocidad para hacer búsquedas en la base de datos.

1.10.4 Asociación datos-reglas mediante: Tablas de relación tupla-regla

Se propone adicionar a la base de datos la tabla Regla, y tablas de asociación tupla- regla, procedentes de interrelaciones muchos-muchos (N: M) entre una regla y las tuplas insertadas bajo su acción.

25

Regla constituye una tabla con los identificadores de las reglas, y sus atributos principales, las interrelaciones RelacionTablaiRegla conformarán tablas que tendrán la llave primaria compuesta por los atributos llaves de las tablas de la BD del negocio y de la tabla Regla.

Cuando se realiza una operación de inserción, eliminación o actualización de una regla se actualiza la tabla Regla, y se mantienen actualizadas las tablas de asociación tupla-regla, para cada uno de los eventos sobre las tablas implicadas.