centro nacional de investigación y desarrollo tecnológico ma... · 2014-02-13 · 2.7.4.1 hojas...

125
Centro Nacional de Investigación y Desarrollo Tecnológico Cenidet “GENERADOR AUTOMÁTICO DE INFORMES WEB EN BASE AL ESQUEMA DE BASES DE DATOS UTILIZANDO TECNOLOGÍAS XML” TESIS PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN CIENCIAS DE LA COMPUTACIÓN PRESENTA C. MA. DEL ROSARIO VÁZQUEZ ARAGÓN DIRECTOR DE TESIS: M.C. MARIO GUILLÉN RODRÍGUEZ CODIRECTOR: DR. VICTOR J. SOSA SOSA CUERNAVACA, MOR. NOVIEMBRE DEL 2003

Upload: lythuy

Post on 07-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Centro Nacional de Investigación y Desarrollo Tecnológico

Cenidet “GENERADOR AUTOMÁTICO DE INFORMES WEB EN BASE AL ESQUEMA DE BASES DE DATOS UTILIZANDO TECNOLOGÍAS XML”

TESIS

PARA OBTENER EL GRADO DE

MAESTRO EN CIENCIAS EN CIENCIAS DE LA COMPUTACIÓN

PRESENTA C. MA. DEL ROSARIO VÁZQUEZ ARAGÓN

DIRECTOR DE TESIS: M.C. MARIO GUILLÉN RODRÍGUEZ

CODIRECTOR: DR. VICTOR J. SOSA SOSA

CUERNAVACA, MOR. NOVIEMBRE DEL 2003

Page 2: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Dedicatoria

A mis padres:

Este trabajo se los dedico a ustedes, ya que siempre conté con su apoyo moral, siendo mi principal motivación para concluir mis estudios.

A Alex:

Por brindarme esa fuerza para seguir adelante y por confiar en mí. Gracias por permanecer a mi lado. Te quiero.

Page 3: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Agradecimientos

El desarrollo de este trabajo de tesis no hubiera sido posible sin el apoyo de instituciones como: CoSNET y SEP. Le Agradezco a CoSNET por financiar mis estudios de maestría durante dos años, así como a la SEP que apoyó parte de mis estudios. Agradezco a cenidet por darme la oportunidad de realizar mis estudios de maestría en esta institución, así como a los profesores que laboran en ella, por haberme proporcionado parte de sus conocimientos. Gracias. Especialmente, agradezco a mi director de tesis, al M.C. Mario Guillén Rodríguez por guiarme y orientarme durante el desarrollo del trabajo de tesis. Así como a los integrantes del comité revisor: M.C. José Antonio Zarate Marceleño, Dr. René Santaolaya Salgado y Dr. Joaquín Pérez Ortega por sus acertadas recomendaciones durante el desarrollo del trabajo de tesis.

Page 4: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

i

Contenido Pág.

Lista de figuras .................................................................................................................................... v

Lista de tablas ...................................................................................................................................viii

Capítulo 1. Introducción ...................................................................................................................1 1.1 Antecedentes...........................................................................................................................2

1.2 Planteamiento del problema ...................................................................................................3

1.3 Propuesta de Solución ............................................................................................................3

1.4 Alcances ..................................................................................................................................4

1.5 Limitaciones.............................................................................................................................4

1.6 Beneficios ................................................................................................................................5

1.7 Organización del documento ..................................................................................................5

Capítulo 2. Marco teórico .................................................................................................................6 2.1 Aplicación Web........................................................................................................................7

2.2 Conectividad con bases de datos ...........................................................................................8

2.3 Páginas Web Dinámicas .........................................................................................................8

2.3.1 Servlets...........................................................................................................................8

2.3.2 Tecnología JavaServer Page ........................................................................................9

2.4 Librería Estándar de Etiquetas JSP .......................................................................................9

2.5 Servidor de aplicaciones .......................................................................................................10

2.6 Lenguaje de Marcado Extensible ........................................................................................10

2.6.1 Objetivos del XML ........................................................................................................11

2.6.2 Características de un documento XML........................................................................11

2.6.3 Ventajas de utilizar XML en las aplicaciones Web......................................................12

2.7 Tecnologías XML asociadas.................................................................................................12

2.7.1 Definición de Tipo de Documento ...............................................................................12

2.7.2 Esquema ......................................................................................................................12

2.7.3 Espacio de Nombres ...................................................................................................13

2.7.4 Hojas de Estilo..............................................................................................................13

2.7.4.1 Hojas de Estilo en Cascada ...............................................................................13

2.7.4.2 Lenguaje Extensible de Hojas de Estilos ..........................................................13

2.7.4.2.1 Funciones de los componentes de XSL ....................................................14

2.7.4.2.2 Funcionamiento del XSL............................................................................15

Page 5: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

ii

2.7.4.3 XSL versus CSS............................................................................................16

2.8 API para el Procesamiento de XML .....................................................................................16

2.8.1 Características de las APIs Java .................................................................................17

2.8.2 Tecnologías del JAXP..................................................................................................17

2.8.2.1 API Simple para XML .........................................................................................17

2.8.2.2 Modelo de Objeto de Documento .....................................................................18

2.8.2.3 Características SAX y DOM................................................................................19

Capítulo 3. Estado del arte .............................................................................................................20 3.1 Introducción ...........................................................................................................................21

3.2 Trabajos de Investigación .....................................................................................................21

3.2.1 Formateador de Informes Web para un Sistema Manejador de Bases de datos

Distribuídas..................................................................................................................21

3.2.2 Módulo XML para acceder al sistema Administrador de Bases de Datos SQLmx a

través de Internet.........................................................................................................22

3.3 Herramientas Comerciales....................................................................................................22

3.3.1 Crystal Report Versión 8.5 ...........................................................................................22

3.3.2 Oracle Reports Versión 9i ............................................................................................23

3.3.3 Impromptu Web Reports ..............................................................................................23

3.3.4 Generador de reportes PDF de FyTek ........................................................................24

3.3.5 EspressReport Versión 3.0 ..........................................................................................24

3.4 Librerías de soporte para generar reportes (freeware) ........................................................24

3.4.1 Generador de reportes genérico..................................................................................24

3.4.2 Faceless Versión 1.1.8.................................................................................................25

3.4.3 JFreeReport Versión 8.5 ..............................................................................................25

3.4.4 Maverick MVC Framework...........................................................................................25

3.4.5 Freemarker ...................................................................................................................26

3.5 Características principales de las herramientas analizadas ................................................27

Capítulo 4. Arquitectura y diseño del sistema............................................................................28 4.1 Descripción del Sistema Generador Automático de Informes Web.....................................29

4.2 Arquitectura del sistema........................................................................................................29

4.3 Componentes del sistema.....................................................................................................31

4.4 Operación del sistema...........................................................................................................32

4.4.1 Fase 1: Traducción al formato XML del esquema de la base de datos y/o consultas

personalizados ............................................................................................................32

Page 6: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

iii

4.4.2 Fase 2: Generación de Hojas de Estilo .......................................................................37

4.4.3 Fase 3: Generación de archivos JSPs a partir del documento XML generado..........37

4.5 Diseño del sistema ................................................................................................................38

4.5.1 Diagrama de Casos de uso..........................................................................................39

4.5.1.1 Caso de uso: Generación del documento XML..................................................39

4.5.1.2 Caso de uso: Aplica diseño ................................................................................40

4.5.1.3 Caso de uso: Genera informe.............................................................................41

4.5.2 Diagramas de Actividades ...........................................................................................41

4.6 Restricciones de diseño ........................................................................................................43

Capítulo 5. Pruebas y resultados del sistema .............................................................................44 5.1 Fase de pruebas....................................................................................................................45

5.2 Plataforma de pruebas..........................................................................................................45

5.3 Obtención de informes Web a partir del esquema de la base de datos utilizando el

SMBDR postgresql 7.1 .........................................................................................................47

5.3.1 Prueba 1: Conexión a la base de datos ......................................................................47

5.3.1.1 Caso A: Datos de entrada válidos ......................................................................47

5.3.1.2 Caso B: Datos de entrada no válidos .................................................................49

5.3.2 Prueba 2: Generación del documento en formato XML a partir del esquema de la

base de datos ..............................................................................................................50

5.3.2.1 Caso A: Generación exitosa del documento XML..............................................50

5.3.2.2 Caso B: Generación fallida del documento XML................................................53

5.3.3 Prueba 3: Generar informes Web................................................................................53

5.3.4 Prueba 4: Conversión del contenido del informe Web generado a formato Excel .....57

5.3.5 Prueba 5: Cambiar el diseño del informe Web............................................................57

5.3.6 Prueba 6: Ejecución de un informe cuya tabla ha sido eliminada de la base datos ..59

5.4 Obtención de informes Web a partir del esquema de la base de datos utilizando el

SMBDR mysql 3.23.57 ..........................................................................................................60

5.4.1 Prueba 1: Conexión a la base de datos ......................................................................60

5.4.2 Prueba 2: Generación del documento en formato XML a partir del esquema de la

base de datos ...............................................................................................................62

5.4.3 Prueba 3: Generar informes Web................................................................................64

5.5 Obtención de informes Web a partir de consultas personalizadas......................................66

5.5.1 Prueba 1: Generación del documento en formato XML..............................................66

5.4.3 Prueba 2: Generar informes Web................................................................................67

Page 7: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

iv

Capítulo 6. Conclusiones ...............................................................................................................69 6.1 Conclusiones generales........................................................................................................70

6.2 Beneficios ..............................................................................................................................70

6.3 Resultados obtenidos............................................................................................................71

6.4 Trabajos Futuros ...................................................................................................................71

Anexos..............................................................................................................................................73 Anexo A. Notas de instalación del sistema.................................................................................74

Anexo B. Sistema de archivos GAR ...........................................................................................75

Anexo C. Guía rápida del sistema ..............................................................................................80

Anexo D. Problemas comunes del sistema ................................................................................99

Anexo E. Problemas comunes del sistema ..............................................................................103

Glosario de términos ...................................................................................................................106 Referencias ...................................................................................................................................109

Page 8: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

v

Lista de figuras Pág.

Figura 2.1. Arquitectura de una aplicación Web ................................................................................7

Figura 2.2. Evolución de la especificación XSL ...............................................................................14

Figura 2.3. Procesador XSLT ...........................................................................................................15

Figura 4.1. Arquitectura del sistema ................................................................................................30

Figura 4.2. Diagrama de clases del sistema ....................................................................................30

Figura 4.3. Diagrama de operación del sistema generando el documento XML a partir de la

extracción de los metadatos de la base de datos ............................................................................33

Figura 4.4. Diagrama de operación del sistema generando el documento XML a partir de

consultas personalizadas .................................................................................................................33

Figura 4.5. Modelo conceptual de la Fase 1.....................................................................................34

Figura 4.6. Esquema de la base de datos Control ..........................................................................35

Figura 4.7. Estructura de árbol generada al utilizar el API DOM ....................................................35

Figura 4.8. Documento XML generado a partir del esquema de la base de datos .........................36

Figura 4.9. Documente XML generado a partir de una consulta .....................................................36

Figura 4.10. Contenido de la plantilla XSL ......................................................................................38

Figura 4.11. Caso de uso del prototipo desarrollado........................................................................39

Figura 4.12. Diagrama de caso de uso para generar el documento XML .......................................40

Figura 4.13. Diagrama de caso de uso para aplicar diseño a los informes ....................................40

Figura 4.14. Diagrama de caso de uso para generar informes .......................................................41

Figura 4.15. Diagrama de actividad para generar el documento XML ...........................................42

Figura 4.16. Diagrama de actividad para generar los archivos JSPs .............................................43

Figura 5.1. Plataforma de pruebas utilizada con el SMBD Postgresql ............................................46

Figura 5.2. Archivo de configuración Drivers.xml ............................................................................47

Figura 5.3. Cuadro de diálogo conexión .........................................................................................48

Figura 5.4. Cuadro de diálogo con datos de la cuenta ...................................................................48

Figura 5.5. Mensaje de éxito al establecer conexión con la base de datos ....................................49

Figura 5.6. Cuadro de diálogo conexión con datos inválidos ..........................................................49

Figura 5.7. Mensaje de error mostrado al no obtener conexión ......................................................50

Figura 5.8. Cuadro de diálogo con las tablas y/o vistas existentes en la base de datos ...............51

Figura 5.9. Documento XML generado a partir del esquema de la base de datos .........................52

Figura 5.10. Esquema conceptual de la base de datos Control .....................................................52

Page 9: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

vi

Figura 5.11. Mensaje de error mostrado al no generarse el documento XML ................................53

Figura 5.12. Sección hojas de estilo del cuadro de diálogo Configuración .....................................54

Figura 5.13. Página index generada por el sistema .........................................................................55

Figura 5.14. Archivo JSP de la tabla profesores ..............................................................................55

Figura 5.15. Informe profesores con el diseño mezclilla ..................................................................56

Figura 5.16. Datos de Conexión .......................................................................................................57

Figura 5.17. Datos del informe Web profesores en formato Excel ..................................................58

Figura 5.18. Informe profesores con el diseño Diseño3D ................................................................59

Figura 5.19. Página de error al no ser posible visualizar un informe Web .....................................60

Figura 5.20. Parámetros de conexión correspondientes al SMBD Mysql........................................61

Figura 5.21. Usuario y password para establecer conexión con el SMBD Mysql ...........................62

Figura 5.22. Mensaje mostrado cuando la conexión se estableció de manera satisfactoria ..........63

Figura 5.23. Tablas y/o vistas existentes en la base de datos Control del SMBD Mysql................63

Figura 5.24. Documento XML generado a partir del esquema de la base de datos del SMBDR

Mysql..................................................................................................................................................64

Figura 5.25. Esquema conceptual de la base de datos control del SMBD Mysql ...........................64

Figura 5.26. Página index con los informes generados del SMBD Mysql .......................................65

Figura 5.27. Informe especialidad con el diseño DiseñoMezclilla....................................................65

Figura 5.28. Cuadro de diálogo para consultas personalizadas ......................................................66

Figura 5.29. Contenido del archivo consultas.xml ...........................................................................67

Figura 5.30. Página index con el informe generado del SMBD Mysql.............................................68

Figura 5.31. Informe Web generado a partir de la consulta realizada ............................................68

Figura B1. Archivos de configuración del sistema ...........................................................................75

Figura B2. Contenido del archivo Gar.xml .......................................................................................76

Figura B3. Contenido del archivo Drivers.xml .................................................................................77

Figura B4. Contenido del archivo Stylesheet.xml ............................................................................78

Figura B5. Archivos de configuración del sistema ...........................................................................79

Figura C1. Menú principal del sistema .............................................................................................80

Figura C2. Opciones de comando del sistema ................................................................................81

Figura C3. Opciones del comando Conexión ..................................................................................81

Figura C4. Cuadro de diálogo Conexión...........................................................................................82

Figura C5. Cuadro de diálogo para establecer el usuario y el password .......................................82

Figura C6. Opciones del comando informes ...................................................................................83

Figura C7. Opciones para generar el documento XML ...................................................................83

Page 10: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

vii

Figura C8. Opciones para establecer por defecto el documento xml a partir del esquema de la

base de datos ..................................................................................................................................84

Figura C9. Selección de tablas sobre las cuales se generará el documento XML ........................84

Figura C10. Cuadro de diálogo con los documentos xml existentes ..............................................85

Figura C11. Cuadro de diálogo para realizar consultas personalizadas .........................................86

Figura C12. Cuadro de diálogo para asignar alias a los campos de las relaciones .......................87

Figura C13. Mensaje de error al no ser posible generar los informes ............................................87

Figura C14. Opciones del comando archivos del sistema ..............................................................88

Figura C15. Visualizacion del contenido de los archivos de configuración del sistema..................88

Figura C16. Subopciones de la opcion Generar del comando Informes ........................................89

Figura C17. Opciones del comando Herramientas .........................................................................89

Figura C18. Sección Hojas de estilo del cuadro de diálogo configuración ......................................90

Figura C19. Sección Directorio de la aplicación del cuadro de diálogo configuración ...................91

Figura C20. Sección Drivers del cuadro de diálogo configuración ..................................................92

Figura C21. Adición al sistema de los datos de los controladores ..................................................93

Figura C22. Opción del comando ayuda ..........................................................................................93

Figura C23. Cuadro de diálogo con información acerca del sistema...............................................94

Figura C24. Cuadro de diálogo conexión ........................................................................................95

Figura C25. Error generado por el servidor de aplicaciones ...........................................................98

Figura D1. Directorios del servidor de aplicaciones ........................................................................99

Figura D2. Contenido del directorio Generator ..............................................................................101

Figura D3. Visualización del archivo especialidad.jsp ...................................................................102

Figura E1. Opciones del menú Inicio .............................................................................................103

Figura E2. Cuadro de dialogo propiedades de Barra de tareas y menú Inicio .............................104

Figura E3. Opciones de carpeta del comando herramientas ........................................................105

Figura E4. Cuadro de dialogo Opciones de carpeta .....................................................................105

Figura E5. Cuadro de dialogo Modificar tipo de archivo ...............................................................105

Page 11: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

viii

Lista de tablas Pág.

Tabla 2.1. Características SAX y DOM ............................................................................................19

Tabla 3.1. Tabla comparativa del estado del arte ...........................................................................27

Tabla B1. Descripción de las propiedades del archivo Gar.xml ......................................................76

Page 12: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo

Introducción En este capítulo se exponen los antecedentes que motivaron la realización de la presente tesis. Se específica la descripción del problema, la propuesta de solución, los alcances y limitaciones.

Page 13: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 1 Introducción

2

1.1 Introducción.

En sus inicios la Internet fue diseñado para desplegar documentos hipertexto con información estática, posteriormente apareció el CGI (Common Gateway Interface), un estándar que permite a los servidores Web interactuar o tener una interfase con aplicaciones externas, que pueden generar páginas dinámicas. Por ejemplo, un programa CGI puede recuperar resultados desde una base de datos e insertar estos resultados como una tabla dentro de un documento hipertexto.

En aplicaciones CGI, por cada petición que llega desde un visualizador, el sistema

operativo crea un nuevo proceso. Una vez que el CGI termina de ejecutarse, los recursos utilizados por el proceso son reclamados por el sistema operativo, la creación de procesos es ineficiente; ya que se consume demasiado tiempo en la obtención y liberación de recursos. El tiempo de respuesta podría ser lento si existen varios usuarios haciendo peticiones de manera concurrente a la misma aplicación Web. Otra limitante de los CGIs es que no se pueden ligar a otros escenarios de procesamiento de peticiones de un servidor web. Esto se debe a que se ejecutan como un proceso separado desde el servidor y es difícil manejar situaciones tales como: autorización, acceso (log in), etc.

A mediados de los 90’s, el lenguaje Java experimentó un gran crecimiento y auge entre

los desarrolladores de aplicaciones, la tecnología Java fue evolucionando dando origen a los Java Servlets que permiten ejecutar aplicaciones Web en el lado del servidor.

La principal diferencia de los servlets con los CGIs es que permiten el uso de multihilos, en

programación multihilos se crea un solo proceso y por cada petición de usuario se genera un hilo, debido a que cada petición del usuario se asocia con un hilo separado, varios hilos o usuarios pueden invocar métodos de servicio al mismo tiempo consumiendo menos recursos. Los multihilos de los servlets son una de las principales ventajas sobre las aplicaciones CGI. La introducción de las Páginas Java del Servidor (JSP, por sus siglas en inglés, JavaServer Pages) ayudan a mejorar las limitantes de los servlets, por ejemplo; modificar una página HTML generada dinámicamente implica que el servlet se recompile nuevamente, debido a que ésta se encuentra embebida en el mismo servlet, otra de las limitantes es que no es posible separar el diseño de la página de la lógica de la programación. Los problemas que presentan los servlets son resueltos por las páginas JSP, ya que éstas separan la presentación de la lógica de la aplicación.

Este trabajo de tesis fué desarrollado en el Centro Nacional de Investigación y Desarrollo

Tecnológico, y el prototipo obtenido permite a los desarrolladores de aplicaciones Web generar sistemas que obtengan información de una base de datos de una manera fácil y rápida, además de automatizar el uso de tareas repetitivas.

1.2 Planteamiento del problema. Las páginas HTML del World Wide Web se han extendido a través de Internet, y ha surgido la necesidad de dotar de mecanismos de programación a las páginas HTML, con el fin de conseguir dinamismo e interacción entre los usuarios y los servidores de Web. De esta manera, el desarrollo de aplicaciones Web profesionales involucra la utilización de tecnologías que permiten obtener información proveniente de clientes y de bases de datos, utilizando programas que funcionen en Internet.

Page 14: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 1 Introducción

3

El desarrollo de aplicaciones Web basadas en bases de datos incluye tareas monótonas y repetitivas, lo que ocasiona que se generen un sinnúmero de programas para las diferentes consultas que se desean desplegar, esto recae en el hecho de que la generación de cualquier página HTML, en donde se despliegan cada una de las consultas y/o vistas, son muy similares entre sí, ya que tienen código en común y solo varían ciertos datos. Lo monótono y repetitivo representa un problema para el desarrollador de aplicaciones, ya que normalmente la generación de páginas HTML se realiza copiando y pegando partes de código predefinido para posteriormente aplicar los cambios necesarios y así adaptarlo a la nueva página.

Además, para el desarrollo de aplicaciones Web basada en base de datos, es necesario

que para la generación de las consultas, los desarrolladores tengan cierto conocimiento, tanto para el diseño de páginas Web como para realizar consultas a una base de datos, sin este conocimiento muchos desarrolladores principiantes se verán limitados para acceder a sus datos a través de Internet e Intranets.

1.3 Propuesta de solución. Dado el problema anteriormente expuesto, se diseñó e implementó una herramienta que permite automatizar el desarrollo de aplicaciones Web basadas en base de datos, a través de la generación de archivos JSP que permitan desplegar la información de las tablas de la base de datos. Lo anterior es posible al extraer el esquema de la base de datos en el formato XML y por medio de transformaciones con herramientas XSLT (por sus siglas en inglés, Extensible Markup Language Transformation) son traducidas a páginas JSP. Así mismo sí se desean consultas especiales que involucren dos o más tablas, éstas se realizan por medio de vistas ó consultas previamente definidas para ello.

Se propuso esta solución, debido a que las consultas a las diferentes tablas y/o vistas

estarán disponibles para el desarrollador de aplicaciones, y de esta manera será posible manipular el formato de diseño de las páginas donde se desplegará la información relacionada al informe. El desarrollo de la herramienta está basado en 3 fases, las cuales se mencionan a continuación:

Fase 1 : Extracción del esquema de la BD en formato XML. Fase 2 : Generación de un archivos JSP. Fase 3 : Módulo divisor del archivo JSP generado en varios JSP.

Para el desarrollo de dicha herramienta se hizo uso de tecnologías tales como: páginas

JSP, Servlets, bibliotecas de etiquetas personalizadas, XML,etc.

1.4 Alcances. Los alcances de este trabajo de tesis, se listan a continuación:

Diseño e implementación de un prototipo para la extracción del esquema de la base de

datos en base a ciertos parámetros introducidos por el usuario tales como el nombre de la base de datos, el SMBD que se está utilizando, así como el directorio donde se localiza el controlador para dicho SMBD.

Page 15: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 1 Introducción

4

Traducción del esquema de la base de datos en lenguaje SQL obtenido en el punto anterior, a un esquema XML.

Diseño del formato de las páginas que despliegan el contenido de las tablas y/o vistas

definidas en la base de datos; para el diseño de estas páginas se hizo uso de la tecnología XSL.

Obtención de un archivo JSP a partir del esquema XML y la hoja de diseño contenida

en un archivo con extensión XSL utilizando tecnología XSLT.

Desarrollo de un módulo separador para dividir el archivo JSP generado en el punto anterior a diversos archivos JSP correspondiente a cada tabla o vista de la Base de Datos.

Diseño e implementación de un servlet controlador de etiquetas JSP.

Despliegue de la información de las tablas de la base de datos.

Generación de varios formatos de diseño para el despliegue de los informes.

La herramienta es capaz de trabajar con el Sistema Manejador de Bases de Datos

Postgresql versión 7.0.3 ó posterior, que soporte el Estándar Internacional de SQL ISO/IEC y tenga un JDBC disponible.

Es posible ejecutar la herramienta en cualquier máquina que tenga instalada la

máquina virtual de java y cuente con un servidor web, el cual debe tener un contenedor de servlets (Tomcat).

1.5 Limitaciones. Los puntos que no se consideraron en el desarrollo de este proyecto de tesis se listan a continuación:

Esta herramienta no permite realizar operaciones de actualización sobre la

información definida en la base de datos.

La herramienta no implementa la optimización del código generado; es decir, el código que se genere puede crecer sin límite dependiendo de las características del informe Web diseñado.

La herramienta es compatible con aquellos sistemas manejadores de bases de datos

(SMBD) que cuenten con un controlador JDBC. 1.6 Organización del documento. Este documento de tesis se encuentra dividido en seis capítulos. A continuación se da una breve explicación acerca del contenido de cada uno de ellos.

Page 16: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 1 Introducción

5

Capítulo II

Se tratan las tecnologías disponibles para procesar documentos XML. Estas tecnologías se dividen en diferentes niveles de abstracción y proporcionan diferentes niveles de utilización para el programador Java. Es posible que algunas tecnologías como SAX, DOM, Xpath y XSLT, se relacionen unas con otras. Además se presenta una introducción a estas tecnologías que existen para el desarrollo de aplicaciones Web, así como el metalenguaje XML y sus tecnologías asociadas.

Capítulo III Se presentan herramientas similares a este trabajo de tesis, tanto comerciales como trabajos de investigación, así como una tabla comparativa entre ellas.

Capítulo IV Se presentan los módulos de los cuales está compuesto el sistema.

Capítulo V Se presentan los casos de prueba a los que fue sometida la herramienta.

Capítulo VI Se presentan las conclusiones que se obtuvieron con el desarrollo de este trabajo de tesis, así como los beneficios que aporta y trabajos futuros que pudieran implementarse a la herramienta.

Anexo A Notas de instalación del sistema.

Anexo B Sistema de archivos GAR.

Anexo C Manual de usuario.

Anexo D Plataforma de ejecución.

Anexo E Configuración del explorador Windows 2000.

Page 17: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

6

Capítulo

Marco teórico En este capítulo se definirá el origen, áreas de aplicación, conceptos y una visión global de las tecnologías relacionadas con XML.

Page 18: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

7

2.1 Aplicación Web. Una aplicación Web es una colección de servlets, páginas JSPs, clases java, archivos de descripción de la aplicación, documentos estáticos HTML (Lenguaje de Marcado de HiperTexto), XHTML (Lenguaje de Marcado de HiperTexto eXtensible), imágenes, etc., y otros recursos que pueden ser empaquetados y ejecutados en distintos servidores de diferentes proveedores. Esto es, una aplicación Web se podría definir como la capa Web de cualquier aplicación.

La Web se diseñó originalmente como un medio para suministrar páginas estáticas a los usuarios de Internet. Cuando un navegador Web solicita una página a un servidor Web, éste último extrae el archivo que contiene la página solicitada de su sistema de archivos y lo devuelve al navegador a través de la conexión HTTP (Protocolo de Transferencia de HiperTexto).

El servidor Web es responsable de administrar un conjunto de documentos almacenados en el sistema de archivos. Cuando el servidor Web recibe la petición para presentar un documento lo recupera, y lo regresa al navegador por medio de una respuesta HTTP.

Hoy en día, las aplicaciones Web se construyen generalmente siguiendo el modelo trifásico. Este modelo surgió ante la necesidad de separar la lógica empresarial de la interfaz gráfica de usuario (GUI) y de las diferentes fuentes de información como podría ser una base de datos ó una aplicación heredada [Maruyama, 2000, pp. 7-8]. De acuerdo con este modelo se ejecutan en plataformas distintas tres procesos separados y perfectamente definidos:

La GUI, es decir, el navegador que se ejecuta en la computadora del usuario. El programa o programas de aplicación que se ejecutan en el servidor Web y que se

encargan de procesar los datos (nivel lógico empresarial). Una aplicación heredada ó un sistema de base de datos requiere de la fase 2 del

modelo.

Figura 2.1 Arquitectura de una aplicación Web.

Page 19: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

8

Para el resto de este documento se considera a la tercera capa del modelo como un Sistema Manejador de Base de Datos.

2.2 Conectividad con bases de datos. Para que un programa de aplicación pueda extraer información de un sistema de administración de base de datos relacionales (RDBMS, por sus siglas en inglés, Relational Database Management Systems), es necesario establecer una conectividad con la base de datos. Ésta permite recuperar y actualizar los datos de forma eficaz y sencilla, sin afectar a la integridad y consistencia de los mismos. Java cuenta con la API denominada JDBC, la cual ofrece una forma para que las aplicaciones Web accedan a bases de datos.

El JDBC fue definido por Sun MicroSystems, y permite que los programas Java ejecuten consultas utilizando el Lenguaje de Consultas Estructurado (SQL, por sus siglas en inglés, Structured Query Language), y por tanto, interactuar con bases de datos compatibles con SQL, condición que casi todos los RDBMSs reúnen. Ésto, unido a la capacidad de Java para ejecutarse en la mayoría de plataformas, permite que una sola aplicación Java de base de datos pueda ejecutarse en distintas plataformas, e interactuar con otros RDBMSs. Por ello, las aplicaciones Web que tengan que acceder a bases de datos deben hacerlo a través de JDBC [Maruyama, 2000, 178-79]. 2.3 Páginas Web Dinámicas. Al utilizar una aplicación Web, lo que devuelve el servidor Web no necesariamente tiene que ser una página estática almacenada en el servidor ya que ésta se puede generar de manera automática al momento en que el cliente hace la solicitud. Para ello, existen varias tecnologías en el lado del servidor tales como: los CGIs, servlets, JSPs, ASP (por sus siglas en inglés, Active Server Pages), PHP, etc., las cuales se explican a continuación y que permiten al desarrollador de aplicaciones generar páginas Web dinámicas. 2.3.1 Servlets. Son programas Java que se ejecutan en el lado del servidor Web y fungen como una capa intermedia entre una petición proveniente del navegador u otra aplicación HTTP y/o bases de datos u otro tipo de aplicaciones del servidor [Hans,2001]. Para este caso únicamente se consideran tecnologías Java. Las principales características de los servlets son [Hall, 2001, pp.5-9, Ceballos, 2000, pp. 737-738]:

Consumen menos recursos porque sólo son cargados la primera vez que se solicitan

sus servicios, debido a que la máquina Virtual de Java permanece inicializada. Cada petición del Servlet es manejada por un hilo Java, y no por un proceso generado por el sistema operativo (como el CGI ).

Debido a que existen varios contenedores de servlets gratuitos o de bajo costo, se

reduce el costo para el desarrollo de servlets.

Page 20: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

9

No requieren soporte para Java en el explorador del cliente, ya que operan en el

dominio del servidor y envían los resultados en HTML. No obstante, se pueden utilizar otras interfaces de cliente como aplicaciones Java o Applets.

Son independientes de la plataforma, ya que están escritos en el lenguaje Java.

La principal limitante que presenta el Servlet, es que no es posible separar, el diseño de la

página, de la lógica de la programación, debido a que la página HTML se encuentra embebida en el mismo Servlet [Chuck,2001].

2.3.2 Tecnología JavaServer Pages. Java Server Pages (JSP) es una tecnología que permite al desarrollador de aplicaciones mezclar HTML estático con instrucciones de Java que permiten generar HTML en forma dinámica [Chuck,2001, Hall, 2001, pp. 9-13], es decir; la tecnología JSP combina elementos del lenguaje de marcas estáticos (HTML) y elementos creados dinámicamente mediante objetos del lenguaje Java.

Los JSP surgen como una solución a las limitantes que presentan los Servlets, ya que permiten separar la presentación de la página, de la lógica de la aplicación. Las páginas JSP son una extensión de la tecnología Servlet ya que simplifican la forma de desarrollar Servlets y hacen énfasis en la parte de presentación de la aplicación. Las páginas JSP son traducidas a un Servlet y compilados en forma automática por el contenedor Web. Por lo que finalmente en el contexto de un servidor Web lo que se ejecuta es un Servlet.

Los JSP son preprocesados y traducidos a archivos Java (Servlet), el compilador de Java compila el archivo fuente y crea el código de Byte que puede ser cargado y ejecutado como un Servlet [Chuck,2001].

La tecnología JSP proporciona un número de características que son ideales para trabajar con XML. Las páginas JSP pueden contener cualquier tipo de datos basados en texto, es por esto que son ideales para generar documentos que contienen marcas XML. Las páginas JSP también pueden usar todo el poder de la plataforma Java para acceder a objetos del lenguaje para analizar y transformar mensajes XML en documentos. En particular, como parte del entorno Java, las páginas JSP pueden usar objetos que utilicen los nuevos APIs Java para procesar datos XML.

2.4 Librería Estándard de Etiquetas JSP. La librería Estándar de Etiquetas JSP (JSTL) es una colección de etiquetas que permiten producir páginas Web dinámicas sin necesidad de aprender el lenguaje Java. JSTL está construída sobre una tecnología en el lado del servidor llamada JSP, la cuál a su vez está construída sobre el lenguaje Java [Bayern, 2002, pp. 4-14]. A diferencia de los JSP donde el uso de sus etiquetas pueden tornarse difíciles de comprender, a menos que quien desarrolle ó dé mantenimiento al JSP sea un programador, JSTL proporciona etiquetas fáciles de usar y comprender; y facilita a los programadores Java el desarrollo de etiquetas personalizadas.

Page 21: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

10

Al utilizar JSTL con JSP, es posible crear páginas que lean documentos XML, que accedan a base de datos y que ejecuten una variedad de tareas. El JSTL está construido sobre una característica JSP conocida como etiquetas personalizadas.

El JSTL 1.0 incluye etiquetas para realizar las siguientes tareas:

Realizar ciclos sobre datos para producir tablas, listas, etc. Operaciones condicionales Importación y procesamiento de datos desde otras páginas Web Manipulación simple de documentos XML Acceso a base de datos Internacionalización y formateo de texto

2.5 Servidor de Aplicaciones.

Para que las páginas Web sean generadas dinámicamente, se requiere que, además de utilizar una tecnología en el lado del servidor (Servlets, JSP, ASP, etc), se utilice un servidor de aplicaciones ó contenedor Web. El contenedor es el que contiene o alberga una aplicación Web, y no es más que la estructura de directorios en donde están colocados todos los archivos necesarios para la ejecución de la aplicación Web. Los datos enviados dentro de la solicitud HTTP se transfieren del servidor Web al servidor de aplicaciones. La aplicación puede utilizar los datos como referencia para obtener otros datos o para realizar cálculos, finalmente se genera en forma dinámica la página HTML que es retornada al navegador Web dentro de la respuesta HTTP.

Un contenedor JSP es un servidor Web al que también se le conoce como intérprete de páginas JSP y etiquetas JSTL.

Actualmente existen una gran cantidad de Servidores de Aplicaciones de los cuales se

puede mencionar: Apache Tomcat [Apache,2002], Allaire Jrun [JRun,2002], ServletExec de New Atlanta [Atlanta,2002], etc. 2.6 Lenguaje de Marcado Extensible. El lenguaje de Marcado Extensible (XML) comenzó a desarrollarse en septiembre de 1996 patrocinado por el W3C (World Wide Web Consortium) con el propósito de diseñar un lenguaje de marcas optimizado para poder ser utilizado en Internet; El W3C es el organismo encargado de mantener las especificaciones y estándares relacionados con la Web: lenguajes HTML y XHTML, protocolo HTTP, etc.

XML combina la simplicidad de HTML con la capacidad expresiva de SGML (Lenguaje Estándar y Generalizado de Marcado), que parte del concepto de tipo de documento que puede

Page 22: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

11

interpretarse como una abstracción de documentos que comparten un objetivo, propiedades y necesidades de tratamiento comunes [Eito,2001 pp. 18-24].

El SGML es el estándar Internacional para la definición de la estructura y el contenido de diferentes tipos de documentos electrónicos; es decir; es un metalenguaje que permite definir lenguajes para definir la estructura y el contenido de los documentos. XML no es ningún tipo de documento SGML, sino que es una versión abreviada de SGML, optimizada para su utilización en Internet.

XML es un estándar industrial para representar datos, y es independiente del sistema

[Goldfarb,1999], por otro lado, el Lenguaje de Marcado de Hipertexto (HTML) permite definir como se van a presentar los datos en la web de una manera estática. A diferencia del HTML, las etiquetas de XML tienen relación con el significado del texto que encierran, mientras que las etiquetas HTML sólo especifican como mostrar el texto.

Además las etiquetas XML son extensibles, esto es que permiten escribir etiquetas XML

propias para describir contenido propio. Con HTML, el diseñador de páginas está limitado a utilizar aquellas etiquetas que han sido definidas en la especificación HTML.

La popularidad de XML se debe a que un documento XML no incluye instrucciones de

formateo, por lo que éste puede visualizarse de varias formas. Mantener los datos separados de las instrucciones de formateo significa que los mismos datos pueden publicarse en diferentes medios.

Entre otras características que contribuyen a la popularidad de XML se puede mencionar

que : XML está escrito en formato de texto, que puede ser leído tanto por los usuarios como por

cualquier software de edición de texto.

2.6.1 Objetivos del XML. La edición de documentos XML persigue los siguientes objetivos:

Diferenciar el contenido Informativo y la estructura de los documentos, de su presentación. Hacer explícita la estructura y los contenidos informativos de los documentos mediante la

utilización de marcas. Crear documentos portables, que puedan intercambiarse y procesarse con facilidad en

sistemas informativos heterogéneos.

2.6.2 Características de un documento XML.

Un documento XML correctamente escrito requiere características importantes: primero que el documento esté bien formado y segundo que sea válido [Marino,2000].

Un documento XML bien formado (well formed) es aquél que se ha establecido de acuerdo con el estándar XML 1.0. Un documento XML está bien formado sí:

Page 23: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

12

Consta de al menos un elemento Todos los elementos están comprendidos dentro del elemento documento o raíz Sus elementos están anidados correctamente Todas las entidades que se utilizan han sido declaradas en el subconjunto interno

de la DTD ó esquema (descritos en la sección 2.7.1 y 2.7.2).

Un documento XML válido es aquél que además de cumplir con la definición del estándar, está lógicamente bien estructurado y define en su totalidad cada uno de sus contenidos sin ambigüedad alguna; es decir, si cumple las restricciones indicadas en su DTD ó esquema. Estas restricciones indican qué elementos pueden aparecer en el documento, en qué orden deben hacerlo, cómo pueden anidarse, que atributos están permitidos para cada elemento, etc. Para que un documento XML sea válido, es necesario disponer de su DTD ó esquema para poder hacer las comprobaciones necesarias.

2.6.3 Ventajas de utilizar XML en las aplicaciones Web. Las ventajas que ofrece XML al ser utilizado en aplicaciones Web se listan a continuación:

Sencillez. La sencillez tiene que ver con la habilidad de XML para representar estructuras de datos en forma de árbol con todas las ventajas que trae consigo.

Variedad de estructuras de datos. XML permite expresar estructuras de datos complejas que satisfacen las exigencias de casi todas las aplicaciones.

Capacidad de tratamiento de caracteres internacionales. Permite gestionar conjuntos de caracteres internacionales. La recomendación 1.0 de XML está definida de acuerdo con el conjunto de caracteres ISO-10646 (Unicode), por lo que todos los caracteres que se utilizan en el mundo son caracteres oficiales.

2.7 Tecnologías XML asociadas. XML es un conjunto de estándares, todos relacionados y complementarios, a continuación se listan algunos de ellos:

Definición de Tipo de Documento (DTD) y Esquemas de XML (XML Schema) Hojas de Estilo: Hojas de Estilo en Cascada (CSS) y Lenguaje Extensible de Hojas

de Estilo (XSL) Espacio de Nombres

2.7.1 Definición de Tipo de Documento. Las etiquetas del XML se pueden definir utilizando un esquema de lenguaje XML, el cual describe la estructura de un conjunto de documentos XML y puede utilizarse para limitar los contenidos de los documentos XML. El lenguaje de esquemas más común es el DTD (Definición de Tipo de Documento), que es lo que le da al XML su portabilidad. Si una aplicación recibe un documento en formato XML y tiene un DTD, se puede procesar el documento de acuerdo a las reglas especificadas en el DTD [Violleau,2002].

Page 24: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

13

2.7.2 Esquema XML. El W3C hizo pública su recomendación para esquemas XML, el 31 de marzo del 2001. A estos esquemas se le conoce como esquemas W3C ó esquemas XSD. Los cuales vienen a sustituir a los DTDs. Una de las características más importantes de los esquemas XML, que constituye una importante diferencia frente a las DTDs, es la posibilidad de definir con mayor precisión nuevos tipos de datos de atributos y de elementos [Eito, 2001, p. 27]; además permite definir nuevas restricciones y características. 2.7.3 Espacio de Nombres XML. Los espacios de nombres XML (NameSpaces) proporcionan un método simple para calificar nombres de elementos y atributos usados en el Lenguaje Extensible para el Formato de Documentos (Extensible Markup Language) asociándolos con espacios de nombres identificados por referencias URI (Uniform Resource Identificator).

El objetivo primario de la especificación espacio de nombres consiste en que el autor de

un documento pueda decirle al analizador que DTD o esquema utilizar para analizar un elemento dado. Para una definición de elemento el analizador consulta el DTD o el esquema apropiado. 2.7.4 Hojas de estilo. Para visualizar el contenido de los documentos XML a través de la Web es necesario aplicarle formato de diseño a esta información, para ello se hace uso de las hojas de estilo, las cuales permiten añadir presentación al documento XML para su visualización en el navegador y que éste sea comprensible a los usuarios.

Actualmente existen 2 enfoques distintos sobre cómo dar estilo a los documentos XML:

Hojas de estilo en cascada (CSS). Lenguaje Extensible de Hojas de Estilo (XSL).

2.7.4.1 Hojas de estilo en Cascada. CSS (por sus siglas en inglés, ) es un lenguaje de hojas de estilos que está diseñado para proporcionar una forma de dotar de estilo a los documentos HTML, permitiendo a los desarrolladores Web separar el contenido de la presentación. Aunque las CSS fueron diseñadas para ser utilizadas con HTML, también son muy útiles para dar estilo a los documentos XML [Morrison, 2002, pp.130-138].

Page 25: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

14

Las CSS existen como estándar Web desde diciembre de 1996, y se basan en el soporte que les da el navegador.

2.7.4.2 Lenguaje Extensible de Hojas de Estilo. XSL (por sus siglas en inglés, ) es una especificación desarrollada dentro del W3C para aplicar formato a los documentos XML, es decir, la hoja de estilo XSL específica como se mostrarán los datos XML [Elliote,1999]. El XSL incluye tanto un lenguaje de transformación (XSLT) como un lenguaje de formateo (XSL:FO) (ver Figura 2.2) [Violleau,2001].

XSLT originalmente formó parte del lenguaje Extensible de hojas de estilo. De hecho, XSLT es técnicamente parte del XSL. El uso del XSL va mas allá del sólo hecho de convertir documentos a archivos de formateo, ya que puede convertir un documento XML a cualquier otro formato, a este lenguaje de transformación se le conoce como XSLT; el grupo de trabajo del W3C obtuvo por separado una especificación propia del XSLT, aunque la especificación XSL muestra que toda la especificación fue considerada para ser parte del XSL [DuCharme,2002].

Lenguaje de Transformación (XSLT): Es aquel que provee elementos que definen reglas para transformar un documento XML a otro documento XML, HTML, PDF u otro formato.

El Lenguaje de formateo (XSL:FO) : Es un vocabulario XML que describe como

formatear el contenido de un documento. Este vocabulario es una colección de elementos especializados llamados objetos de formateo, la cual especifica la página de salida y otros detalles de presentación relacionados.

Figura 2.2. Evolución de la especificación XSL 2.7.4.2.1 Funciones de los componentes de XSL.

XSL es la especificación que desarrolla el lenguaje de formateo, y hace uso de la especificación XSLT.

Page 26: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

15

Transformación XSL (XSLT), definido por el grupo de trabajo XSL de la W3C, describe un lenguaje para transformar documentos XML en otros documentos XML o en otros formatos. Hace uso de la especificación Xpath y ha sido diseñada para ser utilizada de forma independiente aunque es utilizada desde la especificación XSL.

XSLT es un lenguaje para describir cómo transformar un documento XML (explícita o

implícitamente representado como un árbol) en otro; XSLT es un árbol para transformaciones de árboles, desde un árbol fuente a un árbol resultante. Permite definir plantillas (reglas) que serán aplicadas sobre los elementos del documento fuente, e insertar elementos en el árbol resultante. El documento resultante puede ser otro documento XML bien formateado ya sea un documento XML, un documento WML (por sus siglas en inglés, Wireless Markup Language), un documento HTML, un documento de texto, o cualquier otro formato para el que esté disponible el método de salida apropiado. XSLT usa expresiones XPath para consultar elementos desde el árbol fuente o para evaluar fragmentos del documento a ser insertados dentro del árbol resultante.

Un procesador XSLT lee un documento fuente XML y una hoja de estilo XSL, la hoja de

estilo es a su vez un documento XML bien formado. Dependiendo de la implementación, un motor XSLT podría leer una fuente de entrada como eventos SAX (por sus siglas en inglés, Simple API for XML) ó árboles DOM (por sus siglas en inglés, Document Object Model) y también generar eventos SAX o árboles DOM (ver Figura 2.3).

XPATH es la especificación que desarrolla el lenguaje para acceder a los elementos de un documento XML. Ha sido desarrollada para ser utilizada desde la especificación XSLT y Xpointer.

XPath es un lenguaje de expresión. XSLT utiliza Xpath como base para recorrer un

documento XML y llegar a un nodo determinado. Este recorrido se consigue utilizando expresiones. La especificación XPath, que se encuentra en http://www.w3.org/TR/xpath, describe cómo usar la sintaxis Xpath para construir expresiones. Existen algunos motores XSLT (como Xalan de Apache) que permiten invocar su propia implementación de Xpath de manera independiente a través de un API específico.

Page 27: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

16

Figura 2.3. XSLT permite transformar un documento XML en otro documento XML o en otros formatos tales como HTML.

2.7.4.2.2 Funcionamiento del XSL. Antes de que un procesador XSL pueda procesar un documento, es necesaria, la representación del árbol XML del documento y la hoja de estilo XSL. La representación del árbol XML de un documento se obtiene analizando sintácticamente el documento, lo que significa que el procesador XSL debe equiparar con un analizador XML para que funcione.

El procesador XSL comienza con el nodo raíz del árbol, utilizándolo para llevar a cabo el cotejo de los patrones en la hoja de estilos. Una hoja de estilos XSL está formada por plantillas que utilizan patrones para determinar que partes de un documento XML tienen que ser formateadas. El procesador XSL analiza estas plantillas y los patrones asociados para procesar las distintas partes del árbol. Cuando hay una coincidencia, la parte del árbol que coincide con el patrón determinado se pasa a la plantilla de la hoja de estilos para su procesamiento. El procesador XSL sigue las reglas de la plantilla para generar un árbol de resultados. Toma un árbol como entrada y genera otro árbol como salida [Morrison, 2002, pp. 158-162].

A diferencia de los ficheros de definición de datos, que pueden estar embebidos en el propio archivo XML; los ficheros de presentación están diseñados como ficheros independientes. Lo que hace posible diseñar un modelo de presentaciones para distintos tipos de datos, creando una especie de estilo, aplicable a distintos ficheros XML [Marino,2000]. 2.7.4.3 XSL versus CSS.

Las CSS se pueden usar para dar estilo a los documentos HTML mientras que con los XSL esto no es posible.

XSL se puede usar para transformar documentos XML, mientras que con las CSS esto no es posible.

Page 28: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

17

2.8 API para el procesamiento de XML. Existen ciertas APIs de Java para manipular documentos XML, que facilitan el desarrollo de aplicaciones Web, es decir, hacen fácil el proceso de datos XML con aplicaciones escritas en Java. Una característica de estas APIs es la flexibilidad de uso que ofrecen al desarrollador de aplicaciones, debido a que XML hace posible la portabilidad de los datos y la plataforma Java permite la portabilidad de código [Violleau,2002].

Las APIs Java Se dividen en 2 categorías, aquellas que tratan directamente con documentos XML y aquellas que tratan con procedimientos:

Orientadas a Documento:

API Java para Procesar XML (JAXP). Procesa documentos XML usando varios analizadores

Arquitectura Java para Uniones XML (JAXB). Mapea elementos XML a clases del lenguaje Java.

Orientadas a Procedimiento:

API Java para Mensajería XML (JAXM). Envía mensajes SOAP a través de Internet de una forma estándar.

API Java para Registros XML (JAXR). Proporciona una forma estándar para acceder a registros de negocios que comparte información.

API Java para RPC (Llamada a Procedimientos Remotos) basado en XML(JAX-RPC). Envía llamadas a métodos SOAP a partes remotas a través de Internet y recibe resultados.

2.8.1 Características de las APIs Java:

Soportan los estándares de la industria, así se aseguran de la interoperabilidad.

Permiten una gran flexibilidad. Los usuarios tienen flexibilidad en el modo de utilizar los APIs. Por ejemplo, en el API JAXP se pueden utilizar varias tecnologías tales como el SAX (API Simple para XML), DOM (Modelo Objeto Documento) y el JDOM para procesar un documento XML.

2.8.2 Tecnologías del JAXP. JAXP contiene 2 APIS: SAX y DOM, que incluyen dentro de ellas una aplicación que lee y analiza expresiones, que agrupa sus tokens en estructuras sintácticas, esta aplicación llamada analizador ó parser es la parte más importante y necesaria para interpretar un lenguaje [Schildt,1989, p.11].

Page 29: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

18

El analizador del API SAX permite analizar datos como flujos de eventos y el analizador del API DOM permite construir una representación de objetos con los datos. La versión 1.1 de JAXP también soporta el estándar XSLT, permitiendo el control sobre la representación de los datos y permitiendo convertir los datos contenidos en documentos XML a otros formatos como HTML [Violleau,2002].

El primer paso para cualquier sistema que planea hacer uso de documentos XML es leer

documentos XML en memoria. La naturaleza estructurada de XML impone algunos requerimientos en los analizadores. Además, el comportamiento del analizador necesita ser consistente para que los documentos XML puedan ser intercambiados de manera confiable entre diferentes sistemas.

Actualmente existen 2 tipos de analizadores XML: analizadores con validación y

analizadores sin validación. Los analizadores sin validación leen documentos XML y verifican que estén bien formados, mientras que los analizadores con validación leen documentos bien formados y verifican que concuerden con su DTD, esquema XML u otro conjunto de validación [Schmelzer, 2002, p. 63]. 2.8.2.1 API Simple para XML. Un analizador basado en eventos como SAX provee una vista de documentos XML. Cuando un usuario lee un documento XML utilizando SAX, los elementos que son encontrados por el analizador son leídos, son procesados, y después son eliminados. El SAX lee los elementos desde el documento y los regresa a la aplicación con una lista de atributos y contenido. Tomando este enfoque, un usuario obtiene un medio más eficiente de procesar documentos XML, debido a que el tiempo de búsqueda es optimizado, requiriendo menos código y memoria, la razón principal de ésto, es que no se requiere representar en memoria el árbol de un documento XML. Un API basada en eventos reporta un análisis de los eventos tales como el inicio y fin del documento XML, los cuales son procesados por aplicaciones manejadoras de eventos a través de un mecanismo “callback”, este mecanismo es ampliamente utilizado en muchos sistemas “procesa y elimina”, y es especialmente apropiado para sistemas de transacción y de mensajes basados en XML, donde el uso de una estructura de árbol del documento XML no es necesaria [Schmelzer, 2002, p.64-65]. 2.8.2.2 Modelo de Objeto de Documento. Un Analizador XML es esencial para trabajar con documentos XML, pero las aplicaciones que en realidad planean utilizar y manipular contenido XML, requieren un modelo más robusto para una interacción programática con documentos XML. Para este efecto, el DOM fue creado como un medio para permitir a los desarrolladores, referirse, recuperar y cambiar el contenido y estructura del documento XML.

Un DOM es un API que permite manipular documentos XML en una estructura de árbol en memoria, y ofrece 2 niveles de implementación de interfaz: El DOM core que es completo como el DOM del W3C, el cual soporta la integración básica de un documento XML. El DOM HTML que extiende el modelo a documentos HTML es incompleto ya que permite sólo un acceso parcial al documento.

Page 30: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 2 Marco Teórico

19

El modelo también puede seguir uno de 3 patrones comunes:

Modelos lineales: Es el modelo más sencillo, detallando el documento de un modo lineal. Este modelo tiene la desventaja de que toda alteración en la primera parte del documento invalidaría cualquiera de las referencias de la última parte del documento.

Modelos de árbol: Describen los documentos con los términos de un árbol. El modelo

de árbol tiene una raíz del documento, así como elementos dentro del árbol a los cuales se les conoce como nodos, y elementos finales llamados hojas. La desventaja que presenta este modelo es que al eliminar un nodo que tiene hijos, las relaciones numéricas que haya entre los nodos cambiarán y todas las listas de nodos deberán reconstruirse.

Modelos de objeto. Son los menos sensibles a los cambios. Con un modelo de objeto,

cada sección de un documento tendrá una propiedad con nombre.

El API DOM definido por la W3C, es un conjunto de interfaces para construir objetos, y

representar un documento XML analizado en forma de árbol. Una vez que se ha construido el DOM, es posible manipularlo con métodos DOM como insert y remove, de la misma forma como se manipularía cualquier otra estructura de datos en forma de árbol. A diferencia del analizador SAX, un analizador DOM permite acceso a datos particulares de un documento XML. Además con un analizador SAX, sólo es posible leer un documento XML, mientras que con un analizador DOM, es posible construir una representación objeto del documento y manipularlo en memoria, añadiendo un nuevo elemento o eliminando uno existente.

La desventaja de utilizar esta API es que requiere la lectura de toda la estructura XML y

mantener el árbol de objetos en memoria, lo que significa un mayor consumo de CPU y de memoria.

2.8.2.3 Características SAX y DOM. La Tabla 2.1 muestra tanto las características del API DOM como las del API SAX. Tabla 2.1 Características SAX y DOM SAX DOM Modelo basado en eventos Estructura de datos tipo árbol

Acceso serie (flujo de eventos) Acceso aleatorio (estructura de datos en memoria)

Bajo uso de memoria (sólo se generan eventos) Alto uso de memoria (todo el documento se carga en memoria)

Para procesar partes del documento (capturar eventos importantes)

Para editar el documento (procesar la estructurade datos en memoria)

Para procesar el documento sólo una vez (flujo de eventos temporal).

Para procesar el documento múltiples veces (documento cargado en memoria)

Page 31: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 3 Estado del Arte

20

Capítulo

Estado del arte En este capítulo se analizan las tecnologías utilizadas para el desarrollo de esta tesis, así como otras herramientas similares.

Page 32: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 3 Estado del Arte

21

3.1 Introducción.

La evolución natural de la tecnología permitió que el modelo Web fuera más potente al hacer posible que el servidor Web retornara páginas cuyo contenido se genera de forma dinámica con datos obtenidos de diferentes fuentes de información, tales como una base de datos o una aplicación heredada, para ello, se hace uso de ciertas tecnologías tales como CGI, Servlets, JSP, PHP, etc., en el lado del servidor.

En [Leverman,2001] se hace un estudio acerca de las tecnologías existentes para desarrollar aplicaciones que generen páginas web de manera dinámica. [López,2002] también se enfoca en las tecnologías y protocolos involucrados en el desarrollo de aplicaciones Web, tales como Arquitectura Cliente/Servidor, el HTTP, HTML, así como los paradigmas que existen para el desarrollo de aplicaciones Web: CGI, entre otras tecnologías; fundamentalmente en tecnologías de software libre.

El W3C propuso la tecnología XML, la cual se desarrolló con el propósito de que fuera un

lenguaje para ser utilizado en Internet. Esta tecnología permite que los datos estén organizados de una manera estructurada. Se han desarrollado trabajos de investigación en los cuales se exploran las capacidades de esta tecnología. [Reyes,2001] desarrolló, un sistema de consulta de información contenido en documentos estructurados mediante el uso de lenguajes de definición de documentos y operaciones de consulta en el cual se consideró tanto la estructura como el contenido de los documentos, facilitando la interacción con el usuario mediante una interfaz gráfica.

A continuación se presentan algunas herramientas comerciales para el desarrollo de

aplicaciones Web, así como sus características más sobresalientes. Además se presentan proyectos de investigación relacionados con esta tesis y que fueron desarrollados por universidades y/o centros de investigación. 3.2 Trabajos de Investigación. Los trabajos de investigación relacionados con el trabajo de tesis propuesto son los siguientes:

3.2.1 Formateador de Informes Web para un Sistema Manejador de Bases de Datos Distribuidas. En este trabajo de tesis [Uribe,2001] se desarrolló una herramienta visual que facilita al administrador del sistema el desarrollo de informes Web.

La herramienta tiene las siguientes características:

El diseño de un informe puede almacenarse y recuperarse para posibles modificaciones futuras.

Page 33: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 3 Estado del Arte

22

El usuario accede a la información de BDs por medio de enlaces ó vínculos a través de visualizadores.

Genera código en Java, el cual está documentado, dando la posibilidad de modificarlo

para agregar características al informe web no incluidas en la herramienta visual. Las diferencias del sistema Formateador de Informes Web con respecto al trabajo de tesis

presentado en este documento son las siguientes:

1) Se libera al administrador del diseño de cada página, las cuales contendrán el resultado de las consultas realizadas, ya que todas las páginas tendrán un diseño uniforme, dando la flexibilidad al administrador de modificar el formato de diseño de las páginas a través del archivo XSL.

2) El administrador no tiene que introducir ningún tipo de consulta ya que, la herramienta

las generará automáticamente en base a tablas y/o vistas definidas en la base de datos.

3) El administrador puede definir consultas personalizadas.

3.2.2 Módulo XML para acceder al sistema Administrador de Bases de Datos SQLmx a través de Internet. En este trabajo de tesis [Trejo,2002] se desarrolló una herramienta que permite a los usuarios realizar consultas, así como operaciones de actualización a la base de datos (insertar, eliminar y/o actualizar registros), para ello, la herramienta genera un documento XML con la consulta ó en su defecto con los datos y/o registros que se deban insertar, eliminar ó actualizar. Esta herramienta fue desarrollada para acceder al SMBD experimental SQLmx, el cual fue desarrollado en el Centro de Investigación en Computación del Instituto Politécnico Nacional (CIC-IPN). SQLmx, se basa en el modelo relacional y hace uso del SQL, para la administración de la información.

El sistema presentado en este documento con respecto al trabajo de tesis analizado en este punto difiere en lo siguiente:

1) No se enfoca a un SMBD en particular, es posible acceder a cualquier SMBD que soporte el controlador JDBC.

2) Se definen 2 hojas de estilos para proporcionar diseño a los Infomes Web, liberando al

desarrollador de aplicaciones de está tarea.

3) La herramienta desarrollada genera los reportes en forma automática.

Las desventajas que presenta no permite inserción, actualización o borrado de información. 3.3 Herramientas Comerciales.

Page 34: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 3 Estado del Arte

23

Actualmente existe una gran variedad de productos comerciales que generan reportes Web de manera dinámica, a continuacion se mencionan las principales características de algunas de las herramientas que utilizan tecnologías parecidas a las que se utilizaron en este trabajo de tesis. 3.3.1. Crystal Report versión 8.5. Esta herramienta [Abits,2002] tiene las siguientes características:

Se ejecuta en la plataforma Windows 95,98,2000, Windows NT en adelante. Diseño de informes de forma visual. Soporta gráficos con extensiones bmp, tiff, jpeg, png. Incluye herramientas de análisis: graficación, mapeo, resaltamiento de campos. Capacidad de creación de Informes en tiempo de ejecución. Compatible con bases de datos Informix, Microsof Access, Oracle, Paradox, Sybase

SQL Server, Microsoft Visual Fox Pro.

El problema que presenta esta herramienta es que el código que genera asociado al

informe web no está accesible para su modificación. El código se necesita en los siguientes casos: Para modificar el diseño de las páginas a las necesidades del desarrollador de aplicaciones, dichas páginas contendrán el resultado de los informes.

La principal diferencia con este trabajo de tesis es que esta herramienta está orientada a

los desarrolladores de aplicaciones Web, los cuales tienen la posibilidad de modificar el diseño de las páginas donde se desplegarán los resultados de las consultas y/o vistas. 3.3.2 Oracle Reports version 9i. Desarrollado por Oracle Corporation [Oracle,2003]. Sus características se mencionan a continuación:

Se ejecuta en plataforma Windows NT, 2000, XP, Solaris, Linux, HP, UX. Los reportes que se generen pueden ser visualizados en plataformas Windows NT,

2000, XP, Solaris, Linux, HP/UX, HP Tru64 e IBM-AIX. Diseño de Informes de manera visual. Los formatos de salida que tiene disponibles para los reportes a generar son: XML,

PDF, Postcript, PCL y RTF. Permite desplegar los informes en el navegador (HTML), en el Portal de Oracle9iAS o

almacenarlos en el sistema de archivos. Soporta un número ilimitado de consultas. Soporta diferentes tipos de ligas de consultas Hace uso de la tecnología JSP (etiquetas JSP). No es posible acceder al código fuente

3.3.3 Impromptu Web Reports. Desarrollado por Cognos Impromptu [Cognos,2003]. Sus características se listan a continuación:

Page 35: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 3 Estado del Arte

24

Se ejecuta en plataformas Windows NT y Linux. Diseño de Informes de manera visual. Soporta un número ilimitado de consultas. Exporta los reportes a formato PDF, manteniendo la integridad del diseño del reporte. Los reportes pueden ser exportados a formatos Excel y CSV. Compatible con los RBDMSs: Oracle, IBM DB2, Microsorft SQL Server, Sybase SQL

Server y Adaptive Server, Sybase NetGateway, dBase, Centura SQLBase, NCR Teradata, Sybase, Informix, Borland InterBase, OpenIngres, MDI IDB2 Gateway.

No es posible acceder al código fuente 3.3.4 Generador de reportes PDF de FyTek. Este producto [Fytek,2003] utiliza las tecnologías XML (etiquetas XML) y HTML para generar reportes, los cuales se generan en formato PDF. Este generador proporciona una interfaz visual en la cual le proporciona al usuario la flexibilidad de dar formato a la información contenida en los reportes (manejo de imagenes, centrar, justificar texto).

Dentro de sus principales características se encuentran:

Crea reportes en formato PDF Convierte la información contenida en el documento PDF a formato de Microsoft Excel

o Microsoft Word El diseño de informes se hace de manera visual

La desventaja que presenta la herramienta es que no es posible acceder al código fuente

3.3.5 EspressReport version 3.0. Desarrollada por QuadBase [QuadBase,2003]. Entre sus principales características se encuentran:

La herramienta se puede ejecutar en cualquier plataforma que tenga instalada la máquina virtual de java.

Recuper datos provenientes desde una base de datos relacional, documentos XML, archivos de texto o archivos de java .class.

Hace uso de la tecnología JDBC y ODBC para acceder a datos provenientes de bases de datos relacionales.

Diseno de Informes de manera visual. Permite generar reportes en formatos como: HTML, DHTML, PDF y documentos Excel. Da flexibilidad para que los reportes generados puedan ser incorporados a servlets y JSPs. Soporta la mayoría de servidores de aplicaciones entre los que se encuentran: WebLogic,

WebSphere, WebObject, iPlanet, Dynamo y SylverStream. Proporciona una interfaz visual para generar reportes.

3.4 Librerías de soporte para generar Reportes (freeware).

Page 36: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 3 Estado del Arte

25

Existen herramientas gratuitas que generan informes Web, las cuales le dan flexibilidad al desarrollador de aplicaciones de acceder al código fuente para adaptarlo a sus necesidades, a continuación se da una descripción general de algunas de estas herramientas. 3.4.1 Generador de Reportes Generico. Un generador de reportes en java manejado con menues. Las características principales de esta herramienta [Ridenou,2003] son:

Genera reportes en modo texto Trabaja con cualquier SMBD que soporte el controlador JDBC Desarrollado en el lenguaje Java 1.2 Es posible acceder al código fuente El usuario es el encargado de convertir el reporte generado a formato HTML para

poder ser visualizado en cualquier explorador. 3.4.2 Faceless versión 1.1.8. Es un componente desarrollado en Java [Faceless,2003], liberado el 15 de Julio del 2003, que permite generar informes Web en formato PDF. Entre sus características principales se encuentran:

La herramienta se puede ejecutar en cualquier plataforma que tenga instalada la máquina virtual de java versión 1.2 ó posterior

Utiliza las tecnologías JSP, ASP entre otras, para generar un documento XML y posteriormente generar los reportes en formato PDF

Hace uso de las hojas de estilos en cascada para proporcionarle diseño a los informes. Es posible acceder al código fuente

3.4.3 JFreeReport Version 8.5. Es una librería que permite generar reportes [JFree,2003]. Entre sus principales características se encuentran:

Los reportes se generan en formato XML Da la flexibilidad de utilizar otras librerías para convertir el reporte a otros formatos

tales como PDF, HTML Da la flexibilidad de dar formato al texto (tipo, tamaño, color de la fuente,)

3.4.4 Maverick MVC Framework. Permite suministrar vistas utilizando JSP, el lenguaje script Velocity ó el lenguaje XSLT directamente. Maverick [Maverick,2002] es una arquitectura de tipo MVC (por sus siglas en inglés, Model-View-Controller) para publicaciones Web utiliza Java y J2EE (por sus siglas en inglés, Java 2 Enterprise Edition), permitiendo generar presentaciones utilizando una gran

Page 37: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 3 Estado del Arte

26

variedad de tecnologías de plantilla; no genera código XML así como tampoco realiza algún tipo de análisis, lo que permite un mejor desempeño cuando se utiliza XSLT para generar las vistas.

Sus características son:

Soporta transformaciones iterativas Permite la configuración utilizando sitemap XML Soporte de framework para la internacionalización, la personalización del contenido

basado en browser, y WML Es un conjunto de aplicaciones muestra que utiliza una variedad de lenguajes para

plantillas.

3.4.5 Freemarker. Es una plantilla HTML de código abierto para Java servlets [FreeMarker,2002]. Al almacenar plantillas HTML las cuales son compiladas a objetos de plantillas, éstos generan HTML dinámicamente utilizando los datos dados por los servlets. Usa su propio lenguaje y exige velocidades aproximadas a las páginas HTML estáticas.

Las herramientas mencionadas anteriormente utilizan la arquitectura MVC para la

generación de plantillas de presentación utilizando tecnología XSLT y JSP; la arquitectura MVC permite separar el diseño de la presentación (cómo se van a mostrar los datos) de la lógica de la programación.

La diferencia de estas herramientas con el trabajo de tesis propuesto es la extracción de

los datos de la base de datos, además de generar la plantilla de presentación de los informes.

Page 38: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

27

Page 39: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

28

Capítulo

Arquitectura y diseño del sistema En este capítulo se presenta una descripción de la operación del sistema y de la arquitectura del Sistema Generador Automático de Informes Web. Se presentan las fases en las cuales se divide la arquitectura, así como los principales procesos y flujos de información necesarios para su operación.

Page 40: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

29

4.1 Descripción del Sistema Generador Automático de Informes Web. En este trabajo de tesis se presenta el sistema “Generador de informes Web con base al esquema de base de datos utilizando tecnologías XML” cuyo objetivo es generar informes Web a partir del esquema de una base de datos. A partir de este capítulo se hará referencia a la herramienta con el nombre de GAR (Generador Automático de Reportes). El sistema GAR importa el esquema de la base de datos y lo convierte a una representación genérica utilizando XML, para que, posteriormente al utilizar la tecnología XSL se puedan generar informes Web dinámicos basados en la tecnología JSP.

Además la herramienta GAR ofrece la posibilidad de generar consultas personalizadas, sólo que, en lugar de generar el documento XML con el esquema de la base de datos, se genera el documento XML con los datos de la consulta a realizar.

La herramienta GAR desarrollada es capaz de trabajar con Sistemas Manejadores de Bases de Datos Relacionales (SMBDR), que soporten el controlador JDBC (por ejemplo postgresql, HyperSonic Database (hsqldb), etc.).

4.2 Arquitectura del sistema. El sistema Gar contiene los siguientes módulos:

Módulo traductor del esquema de la base de datos a formato XML Módulo generador de un documento XML a partir de una consulta Módulo traductor del documento XML a JSP.

En la Figura 4.1 se muestra la arquitectura del sistema Gar y en la Figura 4.2 se muestra el diagrama de clases utilizado para el desarrollo del prototipo. Los diagramas de clases expresan de manera general la estructura estática de un sistema, representando los enlaces de un objeto hacia otro objeto. Descripción de las clases. A continuación se describen de manera general la funcionalidad de las clases más importantes del sistema. FrmPrincipal. Este es el Frame principal del sistema, es el encargado de llamar a todos los cuadros de dialogo utilizados por el sistema. Configura. Esta clase es la encargada de manipular el archivo de configuración gar.xml, el cual es utilizado por el sistema para detectar y establecer la configuración actual del sistema. Conecta. Esta clase permite establecer conexión con la base de datos, recibe como parámetros los datos de conexión. Esquema. Esta clase es la encargada de generar el documento en fomato XML a partir del esquema de la base de datos.

Page 41: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

30

Figura 4.1. Arquitectura del sistema.

Figura 4.2. Diagrama de clases del sistema

Page 42: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

31

DoctoXMLConsultas. Genera el documento en formato XML a partir de la(s) consulta(s) introducida(s) por el usuario. Informes. Esta clase genera los informes Web en el directorio indicado, aplicando el diseño que recibe como parámetro. 4.3 Componentes del sistema. A continuación se da una breve descripción de los componentes que intervienen en cada fase del sistema : Fase 1: Base de datos: Contiene la Información a consultar, se encuentra almacenada dentro de un software llamado Sistema Manejador de Bases de Datos. Extractor: Este módulo se encarga de convertir los metadatos de la base de datos a un documento en formato XML. Documento XML: Este documento se genera en esta fase, y contiene los metadatos de las tablas y/o vistas definidas en la base de datos, ó en su defecto contiene las consultas personalizadas a ejecutarse. Fase 2: Editor XML SPY: Editor de XML en el cual se editaron las hojas de estilos definidas por defecto por el sistema, así como la manipulación de tecnologías asociadas tales como DTD, XSD, XSL, etc. Plantilla XSL: Esta plantilla está definida por el sistema, con esta plantilla es posible aplicar diseño a los informes. Fase 3: Traductor XSL: Este módulo se encarga de generar el archivo JSP a partir del documento XML obtenido en la fase 2 así como la plantilla de la hoja de estilo previamente definida por el sistema. Archivo JSP (database.jsp): Este archivo contiene todos los archivos jsp que genera el sistema. Fase 4: Módulo divisor: Este módulo es el encargado de dividir el archivo JSP generado en varios archivos JSP conforme tantas tablas haya en la base de datos, o en su defecto tantas consultas personalizadas se encuentren en el documento XML generado por el sistema en la fase 2. Servidor de aplicaciones: Es el que se encarga de generar el contenido dinámico de los informes Web. En este trabajo de tesis se hizo uso del servidor de aplicaciones Apache Tomcat.

Page 43: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

32

Tecnología JDBC: Por medio de esta API de Java es posible acceder a la información contenida en la base de datos desde la aplicación del sistema, ya que implementa la funcionalidad de todas las clases de acceso a datos y proporciona la comunicación entre el API JDBC y la base de datos real. 4.4 Operación del Sistema.

A continuación se explican a detalle cada una de las fases que componen el sistema, así como cada uno de sus procesos, es decir, que es lo que reciben como entrada, como se manipula esa entrada y que es lo que arrojan como salida (flujo de la información).

Las fases de operación del sistema GAR se listan a continuación:

Fase 1 : Traducción del esquema de la base de datos y/o consultas personalizadas al

formato XML

El documento XML, puede ser generado de 2 maneras distintas: a) A partir del Esquema de la base de datos b) A partir de Consultas personalizadas

Fase 2: Generación de la Hoja de Estilos

Fase 3: Traducción del Documento XML a un archivo JSP

En la Figura 4.3, se presenta el diagrama del sistema GAR, en donde se genera el documento XML a partir de la extracción del esquema de la base de datos y en la Figura 4.4 se muestra el mismo diagrama del sistema GAR, pero ahora el documento XML es generado a partir de una consulta definida por el usuario.

4.4.1 Fase 1: Traducción al formato XML del esquema de la base de datos y/o consultas personalizadas. a) Extracción del esquema de la base de datos. En esta fase, se lleva a cabo el proceso de extracción de los metadatos de una base de datos específica y su conversión a un documento en formato XML, para ello es necesario seguir los siguientes pasos:

Establecer conexión con la base de datos. Extracción de los metadatos de la base de datos. Convertir el esquema de la base de datos a un formato XML.

Cuando el sistema inicia su ejecución, se despliega en pantalla una lista de los SMBD con

sus posibles datos de conexión (dichos datos son cargados desde un archivo de configuración llamado Drivers.xml); el desarrollador al seleccionar uno de estos SMBDs, debe proporcionar el url (localización del servidor de base de datos, nombre de la base de datos).

Page 44: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

33

Figura 4.3 Diagrama de operación del sistema GAR, en donde se genera el documento XML a partir del esquema de la base de datos. El sentido de las flechas que aparecen en este diagrama indican el flujo de la información.

Figura 4.4. Diagrama de operación del sistema GAR en la cual se genera el documento XML a partir de la(s) consulta(s) definida(s) por el usuario.

Page 45: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

34

Una vez que se ha establecido la conexión a una base de datos específica, sus metadatos, tales como nombre de las tablas y atributos son extraídos. Después de este proceso de extracción, el sistema crea un documento XML, utilizando el API DOM.

La Figura 4.5 muestra el modelo conceptual de la primera fase de la arquitectura del

sistema, esto es, el proceso de generación del documento XML. En este modelo, el módulo que se encarga de la extracción del esquema de la BD y de su almacenamiento en una estructura de tipo árbol, muestra el parser que está incluido dentro del API DOM, que es el encargado de construir, a partir del esquema de la BD, la estructura de datos arborescente.

Figura 4.5. Modelo conceptual de la fase 1, del diagrama de operación del sistema, que muestra la transformación del esquema de la base de datos en un formato XML.

La Figura 4.6 muestra parte del esquema de la base de datos llamada Control del SMBD mysql, a partir de esta información y utilizando el API DOM se genera una estructura de tipo árbol en memoria, esto es, para cada nombre de la tabla de la base de datos se genera un nodo en el árbol, el nodo raíz, está definido por el desarrollador, para el ejemplo de la Figura 4.6, que se ve reflejado en la Figura 4.7, el árbol generado, tendría un nodo raíz llamado Database , y dos nodos hijo, especialidad y profesores, los campos de cada una de las tablas se utilizan para representar nodos hijo de cada una de éstas, para el ejemplo, el nodo especialidad, tendría dos hijos, clave_espec, y nombre, y el nodo profesores, tendría 7 hijos, clave_prof, nombre, ap_pat, ap_mat, activo, tipo_plaza y clave_espec. Los puntos suspensivos indican que el árbol puede crecer de acuerdo a la información del esquema de la BD.

En la Figura 4.7, se muestra la estructura de árbol que se genera a partir del esquema de

la BD, y que se utiliza para almacenar esta información en memoria, el árbol generado por el API DOM de JAXP, es un árbol general, aún cuando la estructura arborescente, depende de la información contenida en el esquema de la BD, el árbol generado siempre tiende a ser un árbol general.

Page 46: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

35

Figura 4.6. Esquema de la base de datos control del sistema Manejador de base de datos mysql, que se utiliza para generar una estructura de tipo árbol en memoria.

Figura 4.7. Estructura de árbol generada al utilizar el API DOM.

Un árbol es un objeto que comienza con una raíz, y se extiende en varias ramificaciones, cada una de las cuales, puede extenderse en otras ramificaciones hasta terminar finalmente en una hoja, de manera que, un árbol se define como un conjunto de nodos y líneas, donde un nodo, es un elemento de información que reside en el árbol, y una línea es un par de nodos ordenados (u, v), a la secuencia de líneas se le denomina ruta [Bowman,1999, pp. 141-142], los árboles tienen las siguientes propiedades :

Todos los árboles tienen un nodo raíz. Los nodos dentro del árbol, excepto la raíz, tiene una sola línea de entrada. Existe una ruta única del nodo raíz a todos los demás nodos del árbol.

Si hay una ruta a, b entonces a b se le denomina hijo de a, y es el nodo raíz del subárbol.

Finalmente, el API DOM de JAXP, toma la información contenida en la estructura de árbol y

create table especialidad(clave_espec char(1) primary key, nombre char(32));

create table profesores(clave_prof char(18) primary key, nombre char(30), ap_pat char(15), ap_mat char(15), activo char(8), tipo_plaza char(10), clave_espec char(1) references especialidad); . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Page 47: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

36

genera un documento XML equivalente al árbol. En la Figura 4.8 se muestra el archivo XML generado con el esquema de la base de datos, el cual servirá posteriormente para generar los archivos jsp.

Figura 4.8. Documento XML generado

El documento XML generado es un documento válido ya que cumple con las reglas del estándar 1.0, establecido por W3C. Está constituido por el elemento database, el cual es el elemento raíz, éste a su vez está compuesto por el elemento conexión y los elementos table. El elemento database tendrá tantos elementos table como tablas existan en la base de datos.

El elemento conexion contiene los parámetros de conexión a la base de datos, sus

atributos son: driver, url, user y passwd. Cada elemento table contiene el atributo name, cuyo valor será el nombre de una

determinada tabla. Los elementos table contendrán elementos field, los cuales tendrán información de cada campo que contiene la tabla a través de los atributos name y alias. b) Consultas personalizadas. El documento XML que se genera a partir de una consulta personalizada contiene los elementos que se muestran en la Figura 4.9. Al igual que el archivo xml que se genera con el esquema de la base de datos, éste sirve para generar posteriormente los archivos jsp.

Figura 4.9. Documento XML generado

01 <?xml version="1.0" encoding="UTF-8"?> 02 <Database> 03 <conexion driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/control" user="" passwd=""/> 05 <table name="especialidad"> 06 <field name="clave_espec" type="bpchar" size="11"/> 07 <field name="nombre" type="bpchar" size="32"/> 08 </table> 09 10 . . . . . . . . . . . . . . . . . . . . . . . . 11 </Database>

01 <?xml version="1.0" encoding="UTF-8"?> 02 <Querys> 03 04 <table title="Reporte de becarios con becas Sep y Cosnet" query=”select nombre, ap_pat, ap_mat from alumnos where becas=”Sep/Cosnet”/> 05 06 . . . . . . . . . . . . . . . . . . . . . . . . 07 </Querys>

Page 48: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

37

El documento xml generado es un documento válido que está constituido por el elemento Querys, el cual es el elemento raíz, éste a su vez está compuesto por el elemento table. Cada elemento table contiene el atributo title, cuyo valor será el título que se desplegará en el informe Web y el atributo query, contendrá la consulta a realizar, la cual fue dada por el usuario desde la interfaz del sistema.

El elemento database tendrá tantos elementos table como consultas existan en la base de

datos.

4.4.2 Fase 2 : Generación de Hojas de Estilo. El sistema utiliza una plantilla XSL, la cual incluye 3 tipos de etiquetas:

Etiquetas de formateo Etiquetas de transformación, utilizadas para extraer información del documento XML

que incluye el esquema de la base de datos (metadatos). Etiquetas JSTL, las cuales son instrucciones especiales que permanecen sin

modificación alguna, para ser incluidas posteriormente en los archivos JSP generados.

Estas etiquetas le permiten al sistema generar los archivos JSP, que se utilizarán para generar los informes web. En la Figura 4.10 se señalan los tres tipos de etiquetas incluidas en la plantilla XSL utilizada.

Para editar la hoja de estilo se utilizó el editor XML Spy 5.0 [XmlSpy,2002], ya que permite

la manipulación de tecnologías asociadas, tales como DTD, XSD, XSL, etc., contiene un parser, que sirve para verificar si un documento está bien formado, es decir, si cumple con las reglas del estándar, 1.0, establecido por W3C, además de contener un procesador XSLT, que es el que permite que un documento XSL y uno XML, se mezclen solo si el documento XML cumple con ciertas reglas definidas en el documento XSL, produciendo como salida un documento XML, JSP, HTML, o cualquier otro tipo de formato.

La herramienta desarrollada cuenta con 3 diseños predefinidos los cuales serán aplicados

a los informes Web generados. A continuación se listan los componentes principales del XSL que se utilizaron:

xsl:stylesheet: elemento raíz. xsl:template: como transformar los nodos seleccionados match: atributo del nodo seleccionado. xsl:value of: extrae datos del nodo seleccionado.

4.4.3 Fase 3 : Generación de archivos JSPs a partir del documento XML generado. Una vez traducido el esquema de la base de datos a formato XML, se procede a obtener un archivo JSP a partir de la hoja de estilos y del esquema XML obtenido para ello se hace uso de la tecnología XSLT.

Page 49: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

38

Figura 4.10. Contenido de la plantilla XSL.

En esta fase se genera un archivo JSP a partir del diseño de la hoja de estilos y del

esquema XML generado. Dicho diseño se especifica a partir de un archivo en formato XSL, por lo que todas las páginas tendrán un diseño uniforme. La transformación del esquema XML y del diseño de la página a un archivo JSP se lleva a cabo a través de la tecnología XSLT.

El sistema genera un solo archivo JSP, el cual incluye tantos archivos JSP, como tablas existan dentro de la base de datos, esto debido a que durante el proceso de transformación, el documento XML obtenido incluye todos los metadatos de la base de datos, esto significa que todos los posibles reportes a ser generados están en el mismo archivo.

El archivo JSP generado incluye etiquetas JSTL, estas etiquetas son las responsables de

generar el contenido dinámico de las páginas Web.

4.5 Diseño del sistema. En este punto se explica el diseño del sistema haciendo uso del Lenguaje de Modelado Unificado (UML, por sus siglas en inglés, Unified Model Language). La finalidad de los diagramas es presentar diversas perspectivas de un sistema a las cuales se les conoce como modelo. A continuación se describirán tanto los diagramas de casos de uso y como los de actividades utilizados para modelar el sistema.

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:output method="html"/> <xsl:template match="table"> Instrucción XSLT ………………………………………………………… <html><body bgcolor="#FFFFFF" text="#000000"> <table width="100%" border="0" height="566"> ………………………………………………………… <xsl:choose> <xsl:when test="@name"> Reporte <xsl:value-of select="@name"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="@header"/> </xsl:otherwise></xsl:choose> ………………………………………………………… <c:forEach items="${result.rowsByIndex}" var="row"> <c:forEach items="${row}" var="column <c:out value="${column}"/> </c:forEach> <c:forEach> </body></html> </xsl:template></xsl:stylesheet>

Etiquetas JSTL

Etiquetas HTML

Page 50: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

39

4.5.1 Diagramas de Casos de Uso. En esta sección se describe la funcionalidad del sistema utilizando los diagramas de casos de uso, estos casos describen bajo la forma de acciones y reacciones el comportamiento de un sistema desde el punto de vista de un usuario; permiten definir los límites del sistema y las relaciones entre el sistema y el entorno. Un caso de uso es la imagen de una funcionalidad del sistema, desencadenada en respuesta a la estimulación de un actor externo [Muller,2000].

La Figura 4.11 muestra el diagrama de casos de uso del prototipo desarrollado en esta tesis, el usuario interactúa con las siguientes entidades: Generación del documento en formato XML, Aplicación del diseño a los informes y generación de los informes.

Figura 4.11. Caso de uso del prototipo desarrollado.

4.5.1.1 Caso de uso: Generación del documento XML. Cuando el usuario genera el documento XML es necesario que éste haya establecido conexión con la base de datos, esto se puede apreciar en la Figura 4.12. En caso de que el usuario decida no establecer la conexión puede utilizar un documento previamente generado.

En el documento XML generado se plasma la información correspondiente a la consulta a realizar tales como el título y la consulta en sí, para cada consulta el usuario asigna el nombre que llevará el informe que se genere, por ejemplo; si el usuario asigna el nombre alumnos, el reporte que se genere se llamará alumnos.jsp. En caso de que el documento XML se genere a partir de los metadatos de la base de datos este contendrá la información de cada una de las tablas existentes en la base de datos.

Page 51: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

40

Figura 4.12. Caso de uso para generar el documento XML.

4.5.1.2 Caso de uso: Aplica diseño. Cuando el usuario desea aplicar un diseño determinado a los informes a generar, se despliega una lista con los diseños establecidos por defecto por el sistema. El usuario puede añadir nuevos diseños ó eliminar los existentes, la Figura 4.13 muestra el diagrama de caso de uso que muestra el escenario para aplicar diseño a los informes.

Si no existe ningún diseño, el sistema generará los informes sin diseño.

Page 52: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

41

Figura 4.13. Diagrama de caso de uso para aplicar diseño a los informes. 4.5.1.3 Caso de Uso: Genera informe. Cuando el usuario genera el(los) informe(s) se crean una serie de archivos tales como: index.jsp en el cual se listan cada uno de los informes que fueron generados por el sistema, el archivo Error.jsp el cual es visualizado por el sistema en caso de que se genere un error y el informe no pueda ser mostrado; el archivo fmtExcel el cual contiene código implícito que permite que los datos mostrados en el informe se puedan pasar a formato Excel.

La Figura 4.14 muestra el diagrama de casos de uso cuando el usuario genera los informes.

Figura 4.14. Diagrama de caso de uso de generar informe.

4.5.2. Diagramas de Actividades. En un diagrama de actividad se muestra una visión simplificada de lo que ocurre durante una operación o proceso. Para el modelado del sistema se tomaron en cuenta al usuario y al sistema. Se consideraron únicamente los procesos de Generación del documento XML y Generación de los reportes Web ya que se consideran las actividades principales del sistema.

La Figura 4.15 muestra el diagrama de actividad que representa el proceso para generar el documento en formato XML.

La Figura 4.16 muestra el diagrama de actividad que representa el proceso que sigue el sistema para generar los reportes Web.

Page 53: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

42

Figura 4.15. Diagrama de actividad para generar el documento XML.

Page 54: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 4 Arquitectura y diseño del sistema

43

Figura 4.16. Diagrama de actividad para generar los archivos JSPs. 4.6 Restricciones de diseño. Las restricciones de diseño del sistema se listan a continuación:

No se hace uso de un pool de conexiones.

No se capta el error que se genera, cuando un archivo jsp al ejecutarse hace referencia a un archivo y éste no existe.

Al convertir el contenido del informe Web a formato excel, para que los datos aparezcan en

una ventana propia de Microsoft Excel, el usuario tiene que configurar el navegador que esté utilizando.

Page 55: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

44

Capítulo

Pruebas y resultados del sistema En este capítulo se muestran los planes de prueba a los cuales fue sometido el sistema, así como sus respectivos resultados.

Page 56: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

45

5.1 Fase de pruebas. Esta fase explica paso a paso el proceso de pruebas que se realizaron al sistema, estas pruebas se dividieron en 3 grupos: Grupo 1: Obtención de informes Web a partir del esquema de la base de datos utilizando el SMBDR Postgresql.

Pruebas realizadas.

Conexión a la Base de Datos. Generación del documento en formato XML a partir del esquema de la base de

datos. Generación de informes Web. Cambio del diseño del Informe Web. Conversión del contenido de un informe Web generado a formato Excel. Ejecución de un informe cuya tabla ha sido eliminada de la base de datos.

Grupo 2 : Obtención de informes Web a partir del esquema de la base de datos utilizando el SMBDR Mysql. Pruebas realizadas

Conexión a la Base de Datos. Generación del documento en formato XML a partir del esquema de la base de

datos. Generación de informes Web.

Grupo 3 : Obtención de informes Web a partir de consultas personalizadas. Prueba realizada.

Generación del documento en formato XML a partir de los datos de la consulta

introducida por el usuario. 5.2 Plataforma de pruebas. Las pruebas se llevaron a cabo con 2 Sistemas Manejadores de Bases de Datos Relacionales (SMBDRs), postgresql y mysql. En ambos SMBDRs se realizó el mismo conjunto de pruebas, la finalidad de utilizar estos 2 SMBDRs, es verificar que el sistema sea capaz de trabajar con cualquier SMBDR que soporte la tecnología JDBC.

La Figura 5.1 muestra la plataforma de pruebas que se utilizó con el SMBDR, las cuales se llevaron a cabo en una red local con un servidor Linux (Aladino) y con un cliente Windows, el servidor Aladino se utilizó como servidor de base de datos para postgresql, y en el cliente se ejecutó el sistema desarrollado, así como el servidor de aplicaciones Apache Tomcat.

Page 57: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

46

Figura 5.1. Plataforma de pruebas utilizada con el SMBDR postgresql.

Para llevar a cabo las pruebas con el SMBDR mysql para windows, éste se instaló y

ejecutó en la misma máquina cliente, así como el sistema desarrollado y el servidor Apache Tomcat.

Las características del hardware que se utilizó para llevar a cabo las pruebas se listan a

continuación: Servidor de base de datos: Remoto: tiene las siguientes características: Pentium 3, 64Mb en RAM, un disco duro con capacidad de 10 Gb, Sistema Operativo Linux Redhat 7.1, SMBDR postgresql [Postgresql,2000] versión 7.1, el cual se basa en el estándar SQL92. Local (cliente): Pentium 4, con 512 Mb en RAM, un disco duro con capacidad de 40 Gb, Sistema Operativo Windows 98, SMBDR mysql [Mysql,2002] 3.23.57, el cual hace uso del estándar SQL92. Cliente: con el siguiente software instalado:

Java Development Kit (JDK) 1.4.0 [Sun2002] Conector JDBC 7.1 para postgresql Conector JDBC 2.0.14 para mysql Java Standard Tag Libraries (JSTL) 1.0 [Bayern,2002] Navegador Internet Explorer 5.0 Servidor de Aplicaciones Apache Tomcat 4.0 [Apache,2002]

Para ejecutar la herramienta, véase el Anexo A, donde se indica el software necesario, así

como las indicaciones respectivas para su instalación.

Page 58: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

47

5.3 Obtención de informes Web a partir del esquema de la base de datos utilizando el SMBDR Postgresql 7.1. En este punto se describen cada una de las pruebas realizadas al sistema (mencionado en el apartado 5.1) utilizando el SMBDR postgresql 7.1. 5.3.1 Prueba 1: Conexión a la base de datos. Objetivo: Dar a conocer al usuario los resultados obtenidos cuando se introducen datos de entrada que sean correctos o no, al momento de establecer conexión con una base de datos de un SMBD determinado. Descripción de la Prueba: Los pasos que se siguieron fueron los siguientes:

Seleccionar la opción conexión del comando Conexión. • Seleccionar el SMBD • Introducir y/o editar el url correspondiente al driver del SMBD

Seleccionar la opción Abrir conexión del comando Conexión • Introducir la cuenta de usuario y el password con el que se debe establecer la

conexión.

Para establecer conexión con una base de datos de un SMBD determinado se necesitan los parámetros de conexión (driver, url), los cuales se encuentran almacenados en un archivo de configuración, el sistema desarrollado utiliza el archivo de configuración llamado Drivers.xml (ver Figura 5.2).

Figura 5.2. Archivo de configuración Drivers.xml 5.3.1.1 Caso A: Datos de entrada válidos. En la Figura 5.3 se muestran los datos necesarios para establecer conexión a la base de datos Control del SMBD postgresql (vea Anexo C), y en el cuadro de diálogo de la Figura 5.4 se deben introducir el nombre de usuario y el password con los cuales se accederá a la base de datos. Dichos datos sirven a la herramienta como datos de entrada.

00 <?xml version="1.0" encoding="UTF-8"?>01 <Drivers> 02 <smbd name="postgresql" driver="postgresql.Driver" 03 url="jdbc:postgresql://148.208.247.20:5432/Control"/> 04 <smbd name="hsqldb" driver="org.hsqldb.jdbcDriver" 05 url="jdbc:hsqldb:Titulacion"/> 06 <smbd name="mysql" driver="org.gjt.mm.mysql.Driver" 07 url="jdbc:mysql://localhost:3306/control"/> 08 <default smbd="mysql"/> 09 </Drivers>

Page 59: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

48

Para este caso de prueba se introdujeron los siguientes datos:

En la casilla donde se indica el sistema Manejador de Base de Datos se seleccionó postgresql, al establecer el SMBD, el sistema automáticamente establece por defecto su correspondiente driver (para este caso postgresql.Driver), así como su respectivo URL.

El Url que el sistema establece al seleccionar el SMBD está formado por: jdbc:postgresql://148.208.247.20/5432/Control. Donde: 148.208.247.20 indica el servidor de base de datos

5432 indica el puerto del SMBD Control indica el nombre de la base de datos

Figura 5.3 . El Cuadro de diálogo Conexión permite establecer los datos necesarios para la conexión a una base de datos determinada.

Figura 5.4. En este cuadro de diálogo se establece la cuenta y el password a través del cual se va a establecer la conexión.

Page 60: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

49

Salida. Como los datos de conexión son correctos, es posible establecer la conexión a la base de datos especificada (ver Figura 5.5), con esta conexión se extraerán los metadatos de la base de datos y se genera el documento XML con el esquema de la base de datos para posteriormente generar los informes.

Figura 5.5. Mensaje utilizado para indicar que la conexión a la base de datos se estableció de manera satisfactoria.

5.3.1.2 Caso B: Datos de Entrada no válidos. La Figura 5.6 muestra el cuadro de diálogo conexión con datos erróneos, ya que en el servidor 148.208.247.21 no existe la base de datos Control no es posible establecer la conexión. Salida. Debido a que los datos de entrada no son correctos no es posible establecer conexión con la base de datos, por lo que el sistema muestra el mensaje de la Figura 5.7

Figura 5.6. Los datos de conexión que se encuentran en el Cuadro de diálogo Conexión son inválidos ya que no existe la base de datos en el smbd.

Page 61: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

50

Figura 5.7. Mensaje de error que muestra el sistema al no poder establecer conexión con la base de datos.

5.3.2 Prueba 2: Generación del documento en formato XML a partir del esquema de la base de datos. 5.3.2.1 Caso A: Generación exitosa del documento XML. Objetivo: Obtener los metadatos de la base de datos y traducirlos a un documento en formato XML. Descripción de la Prueba: Para generar el Documento en formato XML con el esquema de la base de datos es necesario llevar a cabo los siguientes pasos:

Seleccionar la opción “Generar docto XML” del comando Informes.

Seleccionar la opción “Generar documento automáticamente” e introducir el nombre que se le dará al documento XML.

Al presionar el botón Aceptar aparece el cuadro de diálogo de la Figura 5.8, el cual

muestra en la parte izquierda todas las tablas y/o vistas existentes en la Base de Datos (véase Anexo C), de las cuales el usuario puede hacer una selección de entre 3 opciones:

No seleccionar ninguna tabla y/o vista. Ya que no fue seleccionada ninguna tabla y/o vista, el sistema no genera el documento xml.

Seleccionar un subconjunto de tablas y/o vistas. El usuario sólo selecciona determinadas tablas de las que quiere generar informes.

Seleccionar todas las tablas y/o vistas existentes en la base de datos. El sistema genera el documento xml con todas las tablas y/o vistas de la base de datos.

Page 62: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

51

Figura 5.8. Este cuadro de diálogo muestra en una estructura de árbol todas las tablas y/o vistas contenidas en la Base de Datos.

Datos de entrada. Para generar el esquema de la base de datos en formato XML, se utiliza como dato de entrada la conexión a la base de datos realizada en la prueba 1 caso A, posteriormente se obtienen sus metadatos y se traducen a un documento en formato XML. Nota: Para este caso de prueba se seleccionaron todas las tablas existentes en la base de datos. Salida. Debido a que existía conexión a la base de datos, se generó el archivo en formato xml con las tablas seleccionadas por el usuario, al cual se le asignó el nombre database.xml, al igual que todos los archivos del sistema, se almacenó en el directorio de la herramienta. Para ilustrar este caso de prueba en la Figura 5.9 se muestra la tabla profesores en su formato XML y en la Figura 5.10 se muestra el esquema conceptual de dicha tabla.

El documento XML generado es un documento válido ya que cumple con las reglas del estándar. Está constituido por el elemento database, el cual es el elemento raíz, éste a su vez está compuesto por el elemento conexión y los elementos table. El elemento database tendrá tantos elementos table como tablas existan en la base de datos.

El elemento conection contiene los parámetros de conexión a la base de datos. Por lo que sus atributos son: driver, url, user y passwd.

Page 63: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

52

Cada elemento table contiene el atributo name, cuyo valor será el nombre de una determinada tabla. Los elementos table contendrán elementos field, los cuales tendrán información de cada campo que contiene la tabla a través de los atributos name y alias.

Figura 5.9. Documento XML generado a partir del esquema de la base de datos Control.

Figura 5.10 Esquema conceptual de la base de datos control del SMBD Postgresql.

create table alumnos (clave_alum char(6) primary key, nombre char(30), ap_pat char(15), ap_mat char(15), fecha_ingreso date, fecha_termino date, becas char(15), clave_espec char(1));

create table especialidad (clave_espec char(1) primary key, nombre char(32)); create table profesores (clave_prof char(18) primary key, nombre char(30), ap_pat char(15), ap_mat char(15), activo char(8), tipo_plaza char(10), clave_espec char(1) references especialidad); . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

<?xml version="1.0" encoding="UTF-8"?> <Database> <connection driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/control" user="" passwd=""/> <table name="alumnos"> <field name="clave_alum" alias="Numero de control"/> <field name="nombre" alias="nombre"/> <field name="ap_pat" alias="apellido paterno"/> <field name="ap_mat" alias="apellido materno"/> <field name="fecha_ingreso" alias="fecha_ingreso"/> <field name="fecha_termino" alias="fecha_termino"/> <field name="becas" alias="becas"/> <field name="clave_espec" alias="especialidad"/> </table> <table name="especialidad"> <field name="clave_espec" alias="clave_espec"/> <field name="nombre" alias="nombre"/> </table> <table name="profesores"> <field name="clave_prof" alias="clave_prof"/> <field name="nombre" alias="nombre"/> <field name="ap_pat" alias="paterno"/> <field name="ap_mat" alias="apellido materno"/> <field name="activo" alias="activo"/> <field name="tipo_plaza" alias="tipo_plaza"/> <field name="clave_espec" alias="especialidad"/> </table> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </Database>

Page 64: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

53

5.3.2.2 Caso B: Generación fallida del documento XML. Objetivo: Notificar al usuario que no es posible generar el documento XML si no se ha establecido conexión con una base de datos determinada.

Descripción de la Prueba: Para llevar a cabo esta prueba se siguieron los siguientes puntos:

Conexión nula con la base de datos.

Seleccionar la opción “Generar docto XML” del comando Informes

Seleccionar la opción “Generar documento automáticamente” e introducir el nombre que se le dará al documento XML.

Datos de entrada. El dato de entrada que se tomó para este caso de prueba fue la salida del caso B de la prueba 1 (conexión nula). Salida. Para este caso de prueba en el cual no existe conexión con la base de datos, después de introducir el nombre que se le asigna al documento XML, el sistema despliega un mensaje (ver Figura 5.11), indicando al usuario que no existe conexión por lo que no es posible generar el documento en formato XML

Figura 5.11. Mensaje de error al querer generar el documento XML con una conexión nula. 5.3.3 Prueba 3: Generar informes Web. Objetivo: Generar informes Web de cada una de las tablas y/o vistas definidas en la base de datos. Descripción de la Prueba: Para la realización de esta prueba se llevaron a cabo los siguientes pasos:

Page 65: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

54

Establecer conexión con la base de datos (prueba 1 caso A)

Generar el esquema en formato xml de la base de datos (prueba 2 caso A)

Datos de entrada. Para generar los informes Web es necesario tener el esquema de la Base de Datos en formato XML y tener definida una hoja de estilos. El sistema cuenta con 2 hojas de estilo predefinidas (ver Figura 5.12), el proceso para acceder a ellas se explica en el Anexo C.

Figura 5.12. La Sección Hojas de estilo de la opción Configuracion muestra las hojas de estilo predefinidas por el sistema.

En esta prueba se tomó el documento XML generado en la prueba anterior, así como la hoja de estilo llamada diseñoMezclilla.xsl, con ello se le proporciona al usuario la opción de aplicar cualquier diseño de los tres preestablecidos al informe generado, teniendo cuidado de no borrar la programación que la hoja de estilo tiene implícita.

Salida. La Figura 5.13 muestra la página index.jsp, la cual lista todos los informes generados por el sistema, para que éstos puedan ser visualizados se debe hacer clic sobre la liga del informe que se desea visualizar, para ello es necesario instalar un servidor de aplicaciones, para nuestros casos de prueba se utilizó el servidor de Aplicaciones Apache Tomcat 4.0. Este servidor cuenta con una estructura de directorios, los cuales se encuentran en el directorio de Instalación del servidor. En

Page 66: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

55

éste se encuentra el subdirectorio webapps donde deben ser colocados los archivos jsp generados por el sistema para ser visualizados. En el capítulo 4 se explicaron cada uno de éstos.

De todos los archivos jsp generados, la Figura 5.14 muestra solamente el archivo jsp de la tabla profesores. Después de colocar los archivos jsp en el directorio correspondiente del servidor de aplicaciones, se debe inicializar el servicio, para posteriormente visualizar en el navegador cada uno de los informes generados, la Figura 5.15 muestra el informe profesores, para nuestros casos de prueba se utilizó el navegador Internet Explorer 6.0.

Figura 5.13. Index generado por el sistema que muestra la lista de informes web generados.

Figura 5.14. Archivo jsp de la tabla profesores

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %> <%@ page import="java.lang.*" %> <%@ page import="java.util.*" %> <%@ include file="conexion.jsp" %> <%@ page errorPage="errorPage.jsp" %> <%@ include file="fmtExcel.jsp" %><html xmlns:fo="http://www.w3.org/1999/XSL/Format"> <body text="#000000" bgcolor="#FFFFFF"> <table height="566" border="0" width="100%"> <tr> <td height="110"> <div id="Layer1" style="position:absolute; width:176px; height:26px; z-index:3; left: 816px; top: 104px"> <div align="center"> <font face="Arial" color="#000000"> <h6> <i>Centro Nacional de Investigacion y Desarrollo Tecnologico</i> </h6> </font> </div></div> <div id="Layer2" style="position:absolute; width:84px; height:26px; z-index:6; left: 736px; top: 105px">

Page 67: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

56

Continuación de la Figura 5.14

Figura 5.15. Informe profesores con el diseño DiseñoMezclilla.

Archivos generados.

Para que la herramienta pueda generar los reportes, ésta crea los archivos: conexión.jsp y database.jsp; el primero contiene los datos de conexión, el cual es utilizado por la hoja de estilo seleccionada, y el segundo contiene todos los informes Web generados, posteriormente el sistema internamente divide este archivo para obtener cada informe en un archivo en formato jsp.

La Figura 5.16 muestra el contenido del archivo conexión.jsp. No se muestra el contenido

del archivo database.jsp, ya que éste es demasiado grande al contener todos los informes generados.

<div align="left"> <b><i><font size="5">Cenidet</font></i></b> </div> </div></td> </tr> <tr> <td height="36"> <div style="position:absolute; width:327px; height:24px; z-index:5; top: 163px; left: 369px" id="Layer3"> <div align="center"> <h3 align="center"> <font color="#000000" face="Arial"><b><i><u> Reporte profesores</u></i></b></font> </h3></div></div></td></tr>

Page 68: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

57

Figura 5.16. Datos de conexión 5.3.4 Prueba 4: Conversión del contenido del informe Web generado a formato Excel. Objetivo: Pasar los datos que se obtuvieron en el informe Web generado a formato de Microsoft Excel. Descripción de la Prueba: Los pasos que se siguieron fueron los siguientes:

Visualizar el informe de la prueba anterior en el navegador Acceder a la aplicación de Microsoft Excel a través de su correspondiente icono que se

presenta en el Informe. Datos de entrada. El dato de entrada que toma esta prueba es el informe web generado en la prueba anterior. Salida. La Figura 5.17 muestra los datos obtenidos en el informe Web en formato Excel, dentro de la ventana del explorador.

5.3.5 Prueba 5: Cambiar el diseño del informe Web. Objetivo: Comprobar que es posible aplicar distintos diseños a un mismo informe. Descripción de la Prueba: Los pasos que se siguieron se listan a continuación:

Seleccionar la opción configuración del comando Herramientas Seleccionar la sección Hojas de Estilo Selección del diseño diseño3D.xsl

01 <sql:setDataSource 02 var="conexion" 03 driver="org.gjt.mm.mysql.Driver" 04 url="jdbc:mysql://localhost:3306/control" 05 user="" 06 password="" 07 />

Page 69: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

58

Figura 5.17. Datos obtenidos en el informe generado en la prueba anterior en formato Excel dentro de la ventana del explorador.

Datos de entrada. Para esta prueba se tomó el documento XML generado en la prueba 1, por lo que se generan los mismos reportes que la prueba anterior, la diferencia entre ambas consiste en que se les aplica diseños distintos, en la prueba anterior a los reportes se les aplicó el diseño diseñoMezclilla.xsl y en ésta se les aplicó la hoja de estilo diseño3D.xsl, por lo que los datos contenidos en los reportes serán los mismos, pero con diferente diseño. Salida. En las Figuras 5.16 y 5.18, se muestra el reporte profesores con 2 diseños distintos. El reporte de la Figura 5.16 (generado en la prueba 2) se le aplicó el diseño diseñoMezclilla.xsl, y el de la Figura 5.18 (generado en esta prueba 3) se le aplicó el diseño3D.xsl.

Page 70: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

59

Figura 5.18. Informe profesores, al cual se le aplicó el diseño Diseño3D.xsl.

5.3.6 Prueba 6: Ejecución de un informe cuya tabla ha sido eliminada de la base de datos. Objetivo: Verificar el manejo de errores que se pudieran generar al momento de ejecutar el informe. Descripción de la Prueba: Para llevar a cabo esta prueba se realizó lo siguiente:

Se eliminó fisicamente la tabla profesores de la base de datos

Se seleccionó el informe profesores para visualizarlo en el Navegador.

Datos de entrada. Se tomó como dato de entrada el informe profesores (previamente generado en la prueba 3) cuya tabla correspondiente se borró de la base de datos. Esta prueba consiste en ejecutar el informe profesores previamente generado. Salida. La salida que arroja el sistema al ejecutar esta prueba es una página de error (ver Figura 5.19), la cual indica las razones que generaron este error. El sistema detecta los errores generados cuando se elimina una tabla y cuando se elimina una base de datos físicamente del SMBD.

Page 71: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

60

Figura 5.19. Página de error que muestra el sistema al acceder a un informe generado previamente cuya tabla ha sido borrada de la base de datos.

5.4 Obtención de informes Web a partir del esquema de la base de datos utilizando el SMBDR MySQL 3.23.57.

En este punto se muestran las pruebas realizadas para obtener un informe Web generado por el sistema utilizando la base de datos Control que se encuentra en el SMBDR mysql, dicho manejador se encuentra en la máquina cliente. Se omite una explicación detallada de cada una de las pruebas ya que son los mismos pasos a seguir que las descritas en el punto 5.3. 5.4.1 Prueba 1: Conexión a la base de datos. Objetivo: Verificar que el sistema es capaz de conectarse con cualquier SMBD que soporte el controlador JDBC. Descripción de la Prueba: Los pasos que se siguieron fueron los siguientes:

Seleccionar la opción conexión del comando Conexión. • Seleccionar el SMBD • Introducir y/o editar el url correspondiente al driver del SMBD

Seleccionar la opción Abrir conexión del comando Conexión • Introducir la cuenta de usuario y el password con el que se va ha establecer la

conexión.

Page 72: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

61

Entrada. En la Figura 5.20 se muestran los parámetros de conexión necesarios para establecer conexión a la base de datos Control del SMBD mysql (ver Anexo C), y en el cuadro de diálogo de la Figura 5.21 muestra tanto el usuario como el password con el que se intenta acceder a la base de datos.

Para este caso de prueba se introdujeron los siguientes datos:

En la casilla donde se indica el sistema Mandejador de Base de Datos se seleccionó mysql, al establecer el SMBD, el sistema automáticamente establece por defecto su correspondiente driver (para este caso com.mysql.jdbc.Driver), así como su respectivo URL.

El Url que el sistema establece al seleccionar el SMBD está formado por:

jdbc:mysql://localhost/3306/Control. Donde:

localhost indica que el servicio de mysql se está ejecutando localmente 3306 indica el puerto del SMBD Control indica el nombre de la base de datos

Salida. Como los datos de conexión son correctos es posible establecer la conexión a la base de datos especificada (ver Figura 5.22), con esta conexión es posible extraer los metadatos de la base de datos y generar el documento XML con el esquema de la base de datos para posteriormente generar los informes.

Figura 5.20. El Cuadro de diálogo Conexión permite establecer los datos necesarios para la conexión a una base de datos determinada.

Page 73: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

62

Figura 5.21. En este cuadro de diálogo se establece la cuenta y el password a través del cual se va a establecer la conexión.

Figura 5.22. Mensaje utilizado para indicar que la conexión a la base de datos se estableció de manera satisfactoria.

5.4.2 Prueba 2: Generación del documento en formato xml a partir del esquema de la base de datos. Objetivo: Obtener las tablas y/o vistas de la base de datos y traducirlos a un documento en formato XML. Descripción de la Prueba: Para generar el Documento en formato XML con el esquema de la base de datos es necesario llevar a cabo los siguientes pasos:

Seleccionar la opción “Generar documento XML” del comando Informes.

Seleccionar la opción “Generar documento automáticamente” e introducir el nombre que se le dará al documento XML.

Al presionar el botón Aceptar aparece el cuadro de diálogo de la Figura 5.23, en el cual se

seleccionaron un conjunto de las tablas y/o vistas de la Base de Datos (vea Anexo C).

Page 74: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

63

Datos de entrada. Para generar el esquema de la base de datos en formato XML, se utiliza como dato de entrada la conexión a la base de datos realizada en la prueba 1 del punto 5.3, posteriormente se obtienen sus metadatos y se traducen a un documento en formato XML. Salida. La salida que produjo esta prueba fue la generación del archivo en formato xml con las tablas seleccionadas por el usuario, al cual se le asignó el nombre database.xml y se almacenó en el directorio de la herramienta. Para ilustrar este caso de prueba en la Figura 5.24 se muestra la tabla especialidad en su formato XML y en la Figura 5.25 se muestra el esquema conceptual de dicha tabla.

Figura 5.23. Este cuadro de diálogo muestra en una estructura de árbol todas las tablas y/o vistas contenidas en la Base de Datos.

El documento xml generado es un documento válido ya que cumple con las reglas del

estándar. Está constituido por el elemento database, el cual es el elemento raíz, éste a su vez está compuesto por el elemento conexión y los elementos table. El elemento database tendrá tantos elementos table como tablas se hayan seleccionado para generar el documento XML.

El elemento conection contiene los parámetros de conexión a la base de datos. Por lo que sus atributos son: driver, url, user y passwd.

Page 75: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

64

Figura 5.24. Documento XML generado a partir del esquema de la base de datos Control.

Figura 5.25 Esquema conceptual de la base de datos control del smbd mysql. 5.4.3 Prueba 3: Generar informes Web. Objetivo: Obtener los informes Web de cada una de las tablas seleccionadas en la prueba 2. Descripción de la Prueba: Para la realización de esta prueba se llevaron a cabo los siguientes pasos:

Establecer conexión con la base de datos (prueba 1 del punto 5.3)

Generar el esquema en formato xml de la base de datos (prueba 2)

Datos de entrada. Para generar los informes Web es necesario tener el esquema de la Base de Datos (prueba 2) en formato XML y tener definida una hoja de estilos. Para esta prueba se tomó la hoja de estilo llamada sinDiseño.xsl.

01 <?xml version="1.0" encoding="UTF-8"?> 02 <Database> 03 <conexion driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/control" user="" 04 passwd=""/> 05 <table name="especialidad"> 06 <field name="clave_espec" type="bpchar" size="11"/> 07 <field name="nombre" type="bpchar" size="32"/> 08 </table> . . . . . . . . . . . . . . . . . . . . . . . . . . . n </Database>

create table especialidad(clave_espec char(1) primary key, nombre char(32)); create table profesores(clave_prof char(18) primary key, nombre char(30), ap_pat char(15), ap_mat char(15), activo char(8), tipo_plaza char(10), clave_espec char(1) references especialidad); . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Page 76: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

65

Salida. La Figura 5.26 muestra la página index.jsp, la cual lista todos los informes generados por el sistema, para que éstos puedan ser visualizados se debe pulsar el botón izquierdo del mouse, sobre la liga del informe que se desea visualizar, para ello es necesario haber iniciado el servicio del servidor de aplicaciones, para nuestros casos de pruebas se utilizó el servidor de Aplicaciones Apache Tomcat 4.0.

De todos los archivos jsp generados, la Figura 5.27 muestra el informe especialidad, para

nuestros casos de prueba se utilizó el navegador Internet Explorer 6.0.

Figura 5.26. Index generado por el sistema que muestra la lista de informes web generados.

Figura 5.27. Informe especialidad con el diseño DiseñoMezclilla.

Page 77: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

66

5.5 Obtención de informes Web a partir de consultas personalizadas. 5.5.1 Prueba 1: Generación del documento en formato XML. Objetivo: Generar un documento XML con los datos de la(s) consulta(s) introducidas por el usuario. Descripción de la Prueba: Para ejecutar esta consulta se utilizó la conexión establecida en la prueba 1 del punto 5.4, al momento de que el usuario ejecuta una consulta personalizada se crea un documento en formato xml, con los datos de ésta. Para llevar a cabo esta prueba se realiza lo siguiente:

Seleccionar la opción personalizado de Generar esquema, del menú Informes. En el cuadro de diálogo que aparece (ver Figura 5.28), introducir la consulta que se

desea realizar, para ello es necesario haber previamente establecido conexión con la base de datos.

Seleccionar la opción Generar informe del menú Informes

Los datos que se utilizaron para esta prueba fueron los siguientes:

Titulo del Reporte: Profesores de Tiempo Completo Nombre del Reporte: Prof_Tiempo_Completo Consulta: Select nombre, ap_pat, ap_mat from profesores where

tipo_plaza=’Completo’

Figura 5.28. En este cuadro de diálogo se introduce una consulta para generar un reporte que liste los nombres de profesores de tiempo completo.

Page 78: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

67

Datos de entrada. Para generar el documento xml de la consulta personalizada es necesario haber establecido previamente conexión con la base de datos, con el fin de que el usuario pueda visualizar los metadatos (nombre de las tablas, así como sus respectivos campos) de la base de datos. Salida. La salida que genera esta prueba es el documento XML llamado consultas.xml, el cual contiene los datos de la consulta, la Figura 5.29 muestra el contenido de este archivo.

Figura 5.29. Contenido del archivo consultas.xml 5.4.4 Prueba 2: Generar informes Web. Objetivo: Obtener los informes Web de cada una de las consultas introducidas por el usuario. Descripción de la Prueba: Para la realización de esta prueba se llevaron a cabo los siguientes pasos:

Establecer conexión con la base de datos Introducir la consulta(s) (generación del documento xml).

Datos de entrada. Para generar los informes Web es necesario tener los datos de la consulta a ejecutar (prueba 1) en formato XML y tener definida una hoja de estilos. Para esta prueba se tomó la hoja de estilo llamada DiseñoMezclilla, para seleccionar y/o añadir hojas de estilos véase el Anexo C. Salida. La Figura 5.30 muestra la página index, la cual lista los archivos JSP generados por el sistema, cada archivo contiene una consulta, el nombre de cada uno de estos archivos será el que se introdujo en la opción Nombre del reporte del cuadro de diálogo consultas. La Figura 5.31 muestra el informe jsp generado de la consulta realizada.

<?xml version="1.0" encoding="UTF-8"?> <Query> <connection driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/Control" passwd="" user=""/> <table queryName="Prof_Tiempo_Completo" header="Profesores de tiempo completo" query="select nombre, ap_pat, ap_mat from profesores where tipo_plaza='Completo'"/> </Query>

Page 79: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 5 Pruebas y resultados del sistema

68

Figura 5.30. Archivo index, el cual muestra la consulta realizada a la base de datos.

Figura 5.31. Reporte Web, el cual lista a los profesores que laboran de tiempo completo.

Page 80: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

69

Capítulo

Conclusiones En este capítulo se describen las conclusiones que se obtuvieron durante el desarrollo de esta tesis. Además se describen las contribuciones y trabajos futuros.

Page 81: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 6 Conclusiones

70

6.1. Conclusiones generales. En este trabajo de tesis se presenta un nuevo enfoque para generar reportes Web haciendo uso de la tecnología XML así como de sus tecnologías asociadas.

También se demuestra que la arquitectura presentada es una alternativa factible para obtener Informes Web de manera automática, mostrando las bondades de este enfoque para obtener el informe generado en otros formatos tales como documentos HTML, WML, RTF, PDF.

Además se muestra la posibilidad de generar informes Web de manera automática, tanto por el desarrollador principiante de aplicaciones, el cual no tiene cierto conocimiento del lenguaje SQL para generar consultas, así como por el desarrollador de aplicaciones experimentado, el cual puede hacer uso de la herramienta para generar sus informes que contengan consultas tan complejas como desee.

El sistema desarrollado beneficiará al desarrollador de aplicaciones principiante ya que

éste no tendrá que introducir consultas debido a que el sistema se encargará de generar tantos informes como tablas y/o vistas haya en la base de datos y cada uno de éstos contendrá toda la información existente en cada tabla de la base de datos.

Las contribuciones que aporta este trabajo de tesis, se listan a continuación:

En las pruebas se demostró que el sistema desarrollado permite generar reportes Web de manera automática tanto de tablas y/o vistas definidas en la base de datos como de consultas personalizadas.

La herramienta desarrollada hizo uso de nuevas tecnologías de manipulación de

estructuras XML lo que redujo el tiempo de desarrollo.

La herramienta permite al desarrollador de aplicaciones que los informes sean claros para los usuarios sin necesidad de modificar la base de datos.

La herramienta permite al desarrollador de aplicaciones generar informes Web cuya

información se encuentra en distintas bases de datos de distintos Sistemas Manejadores de Base de Datos.

La herramienta proporciona 3 diseños por omisión para el informe a generar, sirviendo

de plantilla para que el desarrollador pueda diseñar sus propios diseños, y añadirlos al sistema.

La herramienta ofrece la flexibilidad de que la información mostrada en los informes, se

pueda obtener en formato de Microsoft Excel, para hacer uso de todas las operaciones que ofrece esta aplicación

6.2. Beneficios. Los beneficios que se obtuvieron con el desarrollo de este trabajo de tesis se listan a continuación:

Page 82: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 6 Conclusiones

71

La herramienta es capaz de trabajar con cualquier Sistema Manejador de Bases de

Datos que soporte la tecnología JDBC.

Es posible ejecutar la herramienta en cualquier máquina que tenga instalada la máquina virtual de Java.

La herramienta desarrollada permite al diseñador de sitios Web construir informes que

involucren todos los atributos de la tabla y de todas las tuplas ó vistas definidas en la base de datos con un mínimo de esfuerzo; liberándolo del trabajo monótono y repetitivo.

Reducción de costos y tiempo en el desarrollo de aplicaciones Web, esto se debe a que el desarrollador de aplicaciones no tiene que desarrollar cada una de las páginas para cada uno de las distintas consultas a la base de datos.

Todas las páginas generadas para el despliegue de las consultas contendrán un diseño uniforme.

6.3. Resultados Obtenidos. Los resultados obtenidos con el desarrollo de esta tesis, se listan a continuación:

Obtención del esquema de la base de datos en un documento en formato XML

Conversión del documento XML obtenido a un archivo JSP

Facilidad para aplicar los diseños ya establecidos en el sistema a los informes a

generar, así como añadir diseños propios del desarrollador de aplicaciones.

Desarrollo e implementación del sistema y realización de pruebas que permiten generar reportes Web de manera automática tanto de tablas y/o vistas definidas en la base de datos como de consultas personalizadas.

Transformación de los resultados obtenidos en los Informes Web a formato Excel.

6.4. Trabajos Futuros. A partir del resultado que presenta esta arquitectura se proporciona la facilidad de implementar los siguientes módulos:

Añadir módulos de actualización de datos a la base de datos tales como (Eliminar, añadir y/o modificar registros).

Convertir los contenidos de los informes Web generados a formato pdf, rtf, doc, etc.

Page 83: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

Capítulo 6 Conclusiones

72

El sistema se desarrolló como una aplicación Java, obteniendo informes en formato JSP. Un trabajo futuro sería pasar esta aplicación aislada para la Web.

Generación del documento en formato XML como los informes en memoria, para que

no se generen físicamente evitando así que se ocupe espacio en disco.

Page 84: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

73

Anexos

Page 85: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

74

Anexo A. Notas de Instalación del Sistema. Para que el sistema pueda funcionar se debe tener instalado el software, que se lista a continuación:

• Java 2 SDK, que es el ambiente de desarrollo necesario para ejecutar el sistema, Java 2 SDK se encuentra disponible en http://java.sun.com, es recomendable instalar un JSDK versión 1.4.0 o posterior, ya que estos ambientes contienen APIs que permiten trabajar con XML.

• Un servidor de Aplicaciones cualquiera, pero es recomendable el servidor Apache Tomcat 4.0, por ser un software libre, además de ser el que se utilizó para realizar las pruebas al sistema.

• Un servidor de bases de datos, el SMBD que se utilice debe soportar la tecnología JDBC.

• El (los) driver (s) JDBC correspondiente (s) al SMBD al cual se accesará. • Las clases compiladas del sistema GAR • El directorio llamado GAR, el cual contiene los archivos de configuración del

sistema. Pasos a seguir para ejecutar GAR. Enseguida se listan los pasos a seguir para ejecutar el sistema, una vez que se haya instalado el software requerido.

Añadir el archivo jbcl.jar al directorio lib del j2sdk que se haya instalado, el cual se encuentra en la carpeta paquetes que viene con el software del sistema.

Copiar el archivo GAR.xml en la unidad C: de la máquina cliente, el sistema

siempre buscará este archivo de configuración en esta unidad, dicho archivo contiene información del sistema.

Copiar el directorio GAR en la máquina cliente, se considera por defecto la unidad

C: pero es posible colocarlo en otra ruta, por lo que se debe editar el archivo GAR.xml indicando la nueva ruta donde será colocado el directorio GAR., para más detalle vea el anexo B Sistema de archivos GAR.

Copiar el directorio de clases del sistema en cualquier ruta, pero debe especificar

en el classpath la ruta donde se encuentra instalado el JDK, de otra forma puede copiar el directorio de clases de GAR dentro del directorio bin del jdk que se haya instalado. Por ejemplo para ejecutar la herramienta con la última opción, es necesario cambiar al subdirectorio sistema (el cual contiene las clases compiladas del sistema), posteriormente se introduce el siguiente comando:

C:\j2sdk1.4.0\bin\sistema> java principal

Page 86: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

75

Anexo B. Sistema de Archivos GAR. El sistema GAR necesita de archivos de configuración para poder funcionar correctamente, en esta sección se proporciona una breve descripción del funcionamiento de cada uno de éstos.

Archivos de Configuración:

GAR necesita de 3 archivos de configuración: GAR.xml, Drivers.xml y Stylesheet.xml. La Figura B1

muestra como interactúan estos archivos con el diagrama de procesos del sistema (descrito en el capítulo 4).

Figura B1. Esta Figura muestra como los archivos de configuración interactúan con el sistema.

1) GAR.xml

Este archivo contiene información del sistema, tal como, el nombre del directorio de la

aplicación, así como la ruta donde se localiza, etc., en la Tabla B1 se proporciona la descripción de cada una de las propiedades del archivo.

Tabla B1. Descripción de las propiedades del archivo de configuración del sistema GAR.

Page 87: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

76

Propiedad Descripción Path Ruta donde se encuentra el directorio del sistema Drivers Especifica el nombre del archivo de configuración donde se

almacena información acerca de los drivers. Stylesheet Especifica el nombre del archivo de configuración donde se

almacenará toda la información referente a las hojas de estilos disponibles en el sistema.

ReportDir Nombre del directorio por defecto donde se colocarán los reportes Web generados.

XmlSchema Especifica el nombre de los documento XML que se generan con los metadatos de la base de datos.

Template Especifica el nombre de la plantilla xsl que se genera con el diseño a aplicar a los Informes.

GAR, busca el archivo de configuración GAR.xml en la unidad C:. El archivo está constituido por el elemento configuration, el cual es el elemento raiz del documento xml, este a su vez está compuesto por los elementos: path, drivers, stylesheet, xmlSchema, template, dirReports, dirApp cada elemento tiene el atributo name excepto el elemento dirReport que contiene el atributo path. El sistema en tiempo de ejecución se encarga de manipular el contenido de este archivo.

Si el usuario que manipula el sistema desea cambiar de ruta al directorio de la aplicación se debe

editar la etiqueta Path, proporcionando en la propiedad name la ruta completa, incluyendo el nombre del directorio donde se encuentran los archivos de configuración.

Nota: Los archivos de configuración que se encuentran dentro de la carpeta GAR no deben

eliminarse, así como tampoco deben cambiar de nombre, es decir la única opción que puede ser editada en el archivo GAR.xml es Path. Todos los archivos de GAR deben estar dentro de la carpeta.

El contenido por defecto del archivo GAR.xml se muestra en la Figura B2.

Figura B2. Archivo GAR.xml. La línea <path name=c:\\myfiles\\ indica el nombre del directorio así como la ruta de localización.

Para la descripción de cada una de las líneas de este archivo vea la Tabla 1, de este anexo.

01 <?xml version="1.0" encoding="UTF-8"?> 02 <!-- Datos del archivo de configuracion --> 03 <configuration> 04 <path name="C:\\myfiles\\GAR"/> 05 <drivers name="Drivers.xml"/> 06 <stylesheet name="stylesheet.xml"/> 07 08 <!--Archivos generados por GAR--> 09 <xmlSchema> 10 <schema name="Consultas.xml"/> 11 <default schema=" Consultas.xml"/> 12 <schema name="schema.xml"/> 13 </xmlSchema> 14 <template name="database.xsl"/> 15 <dirReports path="C:\Archivos de programa\Apache Tomcat 4.0\webapps\Generator"/> 16 </configuration>

Page 88: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

77

GAR genera 2 archivos: database.xml y database.xsl. El archivo database.xml contiene el esquema de la base de datos especificada, y database.xsl proporciona el diseño que se le aplicará al reporte. Estos archivos se almacenan en la ruta especificada por Path.

2) Drivers.xml

Antes de iniciar con la fase 1 del sistema, es necesario que éste ejecute un archivo de configuración, que le permitirá al sistema, establecer una correcta conexión con una BD de un SMBD previamente definido.

Este archivo de configuración contiene información acerca de los parámetros de conexión de cada uno de los SMBDs que se encuentran definidos dentro de este archivo. Al añadir cada driver, el sistema guarda esta información en el archivo de configuración, así como el driver que ha establecido por defecto. La Figura 4.3 muestra el archivo de configuración que el sistema lee al inicializarse.

El archivo Drivers.xml está constituido por el elemento Drivers, el cual es el elemento raíz del

documento XML de la Figura B3, éste a su vez está compuesto por los elementos smbd y el elemento default, este último contiene el nombre del SMBD que el usuario establece por defecto.

Cada elemento SMBD contiene el atributo name, cuyo valor será el nombre del SMBD, el atributo

driver contiene el nombre del controlador correspondiente y el atributo url contiene tanto el nombre del servidor de la base de datos como el nombre de la base de datos.

Figura B3. Archivo de configuración que se utiliza para inicializar el sistema.

3) Stylesheet.xml

En este archivo de configuración, se almacenan los nombres de las hojas de estilo que contienen el diseño de los reportes, así como la ruta donde se localizan estos archivos. El sistema contiene por defecto dos hojas de estilo: Diseño3D.xsl y DiseñoMezclilla.xsl. En la Figura B4 se lista el archivo de configuración stylesheet.xml. Al añadir cada hoja de estilo, el sistema guarda esta información en este archivo de configuración, así como la hoja de estilo que se ha establecido por defecto.

Nota: Si se desean realizar modificaciones al diseño de los reportes, por ejemplo, cambiar

el color de fondo ó agregar una imagen, etc., es posible hacerlo con solo editar las hojas de estilo (Diseño3D.xsl, DiseñoMezclilla.xsl) en cualquier editor de html, teniendo cuidado de no borrar el código fuente que llevan implícitos estos archivos.

<?xml version="1.0" encoding="UTF-8"?> <Drivers> <smbd name="mysql" driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/control"/> <default smbd="mysql"/> <smbd name="hsqldb" driver="org.hsqldb.jdbcDriver" url="jdbc:hsql:Titulacion"/> <smbd name="postgresql" driver="postgresql.Driver" url="jdbc:postgresql"/> </Drivers>

Page 89: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

78

El archivo stylesheet.xml está constituido por el elemento ReportDesign, el cual es el elemento raíz del documento XML, éste a su vez está compuesto por los elementos design y el elemento default, este último contiene el nombre del diseño que el usuario establece por defecto. Cada elemento design contiene el atributo name, cuyo valor será el nombre del diseño, y el atributo path contiene la ruta donde se encuentra dicho diseño.

Figura B4. Hoja de estilo establecida por defecto por el sistema.

B2. Directorio de la aplicación.

El directorio por defecto donde GAR busca los archivos de configuración es el que está establecido en la propiedad name de la etiqueta path, del archivo de configuración GAR.xml, esta carpeta contiene los archivos de configuración establecidos por defecto (drivers.xml, diseñoMezclilla.xsl, diseño3D.xsl), y los que genera, tales como el documento XML con el esquema de la base de datos, y el diseño final del reporte. La Figura B5. muestra los archivos de configuración que se encuentran dentro de la carpeta GAR.

En caso de que el usuario olvide especificar el directorio donde se almacenarán los informes

Web.; dentro de la carpeta de configuración se crea otro subdirectorio llamado MisInformesWeb, el cuál contendrá los informes Web generados.

01 <?xml version="1.0" encoding="UTF-8"?> 02 <ReportDesign dir="Diseños"> 03 <design name="diseño1" path="c:\\myfiles\\GAR\\DiseñoMezclilla.xsl"/> 04 <design name="diseño2" path="c:\\myfiles\\GAR\\Diseño3D.xsl"/> 05 <design name="diseño3" path="c:\\myfiles\\GAR\\Sindiseño.xsl"/> 06 <default design="diseño3"/> 07 </ReportDesign>

Page 90: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

79

Figura B5. Archivos de configuración del sistema.

Page 91: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

80

Anexo C. Guía rápida del sistema. En este apartado se explican cada una de las opciones de comando del sistema, su funcionamiento así como cada una de sus interfaces, a partir de este punto y a lo largo de este anexo se utilizará el nombre de GAR (Generador Automático de Reportes) para hacer referencia al sistema desarrollado. I. Menú Principal.

Para poner en marcha el Sistema se debe ejecutar el archivo principal.class, posteriormente aparecerá la pantalla principal del sistema (como se muestra en la Figura C1).

Figura C1. Menú principal de GAR.

Opciones del Menú Principal.

La barra de menú tiene los siguientes comandos, los cuales se explican a detalle más adelante: Conexión, Informes, Archivos del Sistema, Herramientas y Ayuda (ver Figura C2). En el comando Conexión se encuentran las opciones Conexión, Abrir conexión y Salir. El comando Informes contiene las opciones Generar Esquema, la cual está compuesta por las opciones General y personalizado, Asignar alias y Generar Informes. El comando Archivos del Sistema contiene las opciones Ver y Generar, esta última opción a su vez contiene las opciones Driver y Hoja. El comando Herramientas

Page 92: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

81

contiene las opciones Configuración y añadir drivers al classpath al sistema. Finalmente el comando ayuda contiene la opción Acerca de.

Figura C2. Opciones de comando del sistema

C1. Comando Conexión.

Las opciones de este comando se muestran en la Figura C3, éstas permiten establecer conexión con una base de datos específica, a través de los siguientes parámetros, SMBD, Driver y URL.

Figura C3. Opciones del comando Conexión

C1.1. Conexión.

Esta opción permite al usuario seleccionar el Sistema Manejador de Base de Datos Relacional, así como establecer el servidor de Base de Datos donde se encuentra la Base de Datos a ser consultada.

GAR carga el SMBD (así como sus datos correspondientes) establecido por defecto en la opción

Drivers del comando Configuración. En la Figura C4, el cuadro de diálogo de esta opción muestra el

Page 93: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

82

SMBD postgresql cuya dirección IP del servidor de Base de datos es 148.208.247.20 y la base de datos es Control, estos datos aparecen automáticamente al seleccionar esta opción, ya que el sistema toma esta información del archivo de configuración drivers.xml.

Figura C4. El Cuadro de dialógo Conexión permite establecer los datos necesarios para la conexión a una base de datos determinada.

C1.2. Abrir conexión.

Esta opción permite establecer conexión con la base de datos especificada en la opción Datos de conexión, con una cuenta de usuario y un password determinado.

La Figura C5 muestra el cuadro de diálogo donde se debe introducir la cuenta y el password para

poder acceder a la base de datos correspondiente.

Figura C5. En este cuadro de diálogo se establece la cuenta y el password a través del cual se va a establecer la conexión.

C1.3. Salir.

Page 94: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

83

Al seleccionar esta opción, la herramienta deja de ejecutarse, y le cede el control al sistema operativo. C2. Comando Informes. La Figura C6 muestra las opciones de este comando

Figura C6. Opciones del comando Informes.

C2.1. Generar Esquema.

Para generar los informes es necesario crear primero el documento XML, esta opción permite generarlo ya sea a partir del esquema de la base de datos o a partir de las consultas introducidas por el usuario (ver Figura C7).

Si el usuario se salta este paso el sistema generará los informes tomando el documento xml que se encuentre establecido por defecto en el archivo de configuración del sistema.

Figura C7. Opciones para generar el documento XML

C2.1.1. General.

Esta opción permite generar el documento XML a partir del esquema de la base de datos. Al activarse aparecerá el cuadro de diálogo que se muestra en la Figura C8, el cual contiene 2 opciones: Generar el esquema automáticamente y Tomarlo desde archivo. C2.1.1.1. Generarlo Automáticamente. Al seleccionar esta opción, se habilitará un cuadro de texto, en el cual se debe introducir el nombre que se desea dar al documento XML. Para que el documento pueda generarse, es necesario haber establecido previamente conexión con una Base de Datos, posteriormente aparecerá un cuadro de diálogo (ver Figura C9) que muestra las tablas existentes en la base de datos.

Page 95: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

84

Figura C8. En este cuadro de diálogo se muestran 2 opciones, las cuales le permiten al sistema generar los informes Web.

Figura C9. De todas la tablas existentes en la base de datos, el sistema solo generará un documento XML a partir de las tablas seleccionadas.

Este cuadro de diálogo muestra 2 secciones, la parte izquierda muestra las tablas existentes en la base de datos en una estructura en forma de árbol, en la sección derecha se muestra una lista donde se visualiza cada tabla seleccionada, y en la parte central existen una

Page 96: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

85

serie de botones para manipular las tablas que se hayan seleccionado. El botón regresar permite eliminar la tabla seleccionada del cuadro de la lista, el botón Completo permite visualizar todas las tablas en la lista y el botón Regresar completo elimina todas las tablas de la lista.

Para generar el documento con todas las tablas y/o vistas de la base de datos que

aparecen en la estructura de árbol, se debe oprimir el botón Completo y posteriormente presionar el botón aceptar.

Para seleccionar tablas y/o vistas específicas, basta con seleccionarlas de la estructura de

árbol, ésta se añadirá en el cuadro de la parte derecha. De las tablas que se encuentran en este cuadro se creará el documento en formato xml al oprimir el botón aceptar.

Si se quiere eliminar una de las tablas seleccionadas que aparecen en el cuadro de la

derecha, se debe seleccionar la tabla a eliminar, y presionar el botón regresar. La finalidad de esta opción es permitir que el usuario genere el documento en formato XML

ya sea de todas las tablas ó solo de determinadas tablas existentes en la base de datos. C2.1.1.2. Desde Archivo. Esta opción se refiere a tomar un documento previamente generado, al seleccionar esta opción se habilita un cuadro de lista donde aparecen los documentos generados con anterioridad (ver Figura C10). La finalidad de esta opción es conservar el esquema de la base de datos con los alias que el usuario haya establecido.

Figura C10. El cuadro de lista de la opcion Especificar esquema desde archivo, muestra todos los esquemas existentes.

Nota: El documento que se seleccione por cualquiera de las 2 opciones quedará establecido por defecto.

Page 97: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

86

C2.1.2. Personalizado. Al seleccionar esta opción aparece el cuadro de diálogo que aparece en la Figura C11. Al introducir el usuario la consulta personalizada, se genera el documento XML.

Figura C11. Cuadro de diálogo para realizar las consultas personalizadas C2.2.2. Asignar Alias.

Esta opción está diseñada, para especificar de manera más clara, los nombres de los campos de las relaciones, en los informes Web a generar para cualquier usuario casual, para esto, es necesario que exista un documento xml con el esquema de la base de datos, el sistema siempre tomará el que se encuentre establecido por defecto.

En la Figura C12 se muestra el cuadro de diálogo de esta opción, en la parte izquierda se

muestra una estructura de árbol que despliega las relaciones existentes en la base de datos, al seleccionar una relación en la parte derecha aparecerá una tabla con 2 columnas, ambas columnas contienen el nombre de los campos de la relación seleccionada.

El usuario puede editar la columna derecha de la tabla, estableciendo una descripción más

clara al campo, cabe hacer notar que estos cambios no se llevan a cabo en la base de datos, solo en los reportes que se generen y en el documento en formato xml.

Page 98: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

87

Figura C12. Esta figura muestra los nuevos alias que se le han asignado a los campos de la tabla profesores.

C2.3. Generar Informe.

Para generar los informes Web, al seleccionar esta opción, es necesario que se haya creado previamente el esquema de la base de datos en formato XML, ó que se haya seleccionado uno existente.

La Figura C13 muestra un mensaje de error, al tratar de generar los informes Web sin

haber creado previamente el esquema en formato XML.

Figura C13. Mensaje de error mostrado por el sistema al intentar generar los informes sin haber creado el documento XML.

Page 99: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

88

Si GAR no puede generar los informes Web por cualquier incidente que llegue a ocurrir, aparece un mensaje de error que indica, que los informes no pueden ser generados, para esto consulte la sección errores comunes de la sección Anexos. C3. Archivos del sistema.

Consta de las opciones ver y generar, como se puede apreciar en la Figura C14.

Figura C14. Opciones ver y generar del comando opciones del sistema.

C3.1. Ver. Al seleccionar y pulsar el botón izquierdo del mouse sobre esta opción, aparece un cuadro de diálogo el cual, muestra en una estructura de árbol los archivos contenidos en la carpeta GAR, al seleccionar un archivo se desplegará el contenido de éste, en la parte derecha del cuadro de diálogo (ver Figura C15).

Figura C15. Cuadro de diálogo de la opción Archivos de configuración del comando ver, en este ejemplo se muestra el contenido de la hoja de estilo llamada diseño3D.xsl.

Page 100: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

89

C3.2. Generar.

Debido a que los archivos de configuración, tanto de la hoja de estilo como el de los drivers, son necesarios para el correcto funcionamiento de GAR, se estableció esta opción, que permite generarlos en caso de que hayan sido eliminados, ver Figura C16.

Figura C16. Las opciones del comando generar, permiten crear los archivos de configuración drivers y hojas de estilo

C3.2.1. Drivers.

Si se selecciona esta opción y el archivo existe, únicamente se enviará un mensaje indicando que éste ya existe, de lo contrario generará el archivo pero sin ningún driver establecido por lo cual se tendría que ir al comando configuración y en la sección driver, añadir los drivers que deban utilizarse.

C3.2.2. Hoja de Estilos.

Si se selecciona esta opción y el archivo existe, se enviará un mensaje indicando que éste ya existe, de lo contrario generará el archivo pero sin ninguna hoja de estilo establecida por lo cual se tendría que ir al comando configuración y en la sección hoja de estilos, añadir las hojas de estilo que se quiera que estén disponibles para aplicarles diseño a los reportes.

C4. Herramientas. Contiene las opciones de configuración y añadir drivers al classpath, como se muestra en la Figura C17.

Figura C17. Opciones del comando herramientas

Page 101: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

90

C4.1. Configuración.

La función de este comando es permitirle al usuario establecer ciertos parámetros de configuración al sistema tales como: seleccionar un determinado diseño para los informes a generar, establecer el directorio donde se almacenarán los informes, etc. A continuación se explica la funcionalidad de este comando:

Esta opción contiene 3 secciones: Hojas de Estilo, Directorio de la aplicación y Drivers.

C4.1.1. Diseños para los Informes.

En la sección Hojas de Estilo, GAR tiene 2 hojas de estilo predefinidas, es decir, 2 tipos de diseño a aplicar a los informes Web. En esta sección el usuario selecciona el tipo de diseño que desea que tengan los informes.

Para evitar que cada vez que se quiera generar informes, se tenga que seleccionar la hoja

de estilo a aplicar a éstos, se puede establecer un diseño por defecto, para ello, basta con seleccionar un diseño y habilitar la casilla de verificación “Diseño del reporte por Defecto”. A manera de ejemplo el diseño que se ha establecido por defecto es “Diseño3D”, como se puede ver en la Figura C18.

Figura C18. En este cuadro de diálogo de la opciòn Configuración, se debe seleccionar el diseño que se desea aplicar a los reportes Web.

Page 102: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

91

Sí el sistema no encuentra en el archivo de configuración ninguna hoja de estilo establecida por defecto, toma la primera de éstas para aplicarla a los informes a generarse.

C4.1.2. Directorio de los Informes. La sección Directorio de la aplicación le permite al usuario establecer tanto el nombre que desea para el directorio como la ruta donde se almacenarán los informes a generar, para esto debe presionar el botón examinar, posteriormente aparecerá un cuadro de diálogo abrir, en el cual se deberá seleccionar la unidad y el directorio donde se almacenarán, ó en su defecto crear uno nuevo. En el cuadro de texto aparecerá la ruta completa que se ha seleccionado.

En la Figura C19 se muestra el directorio seleccionado donde serán colocados los

informes generados.

Figura C19. En el directorio c:\InformesWeb se colocarán los informes Web generados.

Si olvida establecer el directorio para los informes, GAR creará un subdirectorio por defecto llamado MisInformesWeb dentro del directorio de configuración de GAR. Así los informes Web generados se encontrarán dentro de la carpeta MisInformesWeb.

Page 103: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

92

C4.1.3. Drivers. En la sección Drivers (Ver Figura C20), el usuario de GAR puede añadir y/o eliminar datos del SMBD, así como editar los datos de los drivers existentes. Dentro de esta sección se encuentra una lista con los drivers existentes.

Figura C20. Este cuadro de diálogo muestra los drivers existentes, permitiendo editarlos y/o eliminarlos ó añadir nuevos.

Nota: Antes de que GAR genere los informes Web, examina las opciones de configuración del sistema, es decir, verifica el diseño que el usuario haya seleccionado para los informes, así como el directorio donde se almacenarán, en caso de que el usuario olvide establecer esta información, GAR tomará los datos establecidos por defecto en los archivos de configuración correspondientes.

Para añadir drivers al sistema, se debe seleccionar el botón añadir de la sección drivers y

pulsar el botón izquierdo del mouse, posteriormente aparecerá el cuadro de diálogo que se muestra en la Figura C21, donde se deben introducir los datos correspondientes al driver que se quiere añadir.

Para eliminar un driver se debe seleccionar éste de la lista, y presionar el botón eliminar,

inmediatamente se actualizará la lista mostrando únicamente los drivers establecidos.

Page 104: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

93

Si se quiere modificar los datos de los drivers, es necesario seleccionar el driver y presionar el botón editar, posteriormente aparecerá un cuadro de diálogo con la información correspondiente al driver, permitiendo editar dicha información.

Figura C21. En este figura se muestra la forma en que se da de alta el driver del SMBD postgresql.

C5. Comando Ayuda. Contiene el comando acerca de, como se muestra en la Figura C22.

Figura C22. Opción cerca de..., del comando ayuda.

C5.1. Acerca de ... Esta opción muestra el cuadro de diálogo de la Figura C23, el cual contiene información acerca de GAR, como número de versión, autor, lugar donde fue desarrollado el sistema, etc.

Page 105: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

94

Figura C23. Este cuadro de diálogo muestra los datos de GAR, tal como el nombre de la herramienta, número de versión.

II. Pasos a seguir para generar los reportes Web.

Para generar los informes Web es necesario seguir los siguientes pasos: 1.- Establecer los datos de conexión 2.- Establecer la cuenta de usuario con la cual se va a acceder a la base de datos 3.- Generar el esquema en formato XML ya sea a partir del esquema de la base de datos o a partir

de las consultas introducidas por el usuario. 4.- Seleccionar la opción Generar Informes del comando Informes, o bien presionar el botón

generar informes de la barra de herramientas. 5.- Visualizar en el navegador los informes Web generados 1.- Establecer los datos de la conexión. Para esto, se debe seleccionar la opción Datos Conexión del menú informes (ver Figura C24), en éste se debe seleccionar el SMBD con el cual se va a trabajar, GAR desplegará los datos correspondientes al SMBD seleccionado por defecto.

En la opción Driver aparecerá el driver del SMBD que se haya elegido, esta opción aparece inhabilitada en el cuadro de diálogo. Por último, la opción Url es editable permitiendo que el usuario del sistema especifique el servidor de base de datos (ó la dirección IP de la máquina donde se encuentra la base de datos), así como el nombre de la base de datos.

Page 106: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

95

Es importante resaltar que el url aparece en este cuadro de diálogo tal y como el usuario lo añadió en la sección drivers de la opción Configuración, la finalidad de que el cuadro de texto que contiene el url sea editable es para que el usuario pueda manipular esta información de acuerdo a sus necesidades. Con esto se quiere decir, que el usuario puede añadir un driver introduciendo la información del url de la siguiente manera:

url: jdbc:SMBD://Servidor:Puerto/Base de datos

Figura C24. Cuadro de diálogo Datos Conexión. 2.- Establecer la cuenta de usuario con la cual se va a acceder a la base de datos. Por cuestiones de seguridad, los SMBD permiten la conexión a las Bases de datos que estos contienen a través de cuentas de usuario, por ello es necesario especificarle a GAR con que cuenta y password se va a realizar la conexión a la base de datos. 3.- Generar documento en formato XML. Para que GAR genere el documento en formato XML es necesario que se hayan llevado a cabo los 2 pasos anteriores. Existen 2 formas de generar el documento en formato XML: a partir del esquema de la base de datos, y a partir de las consultas introducidas por el usuario. a) A partir del esquema de la base de datos. Para ello es necesario seleccionar General de

Generar esquema del comando Informes b) A partir de consultas personalizadas. Para ello, es necesario seleccionar

Personalizado de la opción Generar Esquema del comando informes. Posteriormente aparecerá un cuadro de diálogo con las tablas existentes en la base de datos y un cuadro de texto donde se debe introducir la consulta a realizar. El documento xml se generará con los datos introducidos en la consulta.

Page 107: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

96

4.- Generar informes Web. Después de haber seguido los pasos anteriormente señalados, para que Gar genere los informes, se debe seleccionar la opción Generar informes del comando Informes. Previamente se deben especificar al sistema el nombre de la carpeta donde se almacenarán los informes Web (vista en la Figura C19) y el diseño (vista en la Figura C18) que tendrán los informes Web, pero no existe ningún inconveniente si el usuario olvida establecer estos datos, ya que GAR tomará los datos que el usuario haya establecido por defecto. III. Recuperar los archivos de configuración. Como ya se ha mencionado anteriormente, los archivos juegan un papel fundamental para el correcto funcionamiento de GAR, ya que éstos contienen información acerca del sistema. Sí estos archivos son eliminados GAR los crea automáticamente. Archivo de configuración de drivers. Este archivo tiene registrados todos los drivers existentes en el sistema. Para recuperarlo seleccione la opción Driver de Genera Archivo de Configuración del menú Herramientas. Sí el archivo existe, GAR envía un mensaje indicando que el archivo existe, de lo contrario lo crea. Archivo de configuración de hojas de estilo. Este archivo tiene registradas todas las plantillas de diseño disponibles para ser aplicadas a los informes Web que se generarán. Para recuperarlo seleccione la opción Hojas de Estilo de Genera Archivo de Configuración del menú Herramientas. Sí el archivo existe, GAR únicamente le envía un mensaje indicando que el archivo ya existe.

Es importante recalcar que en el archivo de configuración de las hojas de estilo, se almacena la ruta de las hojas de estilo predefinidas por GAR, al volverse a crear este archivo, buscará las plantillas en el directorio de GAR, si no las encuentra dentro de éste, enviará un mensaje al usuario advirtiéndole que es necesario crear una plantilla para que se puedan generar los reportes.

Si se presentara algún problema al momento de generar o visualizar un informe, diríjase al

anexo D, que contiene la solución a los problemas más comunes del sistema.

IV. Problemas Comunes del Sistema.

No es posible generar los informes Web. La posibles razones son:

o Que el documento xml solo contenga datos de la conexión y no de las tablas de la base de datos.

o Que haya cambiado de ruta el directorio GAR. Sí se cambia de ruta a la carpeta GAR

se debe especificar al sistema, seleccionando la opción Cambiar directorio Sistema, del

Page 108: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

97

comando Herramientas. Esta opción actualiza la nueva ruta donde se encuentran las plantillas de diseño para los informes Web.

No es posible ejecutar los informes.

Las causas que pueden generar este problema se pueden deber a:

Haber introducido un URL incorrecto en el visualizador. El URL debe estar formado de la siguiente manera:

http://servidorAplicaciones:Puerto/Carpeta de los informes/Nombre del informe. Donde: Servidor de aplicaciones: se refiere a la dirección IP donde se encuentra corriendo el servicio del Servidor de aplicaciones. Puerto: El puerto del servidor de aplicaciones Tomcat es el 8080, pero puede configurarse el archivo server.xml que se encuentra en el subdirectorio TOMCAT_HOME\conf para que sea cualquier otro puerto. Carpeta de los Informes: Es el nombre de la carpeta que creó dentro de TOMCAT_HOME\webapps, y donde se encuentran almacenados sus informes. Nombre del informe: Es el nombre del archivo jsp, que se quiere ejecutar en el visualizador. Nota: Para que se desplieguen todos los archivos que existen dentro de la carpeta, solo debe proporcionarle al visualizador el siguiente URL: http://servidorAplicaciones:Puerto/Carpeta de los informes/ Si con este URL, el visualizador muestra el mensaje de la Figura C25, se debe a que el servidor no reconoce la carpeta que se creó. Para resolver este problema asegúrese de que dentro de esta carpeta haya creado una carpeta llamada WEB-INF(el nombre de ésta, debe ir en mayúsculas).

No haber iniciado el servicio del servidor de aplicaciones.

Si el URL es correcto, y el visualizador muestra el mensaje “No se puede encontrar la página”, esto se debe a que el servicio del Servidor aún no se ha iniciado. Consulte el manual de instalación y siga los pasos que ahí se indican para iniciar el servicio del Tomcat. Así como también sí olvidó instalar el servidor de aplicaciones Tomcat.

Page 109: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

98

Figura C25: El servidor no reconoce el nombre del directorio que se introdujo en el URL.

Olvidó establecer la ruta para los informes y no sabe donde se almacenaron.

El sistema guarda los Informes que se generan en la última ruta que se le especificó a GAR, para conocerla, vaya al comando Herramientas y seleccione la opción Configuración, en esta sección existe información correspondiente al sistema tal como: El directorio donde se almacenan lo informes que se generan, el documento XML con el esquema de la Base de datos que se encuentra establecido por defecto y la ruta del directorio GAR. El sistema, genera Informes que corresponde a otra Base de Datos.

Si selecciona la opción generar informes y olvida generar el esquema de la base de datos en formato XML, el sistema tomará el documento XML que se encuentre establecido por defecto. Para que el sistema genere los informes de la base de datos específica, establezca conexión con la base de datos, posteriormente genere el documento XML y finalmente seleccione la opción Generar Informes.

Page 110: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

99

Anexo D. Plataforma de ejecución. El servidor Tomcat es una aplicación Web basada en Java, creada para ejecutar servlets y páginas JSP, siendo la implementación oficial de referencia de las especificaciones Servlet 2.3 y JavaServer Pages 1.2. D1. Estructura de Directorios del Servidor Apache Tomcat. El contenedor que alberga una aplicación Web no es más que la estructura de directorios en donde están colocados todos los archivos necesarios para la ejecución de la aplicación Web.

Debido a que es imprescindible conocer la estructura de directorios del servidor de aplicaciones Tomcat, es necesario dar una breve descripción de cada uno de éstos. La Figura D.1 muestra los directorios que contiene el servidor de aplicaciones Apache Tomcat 4.1. Cabe señalar que la estructura de directorios de este servidor, puede verse alterada de una versión a otra.

Figura D1. Directorios que contiene el servidor de aplicaciones Apache Tomcat 4.1.

Los directorios contenidos dentro de la carpeta Tomcat 4.1 se explican brevemente a continuación: /bin Contiene los scripts o archivos de ejecución por lotes que se utilizan para iniciar y detener el servidor. /conf Contiene los archivos de configuración, de los cuales el más importante es server.xml, en donde se establece la configuración del propio servidor.

Page 111: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

100

/server Contiene los archivos Java que necesita el sistema del servidor Tomcat. /lib Contiene los archivos Java de los que depende el servidor Tomcat. /logs Contiene las bitacoras del servidor Tomcat, donde se dejan mensajes de lo que ocurre en cada ejecución del servidor. /work En este directorio Tomcat coloca los servlets que son generados a partir de las páginas JSP. /webapps Directorio destinado a contener los ficheros WAR, a través de los cuales se realizan las distribuciones de las aplicaciones. Es el directorio más utilizado por el desarrollador de páginas JSP. D2. Pasos para colocar los Informes Web en el servidor Tomcat. En el caso de Tomcat, el directorio a partir del cual se instala cualquier aplicación web debe ser TOMCAT-HOME/webapps, en donde TOMCAT_HOME apunta al directorio de instalación de Tomcat. Instalado el servidor Tomcat e iniciado el servicio, a continuación se indican los pasos necesarios para colocar una aplicación web accesible al público a través de él. Por lo que debe crear su propio directorio para colocar los informes Web generados por GAR, suponiendo que crea un subdirectorio llamado Generator que va a estar contenido dentro de TOMCAT_HOME/webapps, a continuación se explica la estructura que debe tener la carpeta Generator. /Generator Este será el directorio raíz de la aplicación web, en el cual se colocarán todos los informes Web generados por GAR. Todos los archivos que se encuentren dentro de éste, podrán ser visualizados por cualquier navegador. /Generator/WEB-INF Este directorio contiene todos los recursos relacionados con la aplicación web, en él se coloca el archivo web.xml, donde se establece la configuración de la aplicación web. /Generator/WEB-INF/classes Este directorio contiene todas las clases que se necesiten para la ejecución de la aplicación web. Normalmente contiene solamente archivos .class. /Generator/WEB-INF/lib Este directorio contiene los drivers de los que depende la aplicación web. Por ejemplo, si la aplicación web necesita acceso a base de datos a través de JDBC, en este directorio se deben colocar los ficheros JAR que contengan el driver JDBC que proporcione el acceso a la base de datos. Normalmente contiene solamente archivos .jar.

La parte izquierda de la Figura D.2 muestra la estructura de directorios de la carpeta Generator y la parte derecha muestra que los archivos JSP se encuentran en la raíz de ésta.

Page 112: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

101

D3. Inicialización del servicio del servidor Apache Tomcat. Realizada la instalación de Tomcat, el sistema estará en condiciones de arrancar el servidor web y atender peticiones a través de Tomcat. Para ello es necesario levantar el servidor con el comando correspondiente al sistema operativo sobre el que se haya realizado la instalación. Para el sistema operativo Linux los comandos para iniciar y terminar el servicio son los siguientes: TOMCAT_HOME/bin/startup.sh TOMCAT_HOME/bin/shutdown.sh Donde TOMCAT_HOME es la variable de ambiente que especifica la ruta donde se encuentra instalado el servidor Tomcat.

Figura D2. Contenido del directorio Generator.

Una vez arrancado el servidor, es posible comprobar que la instalación fue realizada satisfactoriamente, esto se hace colocando la siguiente dirección: http:// ServidordeAplicaciones:8080/ en un navegador y se desplegará la página de bienvenida del servidor, donde Servidor de Aplicaciones es la dirección IP de la máquina donde se encuentra el servidor de aplicaciones. A manera de ejemplo para ilustrar la explicación, el servidor de aplicaciones se encuentra instalado localmente, por lo que se utiliza localhost.

Page 113: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

102

D4. Despliegue de Informes Web. Para ejecutar un archivo jsp ó cualquier servlet, se debe iniciar el servicio del Servidor de Aplicaciones (Tomcat). Una vez arrancado el servidor, este mostrará una página de bienvenida, siguiendo el ejemplo mencionado en el párrafo anterior, se introduce la siguiente URL : http://localhost:8080/.

Para ejecutar cualquiera de los informes Web generados, éstos debieron haberse colocado en

la carpeta que se creó, en la carpeta Generator. Al introducir el siguiente URL en el visualizador: http://localhost:8080/Generator/ aparecerán todos los archivos jsp disponibles, para ejecutar cualquiera de ellos haga clic sobre un archivo.

La Figura D3 muestra como el informe Web especialidad es mostrado como un archivo HTML

por el navegador.

Figura D3. Visualización del Informe especialidad como un archivo HTML.

Page 114: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

103

Anexo E. Configuración del Explorador Windows 2000. Para hacer uso de todas las opciones que el Internet Explorer ofrece, es necesario que éste, sea configurado correctamente, esto, para que al momento de convertir los datos del informe a formato Excel, estos datos puedan ser desplegados en una ventana de Microsoft Excel. Para llevar a cabo este proceso se deben seguir los siguientes pasos.

Seleccionar el botón Inicio de Windows, posteriormente aparecerán una serie de opciones, seleccionar la opción Barra de tareas y menú Inicio de Configuración (ver Figura E1). Una vez hecho esto aparecerá el cuadro de diálogo Propiedades de Barra de tareas y menú Inicio (ver Figura E2), seleccionar la sección Opciones avanzadas, en esta sección seleccionar el botón Opciones avanzadas.

Figura E1. Opción Barra de tareas y menú Inicio de la opción Configuración.

Posteriormente aparecerá el explorador del menú inicio, seleccionar la opción Opciones

de carpeta del comando Herramientas como se muestra en la Figura E3. Realizada esta operación aparecerá el cuadro de diálogo Opciones de carpeta, seleccionar la sección Tipos de Archivos como se muestra en la Figura E4; en la sección tipos de archivos registrados seleccionar “Hoja de Cálculo de Microsoft Excel” y después seleccionar el botón opciones avanzadas. Finalmente aparecerá el cuadro de diálogo de la Figura E5, checar que la casilla de verificación “Explorar en la misma ventana” no se encuentre seleccionada.

Page 115: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

104

Figura E2. Cuadro de diálogo “propiedades de Barra de tareas y menú Inicio”.

Figura E3. Opciones de carpeta del comando herramientas del explorador del Menú Inicio.

Page 116: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

105

Figura E4. Sección Tipos de archivos del cuadro de diálogo Opciones de carpeta.

Figura E5. Cuadro de diálogo Modificar tipo de archivo.

Page 117: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

106

Referencias

Page 118: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

107

[Abits,2002] Abits Software Colombia, Poderosa Distribución de Información para

la web, 9 de Mayo del 2002, <http://www.abits.com.co/pdf/crystalreports.pdf>,

[Apache,2002] Apache Software Foundation, 14 de Noviembre del 2002. <http://jakarta.apache.org/tomcat/index.html>.

[Atlanta,2002] New Atlanta Comunications, ServletExec, 19 de Noviembre del 2002. <http://www.newatlanta.com/products/servletexec/index.jsp>.

[Bayern,2002] Bayern, Shawn. JSTL in Action. (U.S.A., Ed. Manning Publications Co., Julio 2002).

[Bowman,1999] F. Bouman Charles. Algoritmos y estructura de datos aproximación en C. (México , Ed. Oxford, 1999).

[Ceballos,2000] Ceballos, Francisco Javier. Java 2, Curso de programación. (España, Ed. AlfaOmega, 2001).

[Chuck,2001] Chuck Cavaness. Jakarta Struts Book. (Ed. O’Reilly, 2002).

[Cognos,2003] Managed Reporting on the Web. Mayo del 2003. <http://www.georgetown.edu/uis/ia/dw/CognosIWRFactSheet.pdf>.

[Elliote,1999] Elliote, Rusty Harold. XML Bible, Publisher IDG Books. (Second Edition, publisher IDG Books, 1999).

[Eito,2001] Eito, Ricardo. Programación con XML. (Madrid, Ed. Anaya, 2001).

[Faceless,2003] Big Faceless Report Generator. Julio del 2003. <http://big.faceless.org/products/report/>.

[FreeMarker,2002] FreeMarker project. FreeMarker. 14 de Mayo del 2002. <http://freemarker.sourceforge.net/>.

[Fytek,2003] PDF Report Writer. Mayo del 2003. <http://www.fytek.com/>.

[Goldfarb,1999] Goldfarb, Charles y Paul Prescod. Manual de XML. (Ed. Prentice Hall).

[Hall,2001] Hall, Marty. Servlets y JavaServer Pages, Guia Práctica. (México, Ed. Prentice Hall, 2001).

[Hans,2001] Hans Bergsten. JavaServer Page. (Ed. O’Really, 2001).

[JFree,2003] http://www.jfree.org, Julio del 2003.

[Jrun,2002] JRUN, http://www.macromedia.com/software/jrun/.

[Leverman,2001] Leverman, Selene Guadalupe, “Tecnologías de desarrollo de páginas Web”, Tesis de Licenciatura, Universidad Autónoma de San Luis Potosí, 2001.

Page 119: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

108

[Lopez,2002] López Santoyo Saúl [y] Jaquee Leal Victor Manuel. “Desarrollo de

Aplicaciones Web utilizando software Libre: Arquitectura y Recomendaciones”. Tesis de Licenciatura, Instituto Tecnológico de Celaya, 2002.

[Macromedia,2002] Macromedia, Macromedia JRUN. 18 de Noviembre del 2002. <http://www.allaire.com/products/jrun/>.

[Marino,2000] Marino Posadas Martín. Apuntes de XML: Introducción al lenguaje. (Ed. Grupo EIDOS, 2000).

[Maruyama,2000] Maruyama, Hiroshi; Kent Tamura [y] Naohiko Uramoto. Sitios Web con XML y Java. (Ed. Prentice Hall, Madrid 2000).

[Maverick,2002] Maverick. 16 de Mayo del 2002. <http://mav.sourceforge.net>.

[Morrison,2002] Morrison Michael. XML al descubierto. (Ed. Prentice Hall).

[Muller,1997] Muller, Pierre [y] Alain Muller. Modelado de objetos con UML. (Barcelona, Ediciones Gestión 2000, 1997).

[Mysql,2002] MySQL. Marzo del 2003. <http://www.mysql.com/>

[Oracle,2003] Oracle Technology network. Mayo del 2002. <http://otn.oracle.com/products/reports/content.html>.

[Postgresql,2000] PostgreSQL inc. Octubre del 2002. <http://www.postgresql.com/>

[QuadBase,2003] EspressReport. Mayo del 2003. <http://www.quadbase.com/espressReport/>.

[Reyes,2001] Reyes Espinoza Cecilia Bertha. “Sistema de Consulta de Información en documentos estructurados de XML”. Tesis de Licenciatura, Universidad Tecnologica de la Mixteca, 2002.

[Ridenou,2003] Ridenour, Jim Generic Report Writer. Mayo del 2003. <Http://www.geocities.com/siliconValley/Ridge/4280/GenericReportWriter/grwhome.html>.

[Schildt,1989] Schildt, Herbert. Born to code in C. (Ed. Mc Graw Hill, Berkeley, California 1989).

[Schmelzer,2002] Schmelzer, Ron [et. al.]. XML and Web Services Unleashed. (U.S.A., Sams Publishing, 2002).

[Sun,2002] JavaTM Servlet Technology Implementation & Specifications. 18 de Noviembre del 2002. <http://java.sun.com/products/servlet/download.html>.

[Trejo,2002] Trejo Soto Gloria Irene. “Módulo XML para acceder al Sistema Administrador de Bases de Datos SQLmx a través de Internet”. Tesis de Maestría, CIC-

Page 120: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

109

IPN, México, D.F, 2002.

[Uribe,2001] Uribe Domínguez Bernardino. “Formateador de Informes Web para un Sistema Manejador de Bases de Datos Distribuidas”. Tesis de Maestría, Cenidet, Cuernavaca, Mor., 2001

[Violleau,2002] Violleau, Thierry Java Technology and XML, Part 1 –An Introduction to APIs for XML Processing. 4 de Noviembre 2002. <http://developer.java.sun.com/developer/technicalArticles/xml/ JavaTechandXML/>

[XmlSpy,2002] Altova. Octubre del 2002. <http://www.xmlspy.com>.

Page 121: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

110

Page 122: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

111

Referencias [Abits,2002] Abits Software Colombia, Poderosa Distribución de Información para

la web, 9 de Mayo del 2002, <http://www.abits.com.co/pdf/crystalreports.pdf>,

[Apache,2002] Apache Software Foundation, 14 de Noviembre del 2002. <http://jakarta.apache.org/tomcat/index.html>.

[Atlanta,2002] New Atlanta Comunications, ServletExec, 19 de Noviembre del 2002. <http://www.newatlanta.com/products/servletexec/index.jsp>.

[Bayern,2002] Bayern, Shawn. JSTL in Action. (U.S.A., Ed. Manning Publications Co., Julio 2002).

[Bowman,1999] F. Bouman Charles. Algoritmos y estructura de datos aproximación en C. (México , Ed. Oxford, 1999).

[Ceballos,2000] Ceballos, Francisco Javier. Java 2, Curso de programación. (España, Ed. AlfaOmega, 2001).

[Chuck,2001] Chuck Cavaness. Jakarta Struts Book. (Ed. O’Reilly, 2002).

[Cognos,2003] Managed Reporting on the Web. Mayo del 2003. <http://www.georgetown.edu/uis/ia/dw/CognosIWRFactSheet.pdf>.

[Elliote,1999] Elliote, Rusty Harold. XML Bible, Publisher IDG Books. (Second Edition, publisher IDG Books, 1999).

[Eito,2001] Eito, Ricardo. Programación con XML. (Madrid, Ed. Anaya, 2001).

[Faceless,2003] Big Faceless Report Generator. Julio del 2003.

Page 123: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

112

<http://big.faceless.org/products/report/>.

[FreeMarker,2002] FreeMarker project. FreeMarker. 14 de Mayo del 2002. <http://freemarker.sourceforge.net/>.

[Fytek,2003] PDF Report Writer. Mayo del 2003. <http://www.fytek.com/>.

[Goldfarb,1999] Goldfarb, Charles y Paul Prescod. Manual de XML. (Ed. Prentice Hall).

[Hall,2001] Hall, Marty. Servlets y JavaServer Pages, Guia Práctica. (México, Ed. Prentice Hall, 2001).

[Hans,2001] Hans Bergsten. JavaServer Page. (Ed. O’Really, 2001).

[JFree,2003] http://www.jfree.org, Julio del 2003.

[Jrun,2002] JRUN, http://www.macromedia.com/software/jrun/.

[Leverman,2001] Leverman, Selene Guadalupe, “Tecnologías de desarrollo de páginas Web”, Tesis de Licenciatura, Universidad Autónoma de San Luis Potosí, 2001.

[Lopez,2002] López Santoyo Saúl [y] Jaquee Leal Victor Manuel. “Desarrollo de Aplicaciones Web utilizando software Libre: Arquitectura y Recomendaciones”. Tesis de Licenciatura, Instituto Tecnológico de Celaya, 2002.

[Macromedia,2002] Macromedia, Macromedia JRUN. 18 de Noviembre del 2002. <http://www.allaire.com/products/jrun/>.

[Marino,2000] Marino Posadas Martín. Apuntes de XML: Introducción al lenguaje. (Ed. Grupo EIDOS, 2000).

[Maruyama,2000] Maruyama, Hiroshi; Kent Tamura [y] Naohiko Uramoto. Sitios Web con XML y Java. (Ed. Prentice Hall, Madrid 2000).

[Maverick,2002] Maverick. 16 de Mayo del 2002. <http://mav.sourceforge.net>.

[Morrison,2002] Morrison Michael. XML al descubierto. (Ed. Prentice Hall).

[Muller,1997] Muller, Pierre [y] Alain Muller. Modelado de objetos con UML. (Barcelona, Ediciones Gestión 2000, 1997).

[Mysql,2002] MySQL. Marzo del 2003. <http://www.mysql.com/>

[Oracle,2003] Oracle Technology network. Mayo del 2002. <http://otn.oracle.com/products/reports/content.html>.

[Postgresql,2000] PostgreSQL inc. Octubre del 2002. <http://www.postgresql.com/>

[QuadBase,2003] EspressReport. Mayo del 2003. <http://www.quadbase.com/espressReport/>.

Page 124: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

113

[Reyes,2001] Reyes Espinoza Cecilia Bertha. “Sistema de Consulta de Información en

documentos estructurados de XML”. Tesis de Licenciatura, Universidad Tecnologica de la Mixteca, 2002.

[Ridenou,2003] Ridenour, Jim Generic Report Writer. Mayo del 2003. <Http://www.geocities.com/siliconValley/Ridge/4280/GenericReportWriter/grwhome.html>.

[Schildt,1989] Schildt, Herbert. Born to code in C. (Ed. Mc Graw Hill, Berkeley, California 1989).

[Schmelzer,2002] Schmelzer, Ron [et. al.]. XML and Web Services Unleashed. (U.S.A., Sams Publishing, 2002).

[Sun,2002] JavaTM Servlet Technology Implementation & Specifications. 18 de Noviembre del 2002. <http://java.sun.com/products/servlet/download.html>.

[Trejo,2002] Trejo Soto Gloria Irene. “Módulo XML para acceder al Sistema Administrador de Bases de Datos SQLmx a través de Internet”. Tesis de Maestría, CIC-IPN, México, D.F, 2002.

[Uribe,2001] Uribe Domínguez Bernardino. “Formateador de Informes Web para un Sistema Manejador de Bases de Datos Distribuidas”. Tesis de Maestría, Cenidet, Cuernavaca, Mor., 2001

[Violleau,2002] Violleau, Thierry Java Technology and XML, Part 1 –An Introduction to APIs for XML Processing. 4 de Noviembre 2002. <http://developer.java.sun.com/developer/technicalArticles/xml/ JavaTechandXML/>

[XmlSpy,2002] Altova. Octubre del 2002. <http://www.xmlspy.com>.

Page 125: Centro Nacional de Investigación y Desarrollo Tecnológico Ma... · 2014-02-13 · 2.7.4.1 Hojas de Estilo en Cascada ... 3.3.4 Generador de reportes PDF de FyTek ... Referencias

114