Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Aspect Oriented Data Warehousing

2000

El objetivo de este proyecto de investigación en curso es aplicar las técnicas de Orientación a Aspectos y separación de concerns a la definición de un modelo conceptual para el diseño de bases de datos multidimensionales que brinde un alto nivel de adaptabilidad en entornos cambiantes, y facilite la reusabilidad de sus componentes. El proyecto pretende proveer un modelo donde

Position Paper - Análisis y diseño de software orientado a aspectos Aspect Oriented Data Warehousing Eduardo Rodríguez, Janina Rubacha, Andrea Venegas Departamento de Computación --- Facultad de Ciencias Exactas y Naturales --- Universidad de Buenos Aires --- Argentina Información de Contacto Eduardo Rodríguez e-mail: eduardo@dc.uba.ar C/ Rufino Blanco, 10 --- 4° B, 28028 Madrid/España Tel: (+34) 91.355.14.80 Abstract El objetivo de este proyecto de investigación en curso es aplicar las técnicas de Orientación a Aspectos y separación de concerns a la definición de un modelo conceptual para el diseño de bases de datos multidimensionales que brinde un alto nivel de adaptabilidad en entornos cambiantes, y facilite la reusabilidad de sus componentes. El proyecto pretende proveer un modelo donde estén integradas todas las etapas del ciclo de vida multidimensional. En especial, se analizará la aplicación de dichas técnicas a la automatización de procesos ETL (extracción, transformación y carga). Motivación Históricamente, la modelización de bases de datos multidimensionales para la construcción de un Data Warehouse estuvo estrechamente ligada a la implantación física del mismo y, a pesar de que el Data Warehousing ha recorrido una larga trayectoria desde sus comienzos a mediados de los ‘90s, sigue careciendo un modelo conceptual generalizado que se diferencie y distancie de las implementaciones físicas dominantes hasta el momento. Esto ha generado como resultado implantaciones estáticas, rígidas y deficientemente documentadas, que adolecen de la flexibilidad necesaria para adaptarse a los cambios constantes del entorno de negocio de las empresas. El advenimiento del paradigma OO, su poder semántico, entre otras virtudes, y, más recientemente, la Orientación a Aspectos resultan una excelente combinación para la definición de un modelo conceptual que represente las necesidades de análisis multidimensional con flexibilidad, completitud y con el grado reusabilidad y adaptabilidad a los cambios que exige el análisis de datos a lo largo de grandes períodos de tiempo en entornos altamente dinámicos. En este proyecto pretendemos aplicar las técnicas de Orientación a Aspectos y separación de concerns a la definición de un modelo conceptual basado en Objetos para el diseño de bases de datos multidimensionales. A continuación ejemplificaremos la problemática expuesta a través de dos casos relacionados con una experiencia real de diseño e implantación de una base de datos multidimensional. Un Organismo Gubernamental decide implementar un “Sistema de Control de la Recaudación”. Objetivo del Organismo: Tener una visión integrada y consolidada de las obligaciones de pago y recaudación de los contribuyentes de cada una de las regiones que componen la estructura de este Organismo Recaudador, y ser capaz de obtener respuestas a consultas tales como “¿Cuál es la recaudación para el período P para la región R abierto por sucursales y tipo de Impuesto?”, o “Compare el índice de cumplimiento de pagos para el período P con los períodos anteriores abierto por Impuesto”. Características del Negocio: Este organismo es responsable por la gestión de la recaudación de un conjunto de impuestos y obligaciones de los contribuyentes. Un contribuyente puede tener más de una obligación, de acuerdo con su actividad. El contribuyente debe no sólo pagar la obligación sino que debe presentar la declaración de la obligación, o la rectificación de la misma en el caso en que en la primer presentación hubiera habido errores. Asimismo, dependiendo del tipo de contribuyente, pueden admitirse diferentes métodos de pago y posibilidades de moratorias. Por otro lado, este Organismo se encuentra estructurado geográficamente en regiones, cada una bajo una dirección diferente, responsable por la recaudación de la propia región. Para realizar un seguimiento del grado de cumplimiento de las metas de recaudación impuestas, es necesario identificar el volumen recaudado, el porcentaje de obligaciones presentadas versus esperadas, la cantidad de presentaciones originales versus rectificaciones, y cantidad y monto de morosidad. Primer Caso: Condiciones de Negocio altamente dinámicas Luego de evaluar los requerimientos de información, sus reglas de negocio y las fuentes de datos reales se definieron dimensiones, métricas e indicadores asociados a las políticas de vencimientos y pagos de las obligaciones e impuestos vigentes en ese momento. Se definieron, entre otras, las dimensiones de obligaciones e impuestos junto con la de actividades y tipo de contribuyente. Estas definiciones no presentaron mayores complejidades al momento de su modelización, sin embargo, no fue ese el caso al llegar a moratoria. Las moratorias deben su complejidad a la poca estandarización; en sí mismas son condiciones de recaudación temporales que afectan a un conjunto de contribuyentes, con una vigencia de tiempo limitada, a través de descuentos por el pago de montos adeudados, en nuevas fechas de vencimientos. Tomando esto en cuenta, se definió una dimensión moratoria contando con atributos tales como fecha de inicio, vigencia y descuento por pago. Asimismo se identificaron indicadores para el seguimiento de las recaudaciones por moratoria como monto adeudado por moratoria, cantidad de pagos por moratoria, cantidad recaudada por moratoria y cantidad de contribuyentes en una moratoria dada. El objetivo de generalización del modelo multidimensional asociado al tratamiento de las moratorias no fue exitoso. Cada moratoria que este Organismo impulsaba era diferente de la anterior, impactando no solo en los procesos de transformación y carga de las condiciones particulares de la moratoria, sino también en la actualización de los datos de todos los contribuyentes que se encontrarían afectados por la misma. La consecuencia fue la necesidad de desarrollar un proceso específico por cada nueva moratoria que se lanzaba. Más aún, las condiciones particulares de cada nueva moratoria generalmente impactaban también en el modelo multidimensional implementado hasta el momento ya que, por ejemplo, los cambios en la forma de pago de la moratoria (varios vencimientos con diferentes descuentos asociados) debían ser reflejados para su análisis a través de la creación de nuevos indicadores al estilo “Cantidad de Pagos efectuados antes del 1er. vencimiento de la moratoria” o “Recaudación al 1er. vencimiento”. Al haber sido concebido como un modelo multidimensional estrechamente vinculado a su implantación física, todo nuevo indicador requería la alteración de tablas relacionales o, directamente, la creación de un nuevo esquema físico con las consecuencias dañinas de la migración de datos que esto implicaba. Segundo Caso: Sensibilidad de la Información Debido a la sensibilidad de la información a almacenar en la base de datos multidimensional, el Organismo se mostró muy estricto en la definición de roles de usuarios y perfiles de análisis. Estos perfiles se basan en las vistas o datos que pueden analizar los usuarios de acuerdo a su rol y al nivel de detalle que pueden analizar. En este caso, se definieron roles de dirección general, dirección de región y analistas de región. • El perfil asociado a la dirección general, permitía acceder a toda la información de todas las regiones a cualquier nivel de detalle. • El perfil asociado a la dirección de la región permitía ver la recaudación a nivel de detalle de contribuyente solo para su propia región, y a nivel de totales de recaudación por región para todas las regiones. • El perfil de analista de la región permitía solamente acceder a los datos de su propia región, con un nivel de detalle de Tipo de Contribuyente. Para poder implementar permisos de visualización de indicadores a diferentes niveles de granularidad o consolidación, hubo que definir nuevos indicadores y, consecuentemente, nuevas tablas, para una misma métrica bajo diferentes denominaciones y niveles de sumarización. Esto se debió a que, para poder implementar las restricciones de acceso de acuerdo a perfiles a nivel de la aplicación de análisis (OLAP), fue necesario configurar por perfil la lista de indicadores con permiso de visualización, ya que la forma de restringir el “drill down” hacia un nivel de detalle no autorizado sólo era posible a nivel de indicador y no por el nivel de detalle solicitado por el usuario. En consecuencia, se crearon tantos indicadores como restricciones de visualización por granularidad existían. Paralelamente, para asegurar el acceso sólo a los datos de la región del usuario, se debió tener en cuenta en el modelo el diseño de tablas o vistas por región. Como resultado, toda creación de un perfil nuevo en la Organización, implicó un cambio en el modelo multidimensional, dada su estrecha relación con su implantación física. Frente a estos casos reales, se vuelve evidente que sus necesidades no son soportadas adecuadamente por las herramientas actuales y las metodologías de modelización de bases de datos multidimensionales tradicionales, ya que • En el primer caso no se disponía de herramientas para definir correctamente el concepto de moratoria –solo se contaba con jerarquías de dimensiones y hechos- lo que obligó a redefinirlo una y otra vez para cada caso particular. Esto terminó afectando directamente a los procesos de transformación y carga del Data Warehouse porque, al no contar con un modelo multidimensional independiente de la implantación física, todo nuevo indicador creado requería la alteración de tablas relacionales, o directamente la creación de un nuevo esquema físico con las consecuentes migraciones de datos. Una moratoria es un concepto con características altamente cambiantes, y es aquí donde se evidencia la necesidad de contar con un modelo conceptual que considere la naturaleza compleja y dinámica del problema. Los modelos orientados a objetos son, por excelencia, preferidos para modelar este tipo de situaciones de alto dinamismo, particularmente por su capacidad de encapsulamiento de conceptos comunes y por su poder de anticipación al cambio, que es lo que se requiere en el problema aquí planteado. • En el segundo caso sigue siendo evidente que la estrecha relación entre el modelo multidimensional y el esquema físico subyacente dificulta la tarea de definir y, aun más, de mantener el Data Warehouse, en este caso, en lo que respecta a perfiles de usuario y permisos de visualización de la información. Nuestra perspectiva es que la aplicación de un diseño orientado a objetos ayudaría mucho para proveer estas facilidades. Además, el hecho de que haya sido necesario crear diferentes indicadores para satisfacer las necesidades de análisis de los perfiles y que se hayan tenido que crear diferentes vistas para soportar las restricciones de visualización de la información evidencian que, en primer lugar, cada indicador puede analizarse desde diferentes puntos de vista según el perfil para el cual se lo desea definir. Por otro lado, deben considerarse restricciones de seguridad sobre las diferentes vistas que aparecen como cuestiones totalmente ortogonales a la definición de los indicadores. Esto nos sugiere que el concepto de seguridad, en sí mismo, puede ser tomado como un concern transversal al modelo multidimensional. Como consecuencia de lo observado, creemos que la creación de un modelo conceptual orientado a objetos y la aplicación de técnicas orientadas a aspectos nos permitirán lograr mayor grado de reusabilidad y encapsulamiento de comportamientos transversales del Data Warehouse, facilitando así el diseño y la reutilización de sus componentes. El Proceso de Data Warehousing Históricamente, la modelización y el diseño de Data Warehouses se han relacionado estrechamente con las implantaciones físicas de sus bases de datos multidimensionales, dividiéndose en dos grandes tendencias: ROLAP (Relational OLAP) y MOLAP (Multidimensional OLAP). El énfasis en la implementación de estas dos grandes tendencias privaron a las técnicas de modelización y diseño de bases de datos multidimensionales de la abstracción necesaria que debiera caracterizar a todo modelo conceptual. Es por esta razón que en los últimos años diversos equipos de investigación han sugerido propuestas de modelos lógicos y conceptuales de Data Warehousing [AgGuSa97, CaTo98, LIWa96, TrPa98]. En particular, podemos apreciar que últimamente la modelización de base de datos multidimensionales se ha visto enriquecida por los primeros pasos en la definición de modelos y frameworks multidimensionales basados en objetos [TrPa98], [BuSoHa98], [AbSaSa01a], [BiTjWa00], [BuSoHa98], [TrPa98], [Tr99], [TrPaGo99], [TrPaGoYe01], [VaSe99]. Esto se debe, en parte, a que el resultado buscado es un modelo conceptual que se acerque más a la concepción que tiene el usuario sobre el universo de modelado [AbSaSa00b]. En nuestra línea de investigación estamos tomando, entonces, un enfoque orientado a objetos como punto de partida para brindar mayor expresividad y representar mejor las necesidades de análisis multidimensional de los negocios [Kel00]. Nuestra intención es, al aplicar las técnicas de Orientación a Aspectos, alcanzar la reutilización y adaptabilidad también requeridas. Nuestro trabajo partirá de los modelos mencionados, procurando enriquecerlos y estandarizarlos. La Orientación a Aspectos Cada paso en la evolución de los lenguajes de programación (desde assembler puro hasta la los tipos abstractos de datos) ha brindado mayor claridad y habilidad en la identificación y separación de concerns (propiedades o áreas de interés) a nivel de código. Esta necesidad creciente de diseñar código más modular, con interfaces claras y reusables, condujo al desarrollo y utilización de las técnicas de programación orientada a objetos (POO). Pero el éxito en el desarrollo de sistemas simples llevó a aspirar a una mayor complejidad, lo cual derivó en una mayor necesidad de separación de concerns. Con esto se evidenció que los lenguajes OO poseían ciertas limitaciones en cuanto a la separación de concerns, ya que muchos requerimientos no se descomponían con nitidez en comportamiento centrado en un único lugar. En síntesis, tanto la tecnología de objetos como las técnicas de programación procedural resultaron tener dificultades en la localización de concerns que involucraban restricciones globales y comportamiento pandémico. De este modo, hay importantes decisiones de diseño que, por cruzar transversalmente la funcionalidad básica del sistema, no quedan capturadas correctamente por estas técnicas. Esta deficiencia en el diseño se traduce en código entrelazado y excesivamente difícil de desarrollar y mantener. A raíz de estas cuestiones de diseño que surgen con la POO se plantean otras técnicas de diseño y programación que se engloban en los mecanismos de POP –Post Object Oriented Programming– que buscan aumentar la expresividad del paradigma de orientación a objetos. La programación orientada a aspectos surge entonces como una nueva evolución en la línea de las tecnologías para separación de concerns. Se ha definido a la Orientación a Aspectos como “la habilidad de identificar, encapsular y manipular sólo aquellas partes del código fuente que sean relevantes a un concepto, objetivo o un propósito en particular, que en caso contrario aparecerían diseminadas en la jerarquía de clases, permitiendo mayor claridad en el diseño, adaptabilidad, encapsulamiento de propiedades o comportamientos transversales, facilidad de reutilización e interfaces claras entre otras ventajas [ElFiBa01]”. Así como la orientación a objetos comenzó exclusivamente como una técnica de programación y con el tiempo influyó también a otras etapas del ciclo de vida, tales como el análisis y diseño de arquitectura, algo similar está ocurriendo con la Orientación a Aspectos, a partir del enfoque AOSD (Aspect Oriented Software Development), que apunta a mejorar los costos de desarrollo, mantenimiento y reuso en el diseño de sistemas complejos [NaPeMu02]. Aspectos y Data Warehousing Hemos observado que las propuestas de modelos multidimensionales orientados a objetos desarrolladas hasta el presente - [TrPa98], [BuSoHa98], [AbSaSa01a], [AbSaSa00a], [BiTjWa00], [Tr99], [TrPaGo99], [TrPaGoYe01] no cubren todos los aspectos de la funcionalidad de un modelo multidimensional, ya que adolecen de definiciones importantes en cuanto a conceptos relacionados con las operaciones a aplicar sobre los clases definidas en los mismos –atributo dimensional, dimensión, hecho y cubo. Por otro lado, los modelos existentes no proveen operaciones para manejar multicubos, ya que no contemplan operaciones del estilo “Drill Through” que permitirían combinar varios cubos a partir de las dimensiones que tienen en común. Por lo tanto, nuestro proyecto busca extender las propuestas existentes a un modelo conceptual orientado a objetos completo, y promoviendo una estandarización de las primitivas utilizadas, a partir de los diagramas UML correspondientes. Por otra parte, pretendemos mostrar cómo puede ser útil la aplicación de la tecnología orientada a aspectos a este nuevo modelo conceptual de bases de datos multidimensionales orientado a objetos para lograr claridad en el diseño, mayor adaptabilidad en un entorno altamente cambiante y la reusabilidad de sus componentes. Creemos que muchas de las características colaterales que requieren los modelos multidimensionales para su implantación efectiva, como el manejo de diferentes perfiles de usuario para diferentes puntos de vista de los facts o las conformed dimensions [Kim98], así como la seguridad, concepto que debería manejarse a nivel conceptual ya que está altamente ligado con la forma de analizar y gestionar la información, pueden ser adecuadamente modeladas con aspectos. También entendemos que la aplicación de la tecnología orientada a aspectos a nuestro modelo impactará directamente en el diseño y automatización de una de las etapas más críticas del Data Warehousing como es la ETL (extracción, transformación y carga), facilitando su desarrollo, implantación, adaptabilidad y, principalmente, la reusabilidad de sus componentes ante nuevos requerimientos, acoplando estos procesos de la manera modular y reusable propugnada. La literatura publicada hasta el presente no es pródiga en el análisis de los vínculos entre la Orientación a Aspectos y la tecnología de bases de datos. Los trabajos existentes se centran en la evolución de bases de datos orientadas a objetos [RaSa00], [RaGr02] o en el desarrollo de la capa middleware [Jac01]. No conocemos todavía un trabajo que intente separar, tal como nos proponemos, las tareas que son colaterales de aquellas intrínsecas a la funcionalidad del Data Warehouse (es decir, por ejemplo, el manejo de dimensiones y hechos). Referencias [AbSaSa00a] Albelló, A; Samos, J., Saltor, F., A Data Warehouse Multidimensional Data Models Classification. Tech. Rep. LSI-2000-6. Dept. Lenguajes y Sistemas Informáticos (Univ. de Granada), 2000. [AbSaSa00b] Albelló, A., Samos, J., Saltor, F., Benefits of an Object-Oriented Multidimensional Data Model. LNCS 1944, 141-152, Springer, 2000. [AbSaSa00a] Albelló, A., Samos, J., Saltor, F., Understanding Analysis Dimensions in a Multidimensional Object-Oriented Model. In 3rd International Workshop on Design and Management of Data Warehouses, 2001. [AbSaSa01a] Abelló, A; Samos, J; Saltor, F., Understanding Facts in a Multidimensional ObjectOriented Model. In 4th International Workshop on Data Warehousing and OLAP, 32-39, 2001 [AgGuSa97] R. Agrawal, A; Gupta, A; Sarawagi, S., Modeling Multidimensional Databases. In Proc. of the 13th Int'l Conference on Data Engineering, 1997. [Bar98] Bardou, D., Roles, Subjects and Aspects: How do they relate? Position paper at the Aspect Oriented Programming Workshop. 12th European Conference on OO Programming, 1998. [BiTjWa00] Binh, N; Tjoa, A.M; Wagner, R. An Object Oriented Multidimensional Data Model for OLAP. In Proc. of 1st Int. Conf. on Web-Age Information Management, LNCS 1864, 69-82. Springer, 2000. [BuSoHa98] Buzydlowski, J.W; Song, I. Y.; Hassell, L., A Framework for Object-Oriented On-line Analytical Processing. In Int. Workshop on Data Warehousing and OLAP (DOLAP), 1998. [CaTo98] Cabibbo, L., Torlone, R., A Logical Approach to Multidimensional Databases. In Advances in Database Technology, 1998. [ElFiBa01] Elrad, T., Filman, R., Bader, A., Aspect Oriented Programming, Communications of the ACM, Vol.44, 2001. [HaSa97] Hacid, M., Sattler, U., An Object-Centered Multi-Dimensional Data Model with Hierarchically Structured Dimensions. Proc. of the IEEE Knowledge and Data Engineering Workshop, 1997. [Jac01] Arno Jacobsen, H., Middleware architecture design based on aspects, the open implementation metaphor and modularity, Aspect Oriented Programming and Separation of Concerns, Proceedings of the International Workshop, 2001. [Kel00] Keller, D., Data Warehousing: El Ciclo de Vida Dimensional Orientado a Objetos, Tesis de Licenciatura, Depto. de Computación, Facultad de Cs. Exactas y Naturales, Univ. de Buenos Aires, 2000. [Kim98] Kimball, R. et al, The Data Warehouse Lifecycle Toolkit, Wiley Computer Publishing, 1998. [LiOrOv01] Lieberherr, K; Orleans, D; Ovlinger, J., Aspect Oriented Programming with Adaptive Methods, Communications of the ACM, Vol.44, 2001. [LiWa96] Li, C., Wang, X. S., A Data Model for Supporting On-Line Analytical Processing. In Proceedings Conference on Information and Knowledge Management, 81-88, 1996. [Lu01] Luján Mora, S., Multidimensional Modeling using UML and XML. In 12th Workshop for PhD Students in OO Systems, http://www.softlab.ece.ntua.gr/facilities/public/AD/phdoos02 [NaPeMu02] Navasa, A; Pérez, M., Murillo, J. et al (2002). Aspect Oriented Software Architecture: a Structural Perspective. In Workshop on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design. Aspect.Oriented Software Development Conference, 2002 [OsTa01] Osher, H., Tarr, P., Using Multidimensional Separation of Concerns to (re)shape evolving software, Communications of the ACM, Vol.44, 2001. [RaGr02] Rashid, A, Green, R., An Aspect-Oriented Framework for Schema Evolution in ObjectOriented Databases. Aspect Oriented Software Development (AOSD2002), 2002. [RaSa00] Rashid, A., Sawyer, P., Object Database Evolution using Separation of Concerns In SigMod Record, Vol. 29, No 4, 2000. [TrPa98] Trujillo, J., Palomar, M., An Object Oriented Approach to Multidimensional Modeling (OOMD), Proc. First International Workshop on Data Warehousing and OLAP (DOLAP), 1998. [Tr99] Trujillo, J. The GOLD Model: An OO Multidimensional Data Model for Multidimensional Databases. In ECOOP Workshop for PhD Students in OO Systems, 24-30, 1999 [TrPaGo99] Trujillo, J., Palomar, M., Gómez, J. Detecting Patterns and OLAP Operations in GOLD model. In 2nd Intl Workshop on Data Warehousing and OLAP, 1999. [TrPaGoYe01] Trujillo, J., Palomar, M., Gómez, J., Song, I.Y., Designing Data Warehouses with OO Conceptual Models. IEEE Computer, special issue on Data Warehouses 34, 66-75, 2001. [VaSe99] Vassiliadis, P., Sellis, T., A Survey of Logical Models for OLAP Databases. In SIGMOD Record, 28(4):64--69, 1999. View publication stats