Desarrollo de Capas de Abstracción para Mejorar la Eficiencia en la Construcción de Aplicaciones Web J2EE
Professor Advisor
dc.contributor.advisor
González Jure, Pablo
es_CL
Author
dc.contributor.author
Acevedo Muñoz, Sergio Eduardo
es_CL
Staff editor
dc.contributor.editor
Facultad de Ciencias Físicas y Matemáticas
es_CL
Staff editor
dc.contributor.editor
Departamento de Ciencias de la Computación
es_CL
Associate professor
dc.contributor.other
Ochoa Delorenzi, Sergio
Associate professor
dc.contributor.other
Benguria Donoso, José
Admission date
dc.date.accessioned
2012-09-12T18:17:25Z
Available date
dc.date.available
2012-09-12T18:17:25Z
Publication date
dc.date.issued
2008
es_CL
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/103224
Abstract
dc.description.abstract
Las capas de abstracción son componentes de software que permiten encapsular funcionalidades
de un sistema permitiendo la reutilización de componentes a través de una interfaz de
programación estandarizada.
El objetivo del presente trabajo de título es desarrollar 2 capas de abstracción que permitan
agilizar los tiempos de desarrollo de aplicaciones Web bajo la arquitectura J2EE. Estas capas
están enfocadas al desarrollo de componentes EJB, y la otra para el desarrollo de capas de
persistencia vía JDBC.
El surgimiento de estas capas se plantea debido a los largos tiempos de desarrollo que se
tienen al usar EJB y JDBC directo para desarrollar servicios y persistencia.
Lo anterior se justi ca por varias razones, por ejemplo, en el caso de los servicios EJB
existe una gran cantidad de archivos que se tienen que manipular para hacer un EJB, lo
cual trae multiples con ictos en el sistema de control de versiones cuando trabajan varios
desarrolladores simultáneamente en la capa de servicios, o bien la di cultad para tener traza
de errores cuando se tienen problemas de con guración de estos archivos y otras clases de
problemas referidos a la falta de automatización de ciertos procesos repetitivos de invocación
de implementaciones nales y manejo de excepciones.
En el caso de la persistencia, los problemas típicos que se plantean son las tareas repetitivas
y conducentes a error, como por ejemplo, obtención y cierre de los recursos, consultas mal
escritas, validaciones de largo, tipo y otras que no se efectúan antes de la ejecución de consultas,
complejidad y código poco mantenible para hacer consultas con ltros dinámicos, la
asociación de valores de los resultados de las consultas a objetos de negocios muchas veces
se ve replicada, etc.
Todo lo anterior induce la necesidad de crear una abstracción que permita hacer todas estas
tareas de una manera lo más simple posible tratando de no perder algunas de las características
que tienen estas tecnologías.
El resultado nal corresponde a 2 capas de abstracción, la primera tiende a facilitar la creación
de EJB, de manera de que el desarrollo de estos mismos involucre menos procesos de con guración
y manejo de archivos, como a su vez tener cierto nivel de independencia de la tecnología
EJB en términos de encapsularla al desarrollador. La segunda por su parte, permite encapsular
las tareas de obtención de recursos y conectividad a nivel de aplicación contra la base
de datos, en conjunto con la generación y ejecución de consultas SQL y la transformación de
datos de objetos de negocios a datos del modelo relacional.
Como resultado de este trabajo, a través del uso de métricas de comparación, se pueden
notar las diferencias en tiempos de desarrollo, facilidad de mantención y complejidad entre
una solución usando capas de abstracción versus una solución sin ellas.
Cabe destacar que ambas capas de abstracción en de nitiva son capas generadoras de código,
con la característica que el código generado se hace en tiempo de ejecución, lo cual tiene el
bene cio que no es necesario tener código generado dentro del código de las aplicaciones que
utilicen estas capas de abstracción.