III. CONSIDERACIONES SOBRE LA IMPLEMENTACIÓN Y EL USO DE LA
III.2 Características generales del la herramienta generadora de reglas de negocio
Para la validación del traductor y debido la necesidad de contar con un producto que pudiera servir de prueba para las funcionalidades del traductor, se creó una herramienta que permite transformar en recursos de bases de datos las reglas de negocio expresadas en LPT. La herramienta está asociada a casos de uso similares a las herramientas que se obtuvieron como resultado en (Garcell, 2010, Toledo, 2009, Alonso, 2008). Entre las novedades de este software se puede destacar la integración con la Herramienta para la extracción de información del catálogo, creada en (Díaz,
2010) y mejorada en este trabajo. Para que la aplicación pueda ejecutarse correctamente es necesario contar con una base de datos física en la cual se van a implementar las reglas.
En (Díaz, 2010) se hace referencia a una configuración necesaria para el funcionamiento de la Herramienta de Extracción de Información del Catálogo. Esta configuración no es más que la creación de un Origen de Datos para SQL Server. La creación de este nuevo origen de datos para la conexión de la herramienta a una base de datos sobre SQL Server se muestra a continuación.
Figura 20 .Crear un nuevo origen de datos ODBC.
Los pasos para la conexión con MS SQL Server, debido a su necesidad para el funcionamiento completo de la herramienta, se describen a continuación:
1. Acceder al Panel de Control, en Herramientas Administrativas 2. Seleccionar Orígenes de datos ODBC.
3. Seleccionar la opción Agregar (Para crear un nuevo origen de datos). 4. Seleccionar el driver ODBC para SQL Server.
5. Especificar el nombre para referirse al nuevo origen de datos. 6. Especificar el nombre del Servidor.
7. Especificar cómo desea que SQL Server compruebe la autenticidad del Identificador inicio de sesión.
8. Establecer la base de datos en cuestión como predeterminada. 9. Comprobar orígenes de datos.
La comprobación efectuada para la conexión es la siguiente.
Figura 21.Comprobación del origen de datos.
Estas condiciones son necesarias para la generación de las reglas.
La herramienta generadora de reglas presenta una interfaz sencilla como muestra en la Figura 22.
Figura 22 .Ambiente principal de la herramienta generadora de reglas.
Posee dos cajas de texto editables: una para la entrada de la regla en lenguaje natural (opcional) y otra para la entrada de la regla en LPT (obligatorio).En la caja de texto no editable situada en la parte inferior de la ventana se muestra el resultado de la compilación o generación de la regla.
Para facilitar la entrada de la regla se habilitó una lista con todas las tablas de acuerdo a la información extraída del catálogo, y un marco con todos los operadores. Al seleccionar algún elemento de la lista desplegable o algún operador, el elemento seleccionado es situado en la caja de texto de representación de la regla en LPT. Al iniciar la aplicación se carga el archivo repositorios/Repositorio.xml que representa el repositorio de reglas; si no existe, crea un repositorio vacío. Igualmente se carga el archivo repositorios/Metadatos.xml. En caso que no exista se muestra una
ventana para la extracción de información del catálogo, como se muestra en la Figura 23.
Figura 23 .Ambiente principal de la herramienta de extracción de información. Una vez que se logre la conexión y se obtenga la información del catálogo, no es necesario repetir estas operaciones mientras la ventana principal se encuentre activa.
En la ventana principal de la aplicación se muestran los menús relacionados a continuación:
Reglas
Configuración Generación
Mediante el menú Reglas, que se muestra en la Figura 24, se puede trabajar directamente con las reglas. Cuenta con las siguientes opciones:
Nueva Regla :
Prepara la aplicación para la adición de una nueva regla y le asigna un identificador a la regla.
Adicionar Regla:
Adiciona una nueva regla al repositorio de reglas. Actualizar Regla:
Actualiza en el repositorio de reglas una regla inactiva. Si la regla está activa, esta opción se deshabilita.
Desactivar Regla:
Desactiva una regla en el repositorio de reglas y elimina los recursos que fueron implementados en la base de datos
Activar Regla:
Compila, genera e implementa en la base de datos los recursos obtenidos.
Figura 24. Menú de Reglas.
El menú Configuración, mostrado en la Figura 25, cuentacon las siguientes opciones: Información Catálogo:
Muestra la ventana para la extracción de información del catálogo que se muestra en la Figura 23
Conexión:
Ofrece la opción de conectarse a una base de datos Nuevo repositorio:
Permite crear un nuevo repositorio vacío.
Como puede observarse tanto la opción Información Catálogo como la opción
Conexión permiten conectarse a una base de datos.
Figura 25. Menú de Configuración
El menú Base de Datos permite seleccionar el SGBD para el cual se va a generar la regla. Por defecto está seleccionada la opción de generar código para SQL Server.
En la parte baja de la ventana principal se encuentran los botones Compilar y
Generar Código: la primera permite compilar la regla y almacenar en el repositorio de generación la información necesaria para generarla; la segunda permite generar la regla y almacenar los recursos en este repositorio
La interfaz que muestra esta aplicación es válida para la generación de cualquier tipo de regla.
III.3Conclusiones Parciales
De esta forma se culmina este capítulo obteniéndose una aplicación sencilla y útil que almacena e implementa reglas tipo restricción. Ésta aplicación utiliza un traductor para generar el script de la base de datos del negocio a partir de una regla en lenguaje técnico.
Se ofrecen detalles adicionales de los recursos utilizados para implementar reglas tipo restricción y se propone un método para adicionar nuevos componentes al traductor de reglas.
Conclusiones.
1. Se implementó una versión de la herramienta para extraer información del catálogo de la base de datos del negocio, que permite obtener un repositorio que contenga los datos suficientes del catálogo de una base de datos para lograr la implementación automática de las reglas de negocio sobre bases de datos relacionales.
2. Se extendió el lenguaje de patrones técnico (LPT) formalizando su definición sintáctica y semántica.
3. Se diseñó un traductor dando prioridad al principio de encapsulamiento y de reuso de la POO.
4. Se implementó un traductor utilizando tecnologías libres de desarrollo de software
Recomendaciones
Generar la regla tipo Restricción bajo el enfoque mediato.
Expandir la generación de reglas a otros tipos, como Cálculo y Clasificación.
Expandir la generación de reglas a otros SGBD.
Extender la aplicación de forma que el usuario sea capaz de modificar las reglas.
Bibliografía
ALONSO, A. P. (2008) Aplicación para reglas de restricción en negocios. Departamento de Bases de Datos. Santa Clara, Universidad Central de Las Villas.
ALONSO, A. P. (2010) Reglas de negocio en bases de datos relacionales. Ciencias de la Computación. Santa Clara, Universidad Central Marta Abreu de Las Villas.
ASHWELL, R. (2006) Define Business Rules. CRaG Systems.
BAJEC, M., RUPNIK, R. & KRISPER, M. (2000) USING BUSINESS RULES TECHNOLOGIES TO BRIDGE THE GAP BETWEEN BUSINESS AND BUSINESS APPLICATIONS. Ljubljana, Slovenija.
BAJEC, M. K., M. ; RUPNIK, R. (2000) Using Business Rules Technologies To Bridge The Gap Between Business and Business Applications. IN RECHNU, G. E. (Ed.) Proc. of the IFIP 16th World Computer Congress 2000, Information Technology for Business Management. Peking, China.
BOGGIANO CASTILLO, M. B., MARTÍNEZ DEL BUSTO, M. E., PÉREZ VÁZQUEZ , R. & GONZÁLEZ GONZÁLEZ , L. (2007) Aplicando Reglas de Negocio mediante triggers CIE 2007. Cuba.
CHOI, E.-H., TSUCHIYA, T. & KIKONU, T. (2006 ) Model Checking Active Database Rules Nakouji, Amagasaki, Hyogo, Research Center for Verification and Semantics (CVS) National Institute of Advanced Industrial Science and Technology (AIST)
DATE, C. J. (2000) What Not How: The Business Rules Approach To Application Development. Addison Wesley Longman Inc.
DATE, C. J. (2001) Constraints & Predicates: A Brief Tutorial (Part 2). Business Rules Journal, V2. DEMUTH, B. (2004) THE DRESDEN OCL TOOLKIT AND ITS ROLE IN INFORMATION SYSTEMS
DEVELOPMENT.
DEMUTH, B. (2005) The Dresden OCL Toolkit and the Business Rules Approach. Technische Universität Dresden.
DÍAZ, R. (2010) Información del catálogo para generar reglas de negocio. Departamento de Bases de Datos. Santa Clara, Universidad Central de Las Villas.
GARCELL, A. (2010) Aplicación de Reglas de Negocio y Base de Datos para el Trasplante Renal. Departamento de Bases de Datos. Santa Clara, Universidad Central de Las Villas.
GENNICK, J. (2006) SQL pocket guide, O'Reilly Media.
GONZÁLEZ, L. (2010) Sistemas de Bases de Datos postrelacionales.Triggers GOTTESDIENER, E. (Marzo 1997) Business RULES
Show Power, Promise
Application Development Trends, vol. 4., no. 3. EBG Consulting, Inc. .
GRAHM, I. (2006) BUsiness Rules Management and Service Oriented Architecture. A pattern language, England, John Wiley and Sons Ltd.
HEALY, K. A. (2000) Defining business rules using triggers.
HEIDENREICH, F., WENDE, C. & DEMUTH, B. (2005) A Framework for Generating Query Language Code from OCL Invariants.
HERNÁNDEZ, E. H. (2007) Compilación II.
HERNÁNDEZ, L. G. & RICHARDSON, M. M. D. O. (2005) Sistema de Base de Datos, La Habana, Editorial Félix Varela.
HORSTMANN, C. S. (2009) Big Java: Compatible with Java 5, 6 and 7, John Wiley and Sons.
LAYZELL, P. J. & LOUCOPOULOS, P. (1988) A rule-based approach to the constuction and evolution of business information systems. Fourth IEEE International Conference on Software Maintenance. Phoenix, Arizona, USA.
LOWENTHAL, B. (2005) Rule Enabling Applications with Oracle Business Rules. Oracle Corporation.
MELTON, J. & SIMON, A. R. (2002) SQL1999: underestanding relational languaje components, Morgab Kaufmann.
MORGAN, T. (2002) Business Rules and Information Systems: Aligning IT with Business Goals. Addison Wesley.
MSDN (2008) MSDN LIBRARY VisualStudio 2008. Microsoft Corporation. OMG (2010a) Object Constraint Language. Object Management Group, Inc. OMG (2010b) Object Constraint Language
Version 2.2. Copyright © 1997-2010 Object Management Group.
OPPEL, A. & SHELDON, R. (2008) SQL: a biginner's guide, McGraw-Hill Profesional. PARR, T. (2007) The Definitive ANTLR Reference. Building Domain-Specific Languages.
PÉREZ ALONSO, A. (2008) Aplicación para reglas de restricción en negocios. Base de Datos. Santa Clara, Universidad Central "Marta Abreu" de Las Villas.
ROSS, R. G. (2009) Business Rule Concepts ~ Getting to the Point of Knowledge ROSS, R. G. (2010) What Is a Business Rule? Business Rules Journal, Vol. 11, No. 3.
ROSS, R. G. & LAM, G. S. W. (1999) The BRS Approach to Rule Management: RMSolutions. Business Rule Solutions.
SOLIVERES, P. A. (1997) Desarrollo Cliente/Servidor: ubicación de las reglas de negocio. Revista Profesional para Programadores (RPP).
TEDJASUKMANA, V. N. (2006) Translation of OCL Invariants into SQL:99 Integrity Constraints Hamburg, Germany
TOLEDO, A. P. (2009) Solución al problema de la cardinalidad en la generación automática de reglas de negocio en bases de datos relacionales. Departamento de Bases de Datos. Santa Clara, Universidad Central "Marta Abreu" de Las Villas.
TRILLES, J. J. (2006) Reglas de Negocio y Gestión por Procesos de Negocio.
WEIDEN, M., HERMANS, L., SCHREIBER, G. & ZEE, S. V. D. (2002) Classification and Representation of Business Rules.
WEIDEN, M. R. (2000) A Critique of the Business-Rule Approach. Department of Social Science Informatics. Amsterdam, University of Amsterdam.
ZIMBRÃO, G., MIRANDA, R., DE SOUZA, J. M., ESTOLANO, M. H. & NETO, F. P. (2003) Enforcement of Business Rules in Relational Databases Using Constraints.
ZIMBRÃO, G., MIRANDA, R., SOUZA, J. M. D., ESTOLANO, M. H. & NETO, F. P. (2002) Enforcement of Business Rules in Relational Databases Using Constraints.