Tesis de grado



Descargar 0.86 Mb.
Página1/24
Fecha de conversión13.03.2017
Tamaño0.86 Mb.
  1   2   3   4   5   6   7   8   9   ...   24


logoespol02

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

Facultad de Ingeniería en Electricidad y Computación
Eguana Reports

Servidor de Reportes en Tecnología Java y XML
TESIS DE GRADO
Previa a la obtención del Título de:

Ingeniero en Computación Especialización Sistemas Tecnológicos

Ingeniero en Computación Especialización Sistemas Tecnológicos

Ingeniero en Computación Especialización Sistemas de Información

Presentada por:



Roy Stalin Cox Sosa

David Fernando Pérez Mawyín

José Xavier Pérez Sigüenza

GUAYAQUIL – ECUADOR

2009
DEDICATORIA

A nuestros padres, esposas, familiares y amigos.TRIBUNAL DE GRADUACIÓN








MSc. Jorge Aragundi

SUB-DECANO DE LA FIEC



Ing. Luis Muñoz

DIRECTOR DE TÓPICO



























MBA. Ana Tapia Rosero

MIEMBRO PRINCIPAL



MSc. Carmen Vaca Ruiz

MIEMBRO PRINCIPAL



DECLARACIÓN EXPRESA
“La responsabilidad del contenido de este Proyecto nos corresponde exclusivamente; y el patrimonio intelectual de la misma, a la Escuela Superior Politécnica del Litoral”

(Reglamento de exámenes y títulos profesionales de la ESPOL)



Roy Stalin Cox Sosa

David Fernando Pérez Mawyín


José Xavier Pérez Sigüenza



RESUMEN

Eguana Reports es un sistema de reportes desarrollado por los estudiantes del Tópico de Graduación “Desarrollo de Aplicaciones Transaccionales con Java y XML”.

El sistema demuestra el uso extenso de tecnología J2EE (Java 2 Enterprise Edition). Bajo esta plataforma se puede encontrar, dentro del proyecto, varias herramientas de código abierto integradas para alcanzar un objetivo. Asimismo, este documento puede constituir una guía práctica para aquellos desarrolladores interesados en J2EE.

Eguana Reports es una aplicación independiente. Puede integrarse con cualquier otra aplicación que utilice una fuente de datos y generar reportes a partir de estos.

ABREVIATURAS UTILIZADAS


AJAX: Asynchronous JavaScript And XML. JavaScript y XML Asíncrono.

API: Application Programming Interface. Interfaz de Programación de Aplicaciones.

CSV: Comma Separated Values. Valores Separados por Coma.

DAO: Data Access Object. Objeto de Acceso a Datos.

DHTML: Dynamic HTML. HTML Dinámico.

DOC: Extensión para archivos de Microsoft Word.

DOM: Document Object Model. Model de Objeto de Documento.

DTD: Document Type Definition. Definición de Tipo de Documento.

EIS: Enterprise Information System. Sistema de Información Empresarial.

EJB: Enterprise JavaBeans.

GWT: Google Web Toolkit. Kit de Herramientas Web de Google.

HTML: HyperText Markup Language.

HTTP: HyperText Transfer Protocol. Protocolo de Transferencia de Hipertexto.

HQL: Hibernate Query Language. Lenguaje de Consulta de Hibernate.

IBM: International Business Machines.

IDE: Integrated Development Environment. Ambiente Integrado de Desarrollo.

J2EE: Java 2 Enterprise Edition

J2SDK: Java 2 SDK.

JDBC: Java DataBase Connectivity. Conectividad Java a Base de Datos.

JDO: Java Databinding Objects. Objetos Java para Enlace de Datos.

JNDI: Java Naming and Directory Interface. Interfaz Java para Nombres y Directorios.

JRE: Java RunTime Environment.

JRXML: JasperReports XML.

JSF: Java Server Faces.

JSP: JavaServer Pages.

JSTL: JSP Standard Tag Library. Librería de Tags Estándar para JSP.

JTA: Java Transaction API.

LGPL: Lesser General Public License. Licencia Pública General Reducida.

MVC: Model-View-Controler. Modelo-Vista-Controlador.

OC4J: Oracle Container 4 Java.

OSI: Open Source Initiative. Iniciativa de Código Abierto.

PDF: Portable Document Format. Formato de Documento Portable

POJO: Plain Old Java Object.

RTF: Rich Text Format. Formato de Texto Enriquecido.

SAX: Simple API for XML.

SDK: Software Development Kit. Kit para Desarrollo de Software.

SOFIA: Salmon Open Framework for Internet Applications.

SQL: Structured Query Language. Lenguaje de Consulta Estructurado.

SSL: Secure Socket Layer. Capa de Conexión Segura.

UML: Unified Modeling Language. Lenguaje Unificado de Modelamiento.

WML: Wireless Markup Language.

XLS: Extensión para archivos de Microsoft Excel.

XML: Extensible Markup Language.

XSD: XML Schema Definition. Definición de Esquema XML.

ÍNDICE GENERAL



DEDICATORIA 2

A nuestros padres, esposas, familiares y amigos.TRIBUNAL DE GRADUACIÓN 3

DECLARACIÓN EXPRESA 4

4

RESUMEN 5



ABREVIATURAS UTILIZADAS 6

ÍNDICE GENERAL 10

ÍNDICE DE FIGURAS 11

ÍNDICE DE TABLAS 11

INTRODUCCIÓN 12

Justificación y objetivos 14

Descripción del proyecto tecnológico 15

Objetivos del proyecto 16

Código Abierto (Open Source) 17

Justificación de la tecnología J2EE 20

JBoss – Servidor de Aplicaciones 27

MySQL – Base de Datos 29

Struts – Framework para implementar arquitectura MVC 31

Hibernate – Herramienta de Mapeo Objeto-Relacional 32

Jasper Reports – Herramienta de Reportes 33

Castor XML – Framework de Mapeo Objeto-XML 34

Servlets 35

1.Lee cualquier dato enviado por el usuario: comúnmente se introducen por una página web. 37

2.Obtiene otra información sobre la petición que se encuentra embebida en la propia petición http, como los cookies, el nombre del host que envió la petición, entre otros. 37

3.Genera los resultados: se puede requerir el procesamiento y acceso a base de datos, cómputos, entre otros. 37

4.Genera un documento con los resultados: una página HTML, una imagen, un archivo comprimido, entre otros. 37

5.Establece los parámetros apropiados para la respuesta. 37

6.Envía la respuesta al cliente: el documento resultante, con el formato final, se entrega como respuesta al cliente. 37

Java Server Pages (JSP) 38

Arquitectura de aplicación MVC (Modelo-Vista-Controlador) 39

Análisis 43

Alcance del proyecto. Una visión desde el punto de vista técnico. 44

Funcionalidad 46

Diagrama de clases 49

Casos de uso 53

Diagrama de interacción de objetos 63

Modelo Entidad-Relación 72

Análisis de convergencia de versiones de herramientas de trabajo 73

Eclipse como herramienta de desarrollo 75

Integración entre servidor, aplicación y base de datos 77

Integración de herramientas para implementar arquitectura MVC 79

Interacción entre Jasper Reports y Castor 80

Diseño – Arquitectura del Servidor de Reportes 82

Arquitectura de la Aplicación Web 84

Capa de persistencia y modelo 85

Capa de vista 88

Capa de lógica y control 89

Cómo se realiza la comunicación entre los componentes de la aplicación 90

Módulo de Administración de Reportes 94

Creación de grupos 94

Creación de usuarios 96

Asignación de reportes 98

Mantenimiento de grupos 99

Mantenimiento de usuarios 102

Mantenimiento de reportes 105

Roles de los usuarios de Eguana Reports 108

Administrador del Servidor de Reportes 110

Administrador de Reportes 111

Usuarios 112

Reportes 112

Cómo funciona Jasper Reports 113

Diseño y almacenamiento de reportes 116

Ejecución de reportes 118

Formatos de salida de los reportes 121

Selección de modelos de reportes y plantillas 121

Implementación 123

Instalación de J2SDK 124

Instalación del Servidor de Aplicaciones JBoss 126

Instalación de la base de datos MySQL 128

Implementación de Struts 129

Implementación de Hibernate 136

Ejemplos de mapeo 143

Configuración de JasperReports 147

Ejemplos de reportes 147

Configuración de Castor 150

Instalación de Eguana Reports 155

Plan de pruebas 157

CONCLUSIONES 162

RECOMENDACIONES 165

ANEXOS 167

DESCRIPCIÓN DE LAS TABLAS 168

HIBERNATE EN DETALLE 179

SOFIA 195

(Salmon Open Framework for Internet Applications) 195

BITÁCORA DE DESARROLLO 203

INSTALACIONES ANTERIORES 229

BIBLIOGRAFÍA 255



ÍNDICE DE FIGURAS

ÍNDICE DE TABLAS

INTRODUCCIÓN

El objetivo de este trabajo es demostrar la capacidad de la plataforma J2EE y el movimiento Código Abierto (Open Source, en inglés), además de la integración de cada uno de los componentes utilizados. Este proyecto fue desarrollado completamente con herramientas y plataformas de código abierto.

Eguana Reports, como módulo, es la solución a la necesidad de reportes del sistema de E-Guana. E-Guana es una iniciativa de implementación de un sistema E-Procurement. A pesar de esto, Eguana Reports no depende de los otros módulos para su funcionamiento. Es independiente y puede integrarse sin problema a otro sistema que incluya una fuente de datos para generar reportes.

La organización de este documento se detalla a continuación:

El primer capítulo, “Justificación y Objetivos”, explica todos los conceptos y planteamientos del proyecto, además de justificar las herramientas y plataformas a utilizar.


El segundo capítulo, “Análisis”, detalla las herramientas, versiones y su interacción, además del análisis de las funcionalidades del proyecto.

El tercer capítulo, “Diseño – Arquitectura del Servidor de Reportes”, muestra los conceptos de diseño y arquitectura MVC aplicado al proyecto, el diseño de la aplicación y sus módulos.

El cuarto capítulo, “Implementación”, explica detalles técnicos de instalación, configuración e implementación de los componentes principales del proyecto.

Por último, se presentan las conclusiones y recomendaciones, bibliografía, glosario y anexos.


Capítulo 1
  1   2   3   4   5   6   7   8   9   ...   24


La base de datos está protegida por derechos de autor ©bazica.org 2016
enviar mensaje

    Página principal