Академический Документы
Профессиональный Документы
Культура Документы
Presentado por:
HUGO ALDEMAR GMEZ MARTNEZ
Cdigo: 1096431
Director:
Dr. LUIS MERCHN PAREDES
Ing. De Sistemas
Nota de aceptacin
______________________________________________________
______________________________________________________
______________________________________________________
_____________________________________________
_____________________________________________
________________________________________
Jurado
________________________________________
Jurado
DICIEMBRE DE 2010
III
AGRADECIMIENTOS
IV
DESCRIPCION:
La dinmica actual de los negocios hace que las organizaciones requieran
sistemas de informacin que se adapten al cambio. Por lo tanto, los sistemas
legados se convierten en un obstculo para lograr el objetivo de las empresas, las
cuales se ven en la necesidad de elaborar estrategias para aprovechar stos
activos con su inherente valor organizacional. Bajo sta premisa, el siguiente
trabajo tiene por objetivo facilitar un conjunto de pautas para las organizaciones de
TI que involucran planes de migracin de aplicaciones legadas, especialmente las
desarrolladas bajo la plataforma Oracle Forms6i hacia una arquitectura que
permita desacoplar la lgica de negocio, presentacin y acceso a datos y
aprovechar las potencialidades del Framework de Desarrollo de Aplicaciones
(ADF) de Oracle.
La presente Gua de Migracin se convierte pues, en una herramienta de
orientacin para las organizaciones que desean involucrar la reingeniera en sus
proyectos de evolucin de aplicaciones legadas cliente-servidor hacia
arquitecturas multicapa.
*
**
Trabajo de Grado
Facultad de Ingeniera de Sistemas
Especializacin en Procesos para el Desarrollo del Software
Director: Ing Luis Merchn Paredes
V
DESCRIPTION:
The current dynamics of business makes that organizations require information
systems that adapt to change. Therefore, legacy systems become an obstacle to
achieving the goal of companies, which feel the need to develop strategies to
leverage these assets with their inherent organizational value. Under this premise,
the following paper aims to provide a set of guidelines for IT organizations that
involve migration plans of legacy applications, especially those developed under
the Oracle Forms6i platform towards an architecture that allows decoupling the
business logic, presentation and data access and exploit the potential of Oracles
Application Development Framework (ADF).
Then, this Migration Guide becomes in a guidance tool for organizations that wish
to engage in reengineering projects evolution of legacy client-server applications to
multilayer architectures.
*
**
Graduation Work
Facultad de Ingeniera de Sistemas
Especializacin en Procesos para el Desarrollo del Software
Project Director: Ing Luis Merchn Paredes.
VI
TABLA DE CONTENIDO
INTRODUCCION ............................................................................................................. 1
1 GENERALIDADES .................................................................................................... 2
1.1 PLANTEAMIENTO DEL PROBLEMA .................................................................... 2
1.2 OBJETIVOS ........................................................................................................... 4
1.2.1 Objetivo General .............................................................................................. 4
1.2.2 Objetivos Especficos ....................................................................................... 4
1.3 JUSTIFICACION .................................................................................................... 4
1.4 IMPACTOS ESPERADOS DEL PROYECTO......................................................... 5
1.5 PLAN DE TRABAJO............................................................................................... 5
1.5.1 Fase de Anlisis de Sistemas Legados. .......................................................... 6
1.5.2 Fase de Anlisis de aplicaciones Oracle Forms6i como sistema legado. ........ 6
1.5.3 Fase de Anlisis de arquitecturas objetivo multi-capa candidatas y sus
metodologas de migracin. .......................................................................................... 6
1.5.4 Fase de Diseo de la gua de migracin para aplicaciones Oracle
Forms6i hacia una arquitectura objetivo multicapa. ...................................................... 6
1.5.5 Fase de Generacin de la Gua de migracin.................................................. 6
1.6 CRONOGRMA ....................................................................................................... 7
2 MARCO TERICO / ESTADO DEL ARTE ................................................................ 8
2.1 Sistemas Legados (3) ............................................................................................. 9
2.1.1 Caractersticas que hacen de un sistema, realmente un legado (12) ............ 10
2.1.2 Clasificacin de los sistemas legados (12) (13) ............................................. 11
2.1.3 Opciones para la evolucin de sistemas legados .......................................... 12
3 ARQUITECTURA E HISTORIA DE ORACLE FORMS ............................................ 19
3.1 Qu es Oracle Forms? ....................................................................................... 19
3.2 Cmo funciona Oracle Forms?........................................................................... 21
3.3 Integracin con herramientas CASE de Oracle Designer ..................................... 21
3.3.1 Caractersticas de los Formularios o Formas en Oracle Forms. .................... 21
3.3.2 Lgica de aplicaciones en Oracle Forms y Oracle Reports ........................... 23
3.4 Arquitectura de las aplicaciones Oracle Forms .................................................... 24
3.5 Aplicaciones Oracle Forms como aplicaciones legadas ....................................... 25
4 ARQUITECTURA DE SOFTWARE ......................................................................... 28
4.1 Arquitectura multinivel .......................................................................................... 28
4.1.1 Arquitectura multinivel de una aplicacin web ............................................... 29
4.2 Arquitectura multicapa .......................................................................................... 31
4.2.1 Patrn de diseo Model-View-Controller (MVC) ............................................ 31
4.3 Comparacin de la arquitectura multinivel con MVC ............................................ 33
5 GUIA DE MIGRACIN DE SISTEMAS LEGADOS Oracle Forms6i HACIA
UNA ARQUITECTURA MULTICAPA ............................................................................. 34
INTRODUCCION ........................................................................................................ 34
CONTENIDO DE LA GUA ......................................................................................... 34
VII
VIII
LISTA DE FIGURAS
FIGURA 1. CICLO DE VIDA DE UNA APLICACIN ......................................................................................................................... 10
FIGURA 2. CLASIFICACIN DE SISTEMAS LEGADOS (11) (12) ....................................................................................................... 11
FIGURA 3 . PROCESO DE SIMULACIN PROPUESTO POR PINHEIRO (14) ......................................................................................... 13
FIGURA 4. PROCESO DE MANTENIMIENTO DE SOFTWARE (13)..................................................................................................... 14
FIGURA 5. PERSPECTIVA DE REINGENIERA COMO SOLUCIN DE UN PROBLEMA DELIMITADO (3)......................................................... 15
FIGURA 6 . PERSPECTIVA DE REINGENIERA COMO SISTEMA (3) .................................................................................................... 16
FIGURA 7 . PROCESO DE REINGENIERA, PROPUESTO POR SOMMERVILLE (13) ................................................................................ 17
FIGURA 8. ELEMENTOS FORMS ............................................................................................................................................. 22
FIGURA 10. EJEMPLO DE LGICA EN UNA FORMA DE ORACLE FORMS6I ........................................................................................ 23
FIGURA 9. RELACIN ENTRE TABLAS O VISTAS CON BLOQUES DE DATOS ....................................................................................... 23
FIGURA 11. FORMS SERVER BASADO EN UNA ARQUITECTURA CLIENTE/SERVIDOR ............................................................................ 24
FIGURA 12. ARQUITECTURA DE ORACLE FORMS 10G EN ADELANTE ............................................................................................. 25
FIGURA 13. CICLO DE VIDA DE ORACLE FORMS ........................................................................................................................ 26
FIGURA 14. ASPECTOS CONSIDERADOS PARA VALORACIN DE UN SISTEMA .................................................................................... 27
FIGURA 15. DIAGRAMA DE UN ENTORNO DE APLICACIN WEB MULTINIVEL ................................................................................... 29
FIGURA 16. RELACIN ENTRE LOS MDULOS DEL PATRN MVC .................................................................................................. 32
FIGURA 17. USO DEL PATRN OBSERVADOR PARA DESACOPLAR EL MODELO ACTIVO DE LA VISTA........................................................ 32
FIGURA 18 . UNA COMN INFRAESTRUCTURA DE TI LEGADA....................................................................................................... 40
FIGURA 19. PASOS CLAVES PARA EL MAPEO DE LAS DISCIPLINAS Y FASES DE RUP ............................................................................ 43
FIGURA 20. DOCUMENTAR EL PROCESO DE NEGOCIO APOYADO Y EL MODELO DE DOMINIO ............................................................... 44
FIGURA 21. ANALIZAR LA ARQUITECTURA DE LA ACTUAL BASE DE DATOS ....................................................................................... 44
FIGURA 22. EJEMPLO DE ACOPLAMIENTO EN UNA APLICACIN ORACLE FORMS6I ........................................................................... 48
FIGURA 23. ARQUITECTURA DE MIGRACIN DE APLICACIONES FORMS HACIA JEE+ADF .................................................................. 50
IX
LISTA DE TABLAS
INTRODUCCION
Los permanentes avances tecnolgicos, el creciente grado de complejidad de los
sistemas de informacin y el permanente cambio de los requerimientos de los
usuarios son algunos de los factores del aumento de los sistemas legados en el
ecosistema tecnolgico de las organizaciones, razn por la cual en muchas de
ellas llevan a la consideracin evolucionar, mantener o migrar dichos sistemas.
Dentro del ciclo del desarrollo del software, la etapa del mantenimiento es una de
las ms importantes y menos planeadas, aunque es una de las ltimas en
realizarse se ha convertido en la principal actividad en cuanto a recursos
necesarios y costes.
Segn la terminologa ANSI-IEEE, el mantenimiento del software es: El proceso
de modificar un sistema de Software o componente de ste, una vez ha sido
entregado, para corregir fallas, mejorar el desempeo u otras caractersticas,
adaptar o cambiar su entorno...
Aclarado el anterior trmino, se entiende el por qu las empresas gastan en
promedio entre el 60 y 85 por ciento de su presupuesto de Tecnologa de
Informacin en mantenimiento de aplicaciones legadas que no cumplen con las
necesidades cambiantes de la competencia de la organizacin1. A pesar de la
posible obsolescencia, los sistemas legados continan manteniendo una ventaja
competitiva a travs del apoyo al proceso de negocio, acumulando invaluable
conocimiento y data histrica (1).
Diversos factores internos y externos, econmicos, de mercado, legales,
administrativos o polticas de organizacin, exigen cambios continuos en el
negocio. Estos cambios generan o causan modificaciones en los requerimientos
de software que recaen sobre los sistemas tecnolgicos, haciendo necesaria la
introduccin de cambios para alinearse a los nuevos requerimientos del negocio
(2).
Por consiguiente si en la organizacin, luego de evaluadas las alternativas para el
aprovechamiento de los sistemas legados, se elige la migracin como estrategia;
el propsito del presente proyecto servir de gua en definir criterios claves para la
migracin de sistemas legados, especficamente aquellos basados en tecnologa
Oracle Forms6i cuya arquitectura objetivo sea hacia una arquitectura multi-capa.
CAPITULO 1.
1 GENERALIDADES
1.1 PLANTEAMIENTO DEL PROBLEMA
La creciente competitividad de las compaas, por esforzarse a ser ms eficaces y
efectivas en el desarrollo cotidiano de sus actividades, hace que las directrices
empresariales permanezcan en constante cambio para lograr sus objetivos. Estos
cambios frecuentemente afectan los procesos del negocio, casi siempre
administrados en los sistemas de informacin de las compaas, los cuales deben
ser adaptados para soportarlos.
En el momento que estos sistemas de informacin se resistan al cambio de las
crecientes necesidades de las compaas para tener contacto ms cercano con
sus clientes, al cambio tecnolgico organizacional, a la integracin con otros
sistemas o al uso de la internet como canal comunicacin, por ejemplo; se
consideraran sistemas legados y se requerira de un anlisis de las estrategias
de aprovechamiento de estos sistemas.
De esta manera, los sistemas de informacin que fundamentalmente estn
dirigidos a la parte operativa de las organizaciones, cuyo mantenimiento o soporte
es costoso, y normalmente son de misin crtica adems de tener una integracin
de componentes en donde se mezclan presentacin y lgica de negocio, tales
como las aplicaciones Oracle Forms6i actualmente, podran catalogarse como
sistemas de informacin legados y representaran para la organizacin una
desventaja tecnolgica que se hace necesaria de evolucin.
Muchos de esos sistemas de informacin que permanecen funcionando durante
aos, se convierten en islas muy eficientes en la estructura vertical de la
organizacin, pero estn desactualizadas tecnolgicamente, son monolticas y su
integracin horizontal con otros sistemas software se han convertido en un
verdadero reto (3). Este proceso de evolucin e integracin involucra cambios a
nivel tecnolgico, los cuales en el contexto de la migracin de software encuentran
cualidades de transformacin o adaptacin.
Cerca del 80 % de los sistemas de informacin todava corren en plataforma
legada (4), pero el deseo de reemplazar estos legados se ve limitado por
restricciones como:
1.2 OBJETIVOS
1.2.1 Objetivo General
Facilitar una gua que sirva como complemento a los proyectos de reingeniera
para la migracin de aplicaciones basadas en tecnologa Oracle Forms6i hacia
una plataforma multicapa.
1.3 JUSTIFICACION
Durante mucho tiempo, las organizaciones han acumulado valioso conocimiento
de sus negocios en sistemas de informacin que adaptaron para soportar su
operacin, delegndoles una responsabilidad importante en los procesos del
negocio. Estos sistemas con el paso del tiempo fueron madurando junto a las
reglas del negocio dentro de las fases de mantenimiento a las que fueron
expuestos, llegando en muchos casos a un punto en donde la tecnologa limitaba
su continua evolucin.
En estos casos las directivas de las organizaciones, viendo el creciente y
acelerado avance tecnolgico ven posibles ventajas que les ayudaran a mejorar
su competitividad de la mano de cambios constantes en las estrategias del
negocio. Por sta razn, los ejecutivos de informtica durante las etapas de
mantenimiento preventivo y/o correctivo de los sistemas de informacin con los
que cuenta la organizacin, se les hace prioritario no perder el ritmo de las
tendencias tecnolgicas que permitan apoyar el logro de los objetivos de la
organizacin.
Aunque existen varias alternativas de evolucin de sistemas legados, en algn
momento la migracin de aplicaciones legadas de la mano de la reingeniera se
4
Resultado/Producto Esperado
Gua de migracin
Indicador
Gua
Beneficiario
Entidades interesadas en
realizar
proyectos
de
migracin de aplicaciones
legadas
1.6 CRONOGRMA
X
X
Mes
5
Mes
4
Mes
3
Fase
1. Anlisis de Sistemas Legados.
X
2. Anlisis de Oracle Forms6i como
X
sistema legado.
3. Anlisis de arquitecturas candidatas
multi-capa.
4. Diseo de la gua de migracin para
aplicaciones Oracle Forms6i hacia una
arquitectura objetivo multi-capa.
Mes
2
Mes
1
X
X
Andy Kyte, Gartner Group. Eliminate 'Legacy' in One Simple Step. Un sistema de etiquetado como
"legado" es degradante para el sistema y no proporciona informacin til sobre el valor que ofrece ni una
indicacin de la futura estrategia para el sistema. Ms tiles y mejores descriptores pueden y deben ser
utilizados..
10
11
Los mdulos de aplicacin tienen interfaces bien definidas con los servicios
de base de datos, presentar y otras aplicaciones.
12
Abandonar el sistema legado y sustituirlo por uno nuevo. Esta opcin debera
elegirse cuando los procesos de negocio no reciben alguna contribucin por parte
del sistema, por lo que se debera planear la migracin del sistema legado a un
nuevo sistema. Al respecto Pinheiro (15) propone un proceso para simular y
determinar el comportamiento de la migracin antes de hacerla operativa.
ste modelo se basa en la definicin de una carga de trabajo sinttica7, de la que
se derivan actividades de modelamiento, experimentacin, simulacin y validacin
para predecir el comportamiento de un sistema objetivo o de destino.
El proceso de simulacin para la evaluacin del funcionamiento de un sistema de
destino se muestra en el diagrama de actividad en la Figura 3 mediante la produccin
de un modelo vlido. En la etapa de modelamiento se especfica el modelo, en la
actividad de simulacin se ejecuta el modelo y se producen las salidas de la
simulacin, que junto a los resultados de la experimentacin, permiten hacer la
validacin
Carga de trabajo sinttica: Concepto que define al conjunto de informacin recogida tanto del
nuevo sistema como del sistema legado como insumo para la propuesta de simulacin.
13
14
15
16
Pedraza (3), cita a E. Wohlstadter, S. Jackson, P. Devanbu. para definir a los wrappers como una
capa envolvente de software que asla un sistema legado de una exigente carga de
interoperabilidad, de forma que el sistema pueda mantenerse incluso sin modificaciones.
9
Vase la definicin en http://es.wikipedia.org/wiki/Screen_scraping
17
18
3 ARQUITECTURA
FORMS
HISTORIA
DE
ORACLE
19
IAF
(*1)
Database
2
Character/
GUI
Character
FastForms+IAG
Character
Name
Version
Comments
No IDE
SQL*Forms
Character
SQL*Forms
2.3
Character
New IDE, No PLSQL, User Exits, INP ASCII File, FRM Runtime File
SQL*Forms
Character
6-7
Gui /
Character
Major Rewrite, New IDE, PLSQL, X Support, Generate code to enforce constraints
Major Rewrite, New IDE, FMB source binary file, FMX Runtime, optimized for Client-Server. New interface is
slow, buggy and not popular with client base.
Oracle Forms
4.0
Gui /
Character
Major Rewrite, New IDE based on Object Navigator & Property Sheets. Good release, fast, popular with client
base. Oracle wanted customers to upgrade from v4 quickly because v4 was very buggy and Oracle was
contracted to support v4 for a period of time for some large, important customers. So, Oracle named this
release 4.5 (rather than 5) which allowed Oracle to claim continued support for v4. This allowed some
customers who were locked into v4 for the life of their project to upgrade from v4 to v4.5 by claiming that this
was a patch release even though it was clearly a major release.
Gui /
Character
Gui /
Character
Gui /
Character
Forms Server / Web Forms introduced. Client-Server still available and used by most clients. Forms Server
mode is slow, buggy and uses a lot of memory per session.
9i
Gui
Client-Server runtime removed leaving Forms Server as only runtime option. Same memory requirements as
before but memory is now cheaper so not as big an issue.
10g
10g
Gui
This is a Forms 9 release (9.0.4.0.19). Renamed externally to indicate support for 10g database. Menu-HelpAbout displays v9.0.4.0.19. Not forward compatible with 10gr2 (cant open 10gr2 forms in 10g/904)
Oracle Forms
10gr2
10gr2
Gui
version 10.1.2.0.2 - registry home key moved. Max NUMBER length reduced from 40 to 38
Oracle Forms
11g
11g
GUI
Oracle Forms
4.5
Oracle Forms
Oracle Forms
Oracle Forms
6i
Oracle Forms
9i (*2)
Oracle Forms
(*1) Cada versin de Oracle Forms puede conectarse a numerosas versiones de bases de datos ORACLE y es vendido y lanzado separadamente de la Base de Datos ORACLE. Oracle
Forms es generalmente compatible con versiones posteriores y anteriores de la Base de Datos ORACLE, por ejemplo: Oracle Forms 9 puede conectarse a menores versiones Oracle 8, 9,
10 y 11. Las versiones de bases de datos listadas aqu son las versiones primarias que estuvieron disponibles en el momento del lanzamiento de Forms.
(*2) Los productos Oracle histricamente han seguido su propia numeracin-release y convenciones de nombrado. Esto cambi con Oracle RDBMS 9i release cuando Oracle
Corporation inici la estandarizacin de Oracle Forms (y Reports y Developer) para usar el mismo mayor nmero de versin que la base de datos. Esto explica el salto en Oracle Forms
versiones desde 6i a 9i (no hubo v7 o v8).
10
20
11
21
22
23
24
25
31/01/2005
Fin de Soporte
Extendido
31/01/2008
26
sta figura muestra la evolucin que han tenido los productos desde sus inicios
como aplicaciones en modo bloque, pasando a aplicaciones en modo carcter,
mejorando sus capacidades en su momento con
con la innovadora arquitectura
27
4 ARQUITECTURA DE SOFTWARE
En el marco de desarrollo del presente trabajo, sern consideradas dos
arquitecturas de software como arquitecturas objetivo de una migracin de las
aplicaciones Oracle Forms. Antes de ahondar en stas dos alternativas se
describe el concepto de arquitectura de software definido por Bass de la
siguiente manera (21):
"La arquitectura de software de un sistema o programa de computacin es la
estructura o estructuras del sistema, la cual comprende los componentes del
software, las propiedades de esos componentes visibles externamente, y las
relaciones entre ellos".
La arquitectura de un sistema software puede basarse en un modelo o estilo
arquitectnico particular (14). Garlan y Shaw son citados por Sommerville para
definir un estilo arquitectnico como: un patrn de organizacin de un sistema
tal como una organizacin cliente-servidor o una arquitectura por capas.
Los conceptos de capa y de nivel se usan indistintamente. Sin embargo, un
punto de vista bastante comn es que en verdad hay una diferencia, y que una
capa es un mecanismo lgico para la estructuracin de los elementos que
componen la solucin de software, mientras que un nivel es un mecanismo de
estructuracin fsica de la infraestructura del sistema (22).
A continuacin se presenta dos de las arquitecturas ms apropiadas que
soportan un adecuado nivel de descomposicin de las unidades del sistema
software que una aplicacin Oracle Forms6i contiene.
28
29
30
31
Sin embargo, una de las motivaciones de utilizar el patrn MVC es hacer que el
modelo sea independiente de la vista (25). Si el modelo tuvo que notificar a las
vistas de los cambios, se volvera a introducir la dependencia que se est
buscando evitar. Afortunadamente, el patrn observador proporciona un
mecanismo para alertar a otros objetos de los cambios de estado, sin introducir
en ellas las dependencias. Las vistas individuales implementan la interface
Observer y se registra en el modelo. El modelo rastrea de la lista de todos los
observadores que se suscriben a los cambios. Cuando el modelo cambia, el
modelo se repite a travs de todos los observadores registrados y les notifica del
cambio. Este enfoque es a menudo llamado "publicacin-suscripcin". El modelo
no requiere informacin especfica sobre la vista. De hecho, en situaciones en
las que el controlador necesita ser informado de los cambios de modelo (por
ejemplo, para activar o desactivar las opciones de men), todo lo que el
controlador tiene que hacer es implementar la interfaz Observer y suscribirse a
los cambios del modelo.
Figura 17. Uso del patrn observador para desacoplar el modelo activo de la vista
En situaciones donde hay muchas vistas, tiene sentido para definir varias
interfaces, cada una de las cuales describe un tipo especfico de cambio de
32
modelo. Cada vista puede suscribirse nicamente a los tipos de cambios que
son relevantes a la vista.
33
INTRODUCCION
Los sistemas legados son el resultado de muchos aos de experiencia
combinada, el desarrollo y la personalizacin adems de la acogida de los
procesos de negocio bsicos que se siguen para proporcionar una ventaja
competitiva. Esto, combinado con la fiabilidad y la estabilidad de estos sistemas
que en la mayora de casos son de escaso valor y de alto riesgo para la
organizacin los hace candidatos de un plan de sustitucin. El reemplazo y la
reescritura son necesarios en ciertos casos, pero si la aplicacin legada
existente satisface las actuales necesidades de negocio, lo ms probable es que
este legado pueda ser transformado efectivamente para satisfacer las
necesidades de la empresa en el futuro (11).
La Gua de Migracin por s sola, no constituye un activo para un proyecto de
reingeniera, el cual requiere mnimamente un proceso que lo gestione y un
lineamiento claro a seguir dado por la metodologa que se adapte a las
caractersticas del proyecto.
La ruta o camino de migracin de preferencia que se desee tomar es
influenciada por el lugar que se desee estar. Si la motivacin para considerar
una migracin a una tecnologa diferente, es explotar las caractersticas y el
poder de ese objetivo, entonces se debe estar dispuesto a hacer grandes
cambios de arquitectura.
Bajo esta perspectiva, la presente gua se constituye en una herramienta de
orientacin en la elaboracin de planes de reingeniera de aplicaciones legadas
Oracle Forms6i, teniendo en cuenta los riesgos de los proyectos e incluyendo el
punto de vista especfico de la tecnologa a migrar con su arquitectura objetivo.
CONTENIDO DE LA GUA
La gua se dirige a dos grupos distintos. Un grupo se compone de los
responsables a cargo de la planificacin e implementacin de las estrategias y
proyectos de las TI. El segundo grupo lo forman los Administradores TI en las
organizaciones que gestionan proyectos de desarrollo o migracin de
34
12
36
37
5.1.2 Recomendaciones
Forms6i
Especficas
de
migracin
Oracle
13
38
39
Uno de los retos de TI que puede ser observado del anterior diagrama es que la
mayora de las aplicaciones se comunican directamente entre s. Esta
dependencia puede convertirse en un verdadero problema cuando una
aplicacin tiene que ser modificada o eliminada. Cualquier modificacin puede
llevar a la actualizacin de cada lnea de comunicacin a su manera nica. Por
lo tanto, estos cambios pueden llegar a ser un esfuerzo costoso. Esta situacin
se denomina alto acoplamiento entre las aplicaciones y se est convirtiendo en
un verdadero dolor de cabeza para algunas empresas, pues estos entornos
tecnolgicos promueven el deterioro de las aplicaciones convirtindolas en
legadas.
Caractersticas a valorar del sistema legado Oracle Forms6i
En ste punto se supone que el sistema legado representa un importante activo
para la organizacin y que realmente vale la pena volver a usar en un nuevo
entorno tecnolgico. As que el valor del actual activo debe ser valorado:
40
punto inicial del proyecto de migracin, es realmente muy valorado contar con la
existencia del activo legado, ya que se establece un punto de comparacin y
uso. Particularmente, el sistema legado le permitir identificar ms fcilmente:
El nico peligro de que el sistema legado pueda ser un obstculo, es que sea
valorado de manera errnea o de manera incompleta.
41
Plan de Proyecto, que muestra los principales hitos y lo que se desea lograr, tal
vez iteraciones y sus objetivos especficos, y una Lista de Riesgos. Tambin se
necesita un Caso de Negocio, para poder hablar sobre los beneficios de hacer el
proyecto y el enfoque que tomar. Este Caso de Negocio se basar en una
estimacin de los costes: el personal y otros requisitos (herramientas,
middleware, formacin), que, a su vez, depender de la magnitud del trabajo que
est por hacer. A medida que avance hacia la fase de transicin, se necesita un
Plan de Implementacin, que muestra cmo el nuevo sistema se implementar,
en sustitucin del antiguo.
42
Figura 19. Pasos claves para el mapeo de las disciplinas y fases de RUP14
14
43
Siguiendo con las tareas para encontrar el modelo, se deben analizar las tablas
de la base de datos actual y registrarla como producto de trabajo en un Modelo
de Datos. Este es el resultado de una nueva tarea: Anlisis de la Base de Datos,
la cual no hace parte del estndar RUP, pero se acerca a la parte de la tarea de
ingeniera inversa en la disciplina de Diseo de la Base de Datos. Ver Figura 21.
44
Como resultado final de ste paso, se espera contar como producto de trabajo
una estructura abstracta del sistema legado: el Modelo de Anlisis de Casos de
Uso y sus enlaces de trazabilidad para otros elementos del modelo.
Paso 3. Recuperar la arquitectura del sistema software legado.
En ste ltimo paso de la ingeniera inversa, la idea se centra en transformar el
Modelo de Anlisis de Casos de Uso del paso anterior y por medio de
heursticas lograr llegar al Documento de Arquitectura de Software.
El resumen del Paso 3, se muestra en la Tabla 5 incluyendo la relacin de las
tareas y los roles quienes las ejecutan.
Tabla 5. Tareas para cada rol involucrado en recuperar la arquitectura del sistema
legado
Rol
Tarea
Arquitecto de Software
Analizar el Modelo Implementado
Define la Ejecucin Detallada
Analista de Casos de Uso
Ejecuta los Casos de Uso
Analiza el Grafo de Llamadas
Analista de Implementacin Mapea Funciones para implementar el Modelo
Valida la Arquitectura Hipottica
Arquitecto de Software
Reconstruye la Arquitectura de Alto Nivel
45
Como resultado de este paso, podemos esbozar la estructura de alto nivel del
cdigo de acuerdo a la agrupacin que posteriormente se mapearan en las
clases de la nueva plataforma arquitectnica multicapa o en una capa de lgica
en la base de datos segn su conveniencia. En ste punto cabe hacer la
anotacin que estas agrupaciones han permanecido en constante modificacin
durante los aos de mantenimiento del sistema. El resultado de esta tarea se
registra en una versin actualizada del Documento de Arquitectura de Software.
Requerimientos
Arquitectura y Diseo
Pruebas
Documentacin Tcnica y de Usuario
Una vez se haya establecido la Lnea Base de los artefactos RUP, se puede
proceder con el proyecto del sistema legado como si fuera un ciclo Evolutivo de
RUP.
Directriz del Proyecto de Migracin
De acuerdo a las recomendaciones de Oracle, expuestas en la seccin 5.1.2,
para lograr una evolucin adecuada y probada de las aplicaciones Oracle
Forms6i se definir la arquitectura objetivo multicapa con el estilo arquitectnico
MVC, desarrollo basado en JEE usando JDeveloper y ADF los cuales permiten
la integracin de componentes software sobre el Servidor de Aplicaciones; es
decir un entorno tecnolgico favorable a las necesidades del negocio.
46
47
15
48
B. Dejar el cdigo en
PL/SQL y colocarlo
en la Base de
Datos
C. Una aproximacin
mixta
El acceso a datos o el
cdigo de manipulacin de
datos es generalmente ms
rpido en la Base de Datos.
Reduccin de riesgo
Aumento del desempeo
de la aplicacin porque
minimiza el trfico de la
red.
El cdigo de Interfaz de
Usuario en Java, y el cdigo
de manipulacin de datos
en la base de datos.
16
Abreviatura para referir al Sistema Legado Oracle Forms6i, en el marco de ste documento.
49
51
6 TRABAJO FUTURO
La Gua para la migracin de aplicaciones legadas Oracle Forms6i hacia una
arquitectura multicapa, deja las puertas abiertas para el desarrollo de nuevos
proyectos:
Debido a que los proyectos de migracin tienen un alance definido, es
importante que se establezcan lmites bien claros cuando se elaboran los
procesos contractuales de ste tipo de proyectos, para que los esfuerzos
de estas iniciativas no sean subvalorados afectando drsticamente los
costos. sta problemtica enmarca un nuevo proyecto, consistente en la
elaboracin de lineamientos contractuales especficos para los proyectos
de modernizacin de aplicaciones legadas.
La presente gua deja abierta la posibilidad a que se derive un proyecto
de estimacin de costos y eficiencia econmica para los proyectos de
evolucin y modernizacin de aplicaciones legadas Oracle Forms6i.
Un trabajo de continuidad que puede tener cabida, sera el del
involucramiento de alguna disciplina de ingeniera que permita el
mejoramiento del proceso de tomas de decisiones de los proyectos de
modernizacin de aplicaciones, permitiendo valorar, mejorar y alinear los
objetivos de la organizacin (financieros, organizativos, innovacin) con
los objetivos del proyecto de reingeniera.
52
7 CONCLUSIONES
En la actualidad, las organizaciones de TI estn bajo creciente presin
para reducir costes y aumentar su capacidad de reaccin a las demandas
del negocio, por lo que los sistemas legados se convierten en un
problema para las empresas debido a que en la mayora de los casos, su
mantenimiento es difcil y costoso adems de la falta de respuesta
oportuna a las necesidades actuales de las empresas.
A pesar de que no estaba dentro del alcance del proyecto, se identific la
necesidad del uso de una metodologa evolutiva que permitiera adaptarse
a las caractersticas de un proyecto de migracin. Es por esto que
algunas de las disciplinas de RUP aplican en mayor o menor medida
dependiendo del tipo de evolucin que se escoja y la cantidad de
informacin del sistema legado objeto de modernizacin.
Para la transformacin del activo software legado Oracle Forms6i en un
activo desplegado un una arquitectura JEE multicapa, se propuso un
proyecto de reingeniera gestionado por las disciplinas de RUP y
desagregado en dos sub-proyectos (de ingeniera inversa y de
desarrollo), con el propsito de aumentar el control de las fases que
involucran la migracin de aplicaciones legadas.
Un error frecuente en los proyectos de evolucin de aplicaciones es
involucrar muchos cambios a la vez durante la ejecucin del proyecto. Por
ejemplo, en un proyecto de migracin de un sistema legado a una nueva
plataforma, buscar un cambio en el proceso de desarrollo de software al
mismo tiempo que se quiere una nueva herramienta o IDE de desarrollo
que lo soporte; es decir, involucrar por ejemplo RUP con JDeveloper en
un equipo de trabajo que no est familiarizado completamente con las
dos. En dado caso, la recomendacin es fortalecer el entrenamiento y la
capacitacin de la organizacin en la filosofa de RUP y el cmo la
herramienta lo apoya.
53
BIBLIOGRAFA
1. Zoufaly, Federico. Developer.com. Issues and Challenges Facing Legacy
Systems. [Online] 2002. http://www.developer.com/article.phpr/1492531/Issuesand-Challenges-Facing-Legacy-Systems.htm.
2. Evolucin de un sistema legado: mantener o migrar? IT-Liverage. [Online]
http://it-leverage.com/legacy1.aspx.
3. Pedraza Garca, Gilberto. Evolucin e Integracin de Aplicaciones Legadas:
Comenzar de Nuevo o Actualizar? Universidad Nacional de Colombia. [Online]
Abril 23-25, 2008. http://pisis.unalmed.edu.co/3CCC/pdf/76.pdf.
4. Leonid, ERLICKH. Integrating Legacy systems using Web Services. [Online]
Agosto
2002.
http://www.bijonline.com/Article.asp?ArticleID=584&DepartmentId=11.
5. Ulrich, William M. Legacy Systems: Transformation Strategies. 2002.
6. William M. Ulrich, Philip Newcomb. Information Systems Transformation
Architecture Driven Modernization. s.l. : Morgan Kaufmann OMG Press, 2010.
7. H. M. Sneed and S. Opferkuch. Training and Certifying Software Maintainers,
pages 113122. [book auth.] IEEE Computer Society. Athens, Greece :
European Conference on Software Maintenance and Reengineering (CSMR),
2008.
8. Andreas Fuhr, Tassilo Horn, Andreas Winter. Model-Driven Software
Migration. Oldenburg, Koblenz : s.n.
9. The Institute of Electrical and Electronics, Inc. IEEE Standard for Software
Maintenance. IEEE Std 1219-1998. 1998.
10. Marco Torchiano, Massimiliano Di Penta, Filippo Ricca, Andrea De
Lucia, Filippo Lanubile. Software Migration Projects in Italian Industry:
Preliminary Results from a State of the Practice Survey. Research Centre of
Software
Technology.
[Online]
http://www.rcost.unisannio.it/mdipenta/papers/evol08.pdf.
11. Price, Steven. Oracle Forms to SOA: A Case Study in Modernization. s.l. :
Oracle Corporation, 2008.
12. Rojas, Nolberto Jaimes. Conviviendo con sistemas legados. [Online]
http://paradigma.uniandes.edu.co/index.php?option=com_content&task=view&id
=16&Itemid=1&lang=en&showall=1.
13. Massari A, Mecella. M IL TRATTAMENTO DEI LEGACY SYSTEM. [Online]
http://www.dis.uniroma1.it/~mecella/publications/Miscellanea/legacy_system.pdf.
14. Sommerville, Ian. Ingeniera del Software. Sptima Edicin. s.l. : Addison
Wesley.
15. P. Pinheiro, A. Laender, P. Golgher. Stanford Knowledge Systems, AI
Laboratory. A Simulation Model for the Performance Evaluation for Migrating a
Legacy
System.
[Online]
Junio
2010.
http://www.ksl.stanford.edu/people/pp/papers/PinheirodaSilva_CSMR_2001.pdf.
16. Rodriguez, Alfredo, Mrquez, Antonio and Toro, Miguel.
ingenieriasimple.com. Gestin de la evolucin del software. El eterno problema
de
los
legacy
systems.
[Online]
Septiembre
2010.
http://www.ingenieriasimple.com/papers/GestionArchivosLegacy.pdf.
54
55