Mecanismos De Persistencia
o
Facultad de Ingenier´
ıa
Universidad de la Rep´blica
u
MECANISMOS DE PERSISTENCIA EN
SISTEMAS ORIENTADOS A OBJETOS
Informe de Proyecto de Grado para la obtenci´n
o
del grado de Ingeniero en Computaci´n de la
o
Facultad de Ingenier´ Universidad de la Rep´blica
ıa,
u
8 de junio de 2007
Montevideo - Uruguay
Autores:
Pablo Miranda
Joaqu´ Prudenzaın
Andr´s Segurola
e
Supervisores:
Ing. Daniel Calegari
Ing. Jorge Corral
Resumen
La orientaci´n a objetos se ha convertido en el paradigma dominante
o
para el desarrollo de sistemas de informaci´n. En este contexto, el meo
canismo utilizado para resolver la persistencia de los datos es de vital
importancia, no solo por su impacto en el desempe˜o final del sistema
n
sino tambi´n alos efectos de asegurar atributos deseables de calidad
e
como la mantenibilidad, reusabilidad y escalabilidad. Existen numerosas alternativas a la hora de seleccionar un mecanismo para acceder a
los datos y posteriormente manipularlos. Estas se diferencian en los enfoques utilizados, los contextos a los que aplican, su impacto a nivel
arquitect´nico, entre otros. La amplia gama deposibilidades puede reo
sultar abrumadora a la hora de seleccionar uno acorde a las necesidades
del proyecto. Por tal motivo, es de suma importancia contar con una
visi´n general, objetiva y bien estructurada del problema. Este trabajo
o
presenta un relevamiento de los mecanismos existentes para estructurar el acceso a datos persistentes en un sistema orientado a objetos, y
en base a esto, unaclasificaci´n de mecanismos que mitiga carencias
o
detectadas en clasificaciones existentes. Esta clasificaci´n incluye tanto
o
mecanismos de uso industrial (Bases de Datos Relacionales, Mapeadores
Objeto-Relacional, etc.) como mecanismos a´n emergentes acad´micau
e
mente (AOP, Prevalencia, etc.). Asimismo, se definen criterios de comparaci´n entre mecanismos y entre productos que implementan cierto
omecanismo. En base a estos criterios se realiza una comparaci´n entre los
o
mecanismos de la clasificaci´n as´ como entre los productos Hibernate,
o
ı
JPA/Toplink Essentials y LLBLGen Pro correspondientes al mecanismo Mapeadores Objeto-Relacional. Los resultados obtenidos permiten
mejorar la toma de decisiones a la hora de seleccionar el mecanismo (y
producto) a utilizar por parte de undesarrollador.
´
Indice general
1. Introducci´n
o
1
2. Estado del Arte
2.1. Introducci´n . . . . . . . . . . . . . . . . . . . . . . . .
o
2.2. Bases de Datos y DBMSs . . . . . . . . . . . . . . . .
2.3. Interfaces de Acceso a Datos y Lenguajes de Consulta
2.4. Mapeadores . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Lenguajes de Modelado . . . . . . . . . . . . . . . . .2.6. Patrones de Dise˜o . . . . . . . . . . . . . . . . . . . .
n
2.7. Generadores de C´digo . . . . . . . . . . . . . . . . . .
o
2.8. T´cnicas Alternativas . . . . . . . . . . . . . . . . . .
e
2.8.1. Programaci´n Orientada a Aspectos (AOP) . .
o
2.8.2. Lenguajes Persistentes . . . . . . . . . . . . . .
2.8.3. Prevalencia . . . . . . . . . . . . . . . . . . . .
2.9. Resumen . . . . . . .. . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
6
8
10
11
12
12
13
13
14
14
3. Mecanismos de Persistencia
3.1. Introducci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
o
3.2. Clasificaciones Existentes . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Clasificaci´n I:Software Practice Advancement 2006 . . . . . . . .
o
3.2.2. Clasificaci´n II: Survey of Persistence Approaches . . . . . . . . .
o
3.2.3. Clasificaci´n III: Agile Database Techniques . . . . . . . . . . . . .
o
3.2.4. Clasificaci´n IV - Approaches to Adding Persistence to Java . . . .
o
3.2.5. Clasificaci´n V: Integrating Programming Languages & Databases
o
3.2.6. Criticas a las...
Regístrate para leer el documento completo.