Está en la página 1de 4

Método para Generar una Arquitectura de Referencia para

Integrar Sistemas Heredados y Bases de Datos Heterogéneas


Jaime Muñoz Arteaga Juan Muñoz López
Univ. Autónoma de Aguascalientes Univ. Autónoma de Aguascalientes
Av.Universidad #940, Ags. Mexico. Av.Universidad #940, Ags. Mexico.
jmunozar@correo.uaa.mx jmunoz@correo.uaa.mx

RESUMEN componentes y conectores de un programa o


En este documento se propone un método para sistema, la forma en que interactúan y se
desarrollar modelos arquitectónicos y la creación configuran dichos componentes y conectores y los
de una arquitectura de referencia para construir principios y guías que norman su diseño y
nuevos sistemas a partir de la integración de evolución en el tiempo. La abstracción que
sistemas autónomos preexistentes y bases de proporciona la arquitectura de software es crítica
datos heterogéneas. Esta arquitectura además para el sistema ya que lo vuelve intelectualmente
podría ser utilizada para agregar funcionalidad a tratable y permite explotar patrones recurrentes en
sistemas heredados sin modificarlos. su organización [4].
Un patrón o estilo arquitectónico provee un
I. INTRODUCCIÓN conjunto de subsistemas predefinidos, especifica
Las organizaciones generalmente crean sistemas sus responsabilidades e incluye reglas y guías para
para resolver problemas puntuales de organizar las relaciones entre ellos. El patrón
procesamiento de información que se presentan en permite conceptualizar el diseño del sistema a un
un área de la empresa. Los sistemas que son alto nivel antes de comenzar a implementarlo [1].
implantados correctamente y satisfacen las La selección estilos arquitectónicos por medio de
necesidades por las que fueron creados se integran un sistema de clasificación que además establezca
a los procesos de la organización. Si estas como deben interconectarse es una decisión de
aplicaciones continúan funcionando y recibiendo diseño fundamental al desarrollar sistemas de
mantenimiento, eventualmente se convertirán en software pues define un conjunto de arquitecturas
sistemas heredados [6]. que son viables [2].
Al ir agregando nuevo software, el ambiente Un modelo arquitectónico de referencia se utiliza
computacional de la organización se convierte en para crear arquitecturas de software. Como puede
una mezcla de sistemas distribuidos, heterogéneos observarse en la figura 1, este modelo es una
y autónomos [7]. meta-arquitectura que influye fuertemente en la
Al madurar en el uso de las tecnologías los integridad y estructura del sistema. La arquitectura
usuarios solicitan programas más complejos para de referencia se genera a partir de un sistema de
solucionar problemas más grandes y más difíciles. patrones arquitectónicos y de un modelo de
Es necesario aplicar los principios de la referencia proyectado en elementos de software y
arquitectura de software para comprender mejor los flujos de datos que existen entre ellos [1]. Las
como se resolverán los problemas y en que forma características no funcionales y los requerimientos
deberán coordinarse los esfuerzos de quienes funcionales son elementos básicos para el diseño
intervienen en su desarrollo. de la arquitectura de software [5].

II. PROBLEMÁTICA
Este documento aborda la necesidad de crear un
modelo de referencia para comenzar a resolver dos
problemas relacionados con los sistemas que
conforman el ambiente computacional de las
organizaciones: ampliar la funcionalidad de los
sistemas heredados; y segundo, integrar la
Figura 1.- Elementos para generar una información de dichos sistemas.
arquitectura de software El primer problema aparece conforme evolucionan
Un modelo arquitectónico (conocido también las empresas y las expectativas de los usuarios
como arquitectura de software) describe los
crecen, ya que los sistemas con que cuentan partida para crear arquitecturas que integren
pueden llegar a ser insuficientes para satisfacer las sistemas autónomos preexistentes y bases de datos
nuevas necesidades de información que demanda heterogéneas y que además permitan agregar
la organización. Es difícil sustituir los sistemas nuevo valor a la información que se encuentra en
heredados por otros nuevos ya que se deben dichos sistemas. Desafortunadamente en los
considerar aspectos como: la cantidad de recursos trabajos de ingeniería de software, tales como el
invertidos; la criticidad y el conocimiento de los de Malveau [8], no se indica explícitamente como
procesos que soportan; las habilidades técnicas se puede mejorar un modelo de referencia con el
con que cuenta la organización; la cantidad de fin de adaptarlos a los continuos cambios que
recursos que se deben invertir para crear el nuevo requiere un sistema heredado.
sistema; etc. Si se establece que no es posible
desechar ni modificar al sistema con que se cuenta IV METODO
y es necesario satisfacer nuevas necesidades de Con el fin de dar una solución a la problemática
información, entonces: ¿Cómo agregar nueva planteada en la sección anterior, este trabajo
funcionalidad a los sistemas heredados? propone un método que permite generar y adaptar
Ya que los sistemas heredados están íntimamente el modelo arquitectónico de referencia en base a
ligados a los procesos de la organización es un proceso iterativo e incremental. Consideramos
importante adaptarlos a las nuevas necesidades que dentro del proceso la retroalimentación que se
para mantener a la empresa competitiva. Un obtiene en cada iteración puede utilizarse para ir
conjunto de sistemas que no se adapta al entorno perfeccionando al propio modelo de referencia, lo
organizacional cambiante, le inhibe en lugar de que extiende los beneficios de la retroalimentación
facilitar su labor. Adaptar en vez de desarrollar a las arquitecturas de otros sistemas (ver figura 2).
nuevamente implica un considerable ahorro de
recursos.
El segundo problema se presenta por la necesidad
de integrar y enriquecer la información de los
sistemas del medio ambiente computacional de la
organización que se encuentra contenida en
diferentes bases autónomas y posiblemente
heterogéneas. Integrar estos sistemas es un
problema tan difícil y común que numerosas
empresas crean diversas soluciones complejas
para lograr este objetivo.
La creación de aplicaciones cooperativas
distribuidas que trabajen a través de Internet para
ofrecer servicios en línea también requiere de la
integración de sistemas heterogéneos.
Solucionar los problemas planteados puede
derivar en beneficios como:
1. Dotar a las organizaciones de un marco de
trabajo para modernizar y gradualmente
reemplazar sus sistemas heredados. Figura 2.- Método para generar un modelo de
2. Utilizar la información de diferentes sistemas arquitectura de software
de manera integral, aprovechando el efecto de La figura 2 muestra nuestro método compuesto
sinergia que se genera. por una serie de pasos secuenciales, sin embargo,
3. Reutilizar sistemas como partes de un sistema en muchas ocasiones es posible comenzar a
mayor. ejecutar alguna tarea sin haber concluido
4. Reducir el retrabajo necesario para transportar completamente a su predecesora.
información entre sistemas autónomos. Un modelo arquitectónico se desarrolla en forma
5. Disminuir los costos de mantenimiento de los iterativa mediante un proceso que comienza en
sistemas actuales. una fase de conceptualización. Durante esta fase
Para llegar a desarrollar este tipo de soluciones se establecen los requerimientos funcionales y las
Bass et al. [3] y Malveau [8] proponen la características no funcionales que deberá contener
aplicación de modelos arquitectónicos de el sistema, se evalúa su pertinencia y se establecen
referencia que pueden utilizar los diferentes prioridades para las características no funcionales.
participantes en un proyecto como punto de Las decisiones iniciales que se toman en el diseño
de la arquitectura incorporarán o excluirán casi ser lo suficientemente modular y flexible para
todos los atributos de calidad del sistema [3]. permanecer funcionando mientras se realizan los
Posteriormente se identifican los elementos ajustes necesarios para añadir, sustituir o eliminar
arquitectónicos básicos y se adopta o se crea un los elementos funcionales que fallen o requieran
modelo arquitectónico de referencia para crear la ser reemplazados.
arquitectura de software. Un sistema con las características descritas deberá
El modelo arquitectónico de referencia se crea contemplar otros factores como por ejemplo:
inicialmente a partir de un modelo de referencia y • La información que proporcione el sistema
de la aplicación de patrones arquitectónicos integral deberá ser congruente con la
organizados en un sistema. La arquitectura de proporcionada individualmente por las partes
software se ajustará conforme al modelo de funcionales que lo conforman, o al menos,
referencia y será evaluada para validar que tener mecanismos de explicación que ayuden a
contemple todos los requerimientos funcionales. entender las diferencias que se encuentren.
Durante la creación de un sistema intervienen • Coordinar coherentemente los mecanismos de
diferentes participantes como: el administrador seguridad originales de cada uno de los
del proyecto, el encargado de la línea de sistemas autónomos que integre.
producción de la aplicación, los analistas, los No se cuenta con un modelo arquitectónico de
programadores, el equipo de pruebas, los referencia eficiente para integrar sistemas
integradores, el personal de soporte, los autónomos y bases de datos distribuidas que
encargados de mantenimiento, los usuarios, los cuenten con estructuras heterogéneas. Como
clientes, los arquitectos de software y los nuevos primera aproximación para generar esta
interesados. Las vistas son mecanismos que arquitectura de referencia se propone un modelo
permiten representar las perspectivas de los que utiliza tres patrones arquitectónicos: corredor
diferentes roles en un modelo arquitectónico [3]. (broker), capas (layers), y todo-partes (whole-part)
La arquitectura se documenta y se presenta a los [2]. Estos patrones facilitan la estructuración de
participantes en la construcción del sistema para los procesos mentales necesarios para
que la evalúen. El modelo debe ser técnicamente conceptualizar una solución a los problemas
lógico, muy simple pero completo y mostrar a propuestos anteriormente.
cada uno de los involucrados las partes que le son La integración de los sistemas es posible realizarla
interesantes y necesarias. aplicando el patrón de broker. El sistema
La arquitectura de software simplifica la resultante contaría con una capa de servicios que
complejidad de la construcción de los sistemas, proporcionaría los mecanismos de integración
asegura la incorporación de los atributos como intermediario entre los sistemas
funcionales y no funcionales requeridos y preexistentes y el sistema integrado. Este patrón
proporciona los elementos necesarios para su proporciona una alta flexibilidad que permite
diseño. agregar o eliminar componentes con facilidad.
El modelo arquitectónico de referencia después de
ser aplicado en un sistema a través de una
arquitectura de software puede perfeccionarse
mediante un proceso de evaluación y ajustes, lo
que permitirá contar con un modelo que
evolucionará en forma continua, cada vez que se
aplica para la construcción de un nuevo sistema.

V. CASO DE ESTUDIO
Para ejemplificar la aplicación del método
propuesto, se mostrará como se pueden aplicar sus
pasos iniciales para conceptualizar la arquitectura Figura 3.- Modelo arquitectural basado en un
de referencia de modelos arquitectónicos que patrón para la integración de software
resuelvan los dos problemas que se han planteado Al aplicar el patrón broker se pueden ubicar varios
en este documento. puntos de enlace que son críticos para realizar la
Se requiere que un sistema que base su modelo integración del sistema. En la figura 3 se señalan
arquitectónico en la arquitectura de referencia que con cuadros punteados diferentes tipos de
se pretende crear transforme continuamente la interfaces que resultan de interés: la de lectura
información producida por los sistemas entre las bases de datos de los sistemas autónomos
autónomos que integra. El nuevo sistema deberá y los mecanismos de integración; las de entrada y
las de salida entre los mecanismos de integración [2] Buschmann, F., Meunier, R., Rohnert, H.,
y los sistemas autónomos; las que existen entre los Sommerlad, P. y Stal M., “Pattern-Oriented Software
mecanismos de integración y entre los Architecture, A system of Patterns, Volume I”, Willey,
mecanismos de integración y el sistema integrado. U.SA., 1996
[3] Clements, P., Kazman, R. y Klein, M., “Evaluating
Un punto de atención muy especial será el
Software Architectures, Methods and Case Studies,
mecanismo de interfase que permitirá que todos Adison Wesley, U.S.A., 2002
los mecanismos de integración se unan y sean [4] Garlan, D., Allen, R., Ockerbloom, J., “Exploiting
percibidos como un solo sistema (el sistema Style in Architectural Design Environments”, SIGSOF
corredor). 94, ACM, 1994, pp. 175-188
El mecanismo que se utiliza para integrar varios [5] Liao, L., “From Requirements to Architecture: The
sistemas puede aplicarse a un sistema para State of the Art in Software Architecture Design”,
agregarle funcionalidad sin modificarlo, Department of Computer Science and Engineering,
resolviendo también el primer problema University of Washington, 2002, pp. 1-13
[6] O’Callaghan, A., “Migrating Large-Scale Legacy
planteado. Systems to Component-Based and Object Technology”,
Adicionalmente, los requerimientos funcionales y Communications of AIS, Volume 2, Article 3, Julio
las características no funcionales de la arquitectura 1999, pp. 1-40
se representarán mediante una estructura de capas; [7] Pitoura, E., Bukhres, O., Elmagarmid, A., “Object
el uso de este patrón permitirá que la arquitectura Orientation in Multidatabase Systems”, ACM
sea modular, flexible y de sencilla comprensión. Computing Surveys, Vol. 27, No. 2, Junio 1995, pp.
En las capas inferiores del modelo prevalecerán 141-195
los aspectos relacionados con las características no [8] Malveau, R., Mowbray, T., “Software Architecture
funcionales del sistema, conforme se avance hacia Bootcamp, Second Edition”, Prentice Hall, U.S.A.,
2004
capas superiores, los requerimientos funcionales
cobrarán mayor relevancia.

VI. CONCLUSIONES
En este documento se han tratado algunos
aspectos relativos a la creación de arquitecturas de
software y se ha propuesto un método para su
diseño. Así mismo, se ha propuesto la creación de
una arquitectura de referencia para crear nuevos
sistemas a partir de la integración de sistemas
autónomos preexistentes y bases de datos
heterogéneas. Esta arquitectura también podrá ser
utilizada para agregar funcionalidad a sistemas
heredados sin modificarlos.
Se vislumbra que la labor necesaria para crear la
arquitectura propuesta comprende aún una gran
cantidad de trabajo donde se destacan cuatro
grandes tareas, a saber:
• Afinar y validar el proceso propuesto para la
creación de modelos arquitectónicos.
• Definir las características funcionales
relevantes para los problemas que se han
planteado.
• Establecer un esquema con los mecanismos
para la evaluación de las características no
funcionales en la arquitectura de referencia.
• Concretar la propuesta del modelo de
arquitectura planteada y documentarlo.

VII. REFERENCIAS
[1] Bass L., Clements, P. y Kazman R., “Software
Architecture in Practice, Second Edition”, Adison
Wesley, U.S.A., 2003