Académique Documents
Professionnel Documents
Culture Documents
CASO DE PRUEBA:
Sistema para el alquiler, control de películas y
clientes en una videotienda
Documento de arquitectura
Y servicios
Versión <0.1>
Historia de Revisión
Fecha Versión Descripción Responsable
18/03/2005 <0.1> Creación. Cristian Castañeda.
INVESTIGADORES:
ALEJANDRO BAEZ
CRISTIAN CASTAÑEDA
DIEGO CASTAÑEDA
DIRECTOR:
JAVIER SANCHEZ
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
TABLA DE CONTENIDO
1. Introducción......................................................................................................... 4
2. Capa de base de datos ....................................................................................... 5
2.1 Plataforma ..................................................................................................... 5
2.2 Diseño (Diagrama entidad relación) .............................................................. 5
2.3 Implementación ............................................................................................. 7
2.3.1 Tabla constante....................................................................................... 7
2.3.2 Tabla pelicula ......................................................................................... 7
2.3.3 Tabla caja................................................................................................ 8
2.3.4 Tabla subtitulo ......................................................................................... 8
2.3.5 Tabla audio ............................................................................................. 8
2.3.6 Tabla contrato ......................................................................................... 9
2.3.7 Tabla persona ......................................................................................... 9
2.3.8 Tabla referencias..................................................................................... 9
2.3.9 Tabla factura ......................................................................................... 10
2.3.10 Tabla detalle........................................................................................ 10
3. Mapeo objeto - relacional .................................................................................. 11
3.1 Por que Hibernate?...................................................................................... 11
3.2 Modelo de objetos ....................................................................................... 11
4. Capa DAO ......................................................................................................... 14
4.1 Afiliados ....................................................................................................... 14
4.2 autorizados .................................................................................................. 15
4.3 Contratos ..................................................................................................... 15
4.5 Facturas....................................................................................................... 16
4.6 Películas ...................................................................................................... 17
4.7 Referencias.................................................................................................. 17
4.8 Roles............................................................................................................ 18
5. Capa de servicios.............................................................................................. 19
5.1 Contratos ..................................................................................................... 19
5.1.1 Crear contratos...................................................................................... 19
5.1.2 Eliminar contratos (desafiliar)................................................................ 19
5.1.3 consultar contratos ................................................................................ 20
5.1.4 Agregar Autorizado ............................................................................... 20
5.1.4 Eliminar Autorizado ............................................................................... 20
5.1.5 Actualización de afiliados ...................................................................... 21
5.1.6 Actualización de autorizados................................................................. 21
5.2 Películas ...................................................................................................... 21
5.2.1 Creación Películas: ............................................................................... 21
5.2.2 Consulta de Películas:........................................................................... 21
5.2.3 Actualización de Películas:.................................................................... 22
5.2.4 Eliminar Películas:................................................................................. 22
5.2.5 Alquilar películas ................................................................................... 22
2
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
3
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
1. Introducción
Para la verificación de los resultados del proyecto titulado: “Framework unificado
para desarrollo de interfaces J2EE con soporte a objetos persistentes en bases de
datos relaciónales”, se ha decidido el desarrollo de una aplicación que nos sirva
para probar los resultados de este.
Luego de analizar varias opciones, decidimos desarrollar una aplicación para una
videotienda, debido que al desarrollar esta aplicación se podrán verificar muchos
elementos que serán manejados dentro del desarrollo de este proyecto, tales
como manejo de interfaces y manejo de objetos persistentes entre otros.
4
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
2.1 Plataforma
5
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
6
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
• Subtitulo: Indica los idiomas en los que esta subtitulada una película.
• Audio: sirve para representar los distintos idiomas en que esta hablada una
película.
• Constante: Entidad donde se guardan los valores globales que maneja el
sistema.
• Caja: Entidad que sirve para representar las diferentes categorías que
pueden tener las películas según su importancia o antigüedad.
• Persona: Representa los distintos tipos de clientes que pueden interactuar
con la videotienda. Pueden ser afiliados o beneficiarios.
• Referencias: Sirve para guardar las referencias personales asociadas a un
contrato.
• Contrato: Sirve para representar una afiliación de una persona a la
videotienda.
• Factura: Sirve para representar los ingresos de la videotienda. Están
asociados a un contrato.
• Detalle factura: Sirve para representar los distintos rubros que pueden ser
cobrados en una factura.
2.3 Implementación
7
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
8
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
9
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
10
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
Además al utilizar una herramienta que nos permita realizar mapeos de este tipo,
se podrá establecer una clara separación del paradigma relacional (bases de
datos) y el paradigma orientado a objetos (clases), lo cual nos permitirá tener un
mayor grado de definición para cada una de las capas de la arquitectura.
• Es open source
• Es un framework maduro, ya que es uno de los mas utilizados actualmente
con muy buenos resultados.
• Hibernate da un completo soporte al modelo de programación orientado a
objetos, lo cual es una ventaja en el desarrollo de este proyecto ya que este
se hará sobre JAVA.
• Ofrece un lenguaje natural para la búsquedas en la base de datos (HSQL)
que es muy similar al que hemos manejado(SQL).
• Maneja XML para los mapeos, lo que hace que estos sean de fácil
entendimiento por la estructura que este maneja.
11
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
12
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
13
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
4. Capa DAO
La siguiente capa dentro de nuestra arquitectura es la capa DAO. Esta capa surge
de la necesidad de mantener la integridad de los datos que tenemos guardados en
la base de datos. Para esto, hemos decidido utilizar el patrón DAO, el cual sirve
para separar el acceso a los datos de capas como la de lógica de negocio o
presentación. Esto permite asegurar la integridad de nuestra base de datos y
poder tener un mayo mantenimiento dentro de nuestra aplicación.
Para nuestra aplicación, hemos decidido tener daos para afiliados, autorizados,
contratos, facturas, películas, referencias y roles. Todos ellos se encuentra dentro
del paquete Co.Edu.Javeriana.Fwj2ee.Dao de nuestra aplicación. A
continuaciones describirán las funciones de cada uno de esos DAO´s.
4.1 Afiliados
14
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
4.2 autorizados
4.3 Contratos
15
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
4.5 Facturas
16
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
4.6 Películas
4.7 Referencias
17
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
4.8 Roles
18
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
5. Capa de servicios
La siguiente capa dentro de nuestra arquitectura es la capa de servicios. Esta
capa es la encargada de manejar toda la lógica del negocio, proveyendo a las
capas superiores todas las funcionalidades que fueron descritas para el sistema.
Los servicios los hemos agrupado según los elementos que estén implicados
dentro de este, los grupos que hemos definido son: contratos, películas, facturas y
reportes.
A continuación se definirán cada unote los servicios que ofrecerán estos grupos.
5.1 Contratos
Dentro del grupo de los servicios ofrecidos para los contratos se han definido los
siguientes:
19
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
20
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
5.2 Películas
Dentro del grupo de los servicios ofrecidos para las películas se han definido los
siguientes:
21
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
Definición: Para la lectura de películas se debe recibir los criterios que debe tener
la película que se quiere leer. El sistema deberá realizar una búsqueda con HSQL
según los criterios que se reciban y deberá retornar el(los) POJO que
corresponda.
Prototipo: public Set consultarPelicula(Película película)
22
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
5.3 Facturas
Dentro del grupo de los servicios ofrecidos para las facturas se han definido los
siguientes:
23
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
5.4 Reportes
Dentro del grupo de los servicios ofrecidos para los reportes se han definido los
siguientes:
24
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
25
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
6. Capa de interfaz
Finalmente, utilizando todas las capas que se definieron bajo ella se encuentra la
capa de interfaz o de presentación, esta es la encargada de interactuar con el
usuario, por ello se debe tener especial cuidado para desarrollarla.
Para nuestro proyecto, esta interfaz va a estar desarrollada sobre J2EE, que es la
finalidad de este proyecto de grado. Por eso posteriormente se realizara un nuevo
documento donde se especifiquen todos los elementos de diseño que debe tener
esta capa, luego de que se profundice mas en este tema.
26
Framework unificado para desarrollo de interfaces J2EE
Documento de Arquitectura y Servicios
Versión 0.1
7. Conclusiones
Con la realización de este documento, se han definido claramente las capas sobre
las cuales se basara nuestra aplicación de prueba, que de manera mas general,
serán las mismas sobre las cuales se enmarca el desarrollo de este proyecto de
grado. Esto permitió que se defina de mejor manera las funcionalidades de cada
una de estas capas, lo cual permite el desarrollo de un mejor diseño.
Esta claro que ahora nos debemos preocuparnos por conocer mas de la ultima
capa de nuestra arquitectura, la capa de interfaz, por que es esta la piedra angular
de nuestro proyecto. Con el transcurso del proyecto, este documento se ira
depurando, lo que nos permitirá establecer elementos importantes para la
definición de la metodología sobre la cual queremos trabajar.
27