Capitulo 5. Implementación del sistema MDM -...

10
78 Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo se especificarán los detalles del desarrollo de este sistema: descripción del los programas utilizados y diagramas de clases, entre otros. 5.1 Programas utilizados en el desarrollo Tomcat Uno de los requisitos del sistema MDM es que sea una aplicación web para facilitar el acceso a los usuarios. Por esta razón se utilizó Tomcat como el servidor de la página desarrollada. Tomcat es un contenedor que maneja y ejecuta servlets, los cuales son programas de Java que generan de forma dinámica paginas HTML. Java es un lenguaje de programación orientado a objetos que cuenta con librerías que permiten compilar servlets. El conjunto de herramientas necesario para compilar servlets está incluido en el J2EE SDK. El J2EE SDK se obtuvo de la página de Sun (http://java.sun.com ). Una vez instalado el J2EE SDK se instaló el entorno gráfico para editar Java, en este caso se utilizó JCreator. Para hacer uso de Tomcat es necesario bajar el programa de instalaci ón, el cual esta disponible de manera gratuita en la página www.apache.org , posteriormente debe instalarse y configurarse en la computadora que se usará como servidor. La configuración de Tomcat es opcional, en este caso no se modificó la configuración del tomcat instalado en la cuenta rootsql, en la cual se especifico el puerto 3310 como acceso a las aplicaciones web. La

Transcript of Capitulo 5. Implementación del sistema MDM -...

Page 1: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

78

Capitulo 5. Implementación del sistema MDM

Una vez que se concluyeron las actividades de análisis y diseño se comenzó la

implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este

capitulo se especificarán los detalles del desarrollo de este sistema: descripción del los

programas utilizados y diagramas de clases, entre otros.

5.1 Programas utilizados en el desarrollo

Tomcat

Uno de los requisitos del sistema MDM es que sea una aplicación web para facilitar el

acceso a los usuarios. Por esta razón se utilizó Tomcat como el servidor de la página

desarrollada. Tomcat es un contenedor que maneja y ejecuta servlets, los cuales son

programas de Java que generan de forma dinámica paginas HTML. Java es un lenguaje de

programación orientado a objetos que cuenta con librerías que permiten compilar servlets.

El conjunto de herramientas necesario para compilar servlets está incluido en el J2EE SDK.

El J2EE SDK se obtuvo de la página de Sun (http://java.sun.com). Una vez instalado el

J2EE SDK se instaló el entorno gráfico para editar Java, en este caso se utilizó JCreator.

Para hacer uso de Tomcat es necesario bajar el programa de instalación, el cual esta

disponible de manera gratuita en la página www.apache.org, posteriormente debe instalarse

y configurarse en la computadora que se usará como servidor. La configuración de Tomcat

es opcional, en este caso no se modificó la configuración del tomcat instalado en la cuenta

rootsql, en la cual se especifico el puerto 3310 como acceso a las aplicaciones web. La

Page 2: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

79

cuenta rootsql fue proporcionada por la universidad para guardar las aplicaciones de los

tesistas de la Dra. Pilar Gómez relacionados a Ingeniería de Software

Una vez instalado y configurado tomcat, se debe crear una aplicación web. Una aplicación

web es un conjunto de archivos de diferentes tipos, pero relacionados entre sí de alguna

manera. Para que el servidor sepa cuál es la estructura de la aplicación, existe un archivo

llamado web.xml, que describe los archivos de la aplicación web, estableciendo una serie

de parámetros necesarios para su buen funcionamiento en Tomcat. La estructura de

directorios para la aplicación desarrollada en esta tesis es:

/

moprosoft/

WEB-INF/

classes/

lib/

web.xml

<archivos html/jsp/imágenes/etc.>

Cuando se terminó la creación de las estructuras dentro del Tomcat se pudo empezar a crear

los servlets.

Dreamweaver, Flash y HTML

Es necesario crear las páginas (pantallas del sistema) en código HTML para que,

posteriormente, este código sea incluido en las clases de Java y de esta forma se generen los

servlets. Para la creación de las pantallas HTML del sistema MDM se utilizó el editor de

HTML Dreamweaver www.macromedia.com/software/dreamweaver [Annwn, 03], el cual

Page 3: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

80

contiene un ambiente gráfico muy amigable en el que se arrastran los elementos que se

deseen incluir en la pantalla y automáticamente se va generando el código HTML.

Otra herramienta utilizada en la creación de la interfaz gráfica del sistema MDM es Flash

www.macromedia.com/software/flash [Ulrich, 03], con el cual se generaron los botones

que aparecen las pantallas de menú de prácticas de MoProSoft.

Flash es una aplicación que permite diseñar páginas web con elementos gráficos animados.

En esta parte del desarrollo del sistema se tuvieron algunos problemas ya que la conexión

de los elementos creados con Flash y los servlets no es un procedimiento trivial. El

principal problema fue que no se pueden pasar parámetros entre objetos de flash y servlets,

la solución a esto fue preguntar, al usuario, en cada servlet los parámetros que fueran

requeridos para llevar a cabo algún proceso.

Mysql

MySQL es un gestor de bases de datos SQL (Structured Query Language) [Welling, 03].

Es una implementación Cliente-Servidor que consta de un servidor y diferentes clientes

(programas/librerías). Se pude agregar, acceder, y procesar datos grabados en una base de

datos. Actualmente el gestor de base de datos juega un rol central en la informática, como

única utilidad, o como parte de otra aplicación.

MySQL es un Sistema de Gestión de Base de Datos Relacional. El modelo relacional se

caracteriza a muy grandes rasgos por disponer que toda la información, la cual esta

contenida en tablas, y las relaciones entre datos deben ser representadas explícitamente en

esos mismos datos. MySQL es un software de código abierto, que puede descargarse desde

la página www.mysql.com. La versión utilizada en el desarrollo de el sistema MDM es la

Page 4: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

81

1.4, la cual no es necesario instalar, únicamente se debe guardar en la PC y levantar el

servicio cada vez que se quiera utilizar. Una vez que se guarda Mysql se debe crear la base

de datos del sistema e introducirla en el gestor.

Las razones por las cuales se eligió MySQL como BD de MDM son su rapidez,

confiabilidad, robustez y facilidad de uso tanto para volúmenes de datos grandes como

pequeños. Además tiene un conjunto muy práctico de características desarrolladas en

cooperación muy cercana con los usuarios. Sin embargo bajo constante desarrollo, MySQL

hoy en día ofrece un rico y muy útil conjunto de funciones. La conectividad, velocidad y

seguridad hace de MySQL altamente conveniente para acceder a bases de datos en Internet.

Conector de Java y Mysql

Para establecer una conexión con la base de datos desde una aplicación Java, es necesario

utilizar un conector JDBC para MySQL. Se debe instalar este mismo conector en el

servidor Tomcat. El archivo de conexión está disponible en la página www.mysql.com bajo

el nombre de mysql-connector-java-2.0.14.tar.gz. Posteriormente es necesario crear una

clase en Java que realice la conexión con la base de datos que se especifica enviándole el

nombre de la BD, el usuario y la contraseña. Esta clase se llamará cada vez que el sistema o

el usuario requieran realizar alguna actualización o consulta en la BD.

5.2 Comunicación entre las clases del sistema

La comunicación entre las clases del sistema se lleva a cabo como se muestra en la figura

5.1:

Page 5: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

82

Figura 5.1 Diagrama de comunicación entre las clases del sistema MDM

Como podemos observar en la figura anterior existen tres niveles de clases en el sistema

Manejador de Documentos de MoProSoft. En el nivel mas alto podemos encontrar a los

servlets y las paginas HTML; estas clases son aquellas con las que el usuario tiene una

interacción directa, por lo que generan las pantallas de comunicación con el usuario.

Cuando el usuario realiza una petición desde la interfaz (servlet o HTML) la pagina envía

los parámetros de consulta o actualización a la clase que contiene los métodos con las

queries correspondientes. Posteriormente el query es procesado por la base de datos

mediante las clases de conexión con ésta. Una vez que el query ha sido ejecutado, la base

de datos envía el resultado a través de las clases de conexión, a la clase que realizó la

consulta y finalmente éste la envía al servlet para desplegarla en una página HTML y sea

visible por el usuario.

5.3 Diagramas de clases

Las figuras 5.1 y 5.2 incluyen los diagramas de clases de los procesos principales del

sistema MDM, es decir, crear, consultar y guardar documentos de una empresa y de un

proyecto.

Clases de conexión con la BD

Servlets y páginas HTML

Clases de consultas y

actualizaciones de la BD

BD

Parámetros para consultas o

actualizaciones Queries

Queries y datos de

autentificación

Resultado de los queries

Resultado de los queries

Resultado de los queries

Page 6: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

83

En la figura 5.2 se puede observar el diagrama de clases de los procesos relacionados a

cada una de las empresas que usan el sistema MDM. (Gestión de Negocio y Gestión de

Procesos)

En el nivel mas alto se encuentra la clase HttpServlet, la cual es encargada de llamar a los

servlets DespliegaPantalla, CrearDocto, ConsultaDocto, ConsultaEntrada y SubirArchivo.

La clase HttpServlet se crea automáticamente al utilizar el paquete J2EE.

La clase DespliegaPantalla es un servlet que se encarga de escribir la pagina HTML que

contiene el menú de las posibles acciones que podrá realizar un usuario (crear documento,

consultar documento, guardar documento). Este servlet llama a las clases BeanProceso y

BeanDocumento las cuales contienen las consultas que se harán a la base de datos para

obtener los nombres de los documentos correspondientes al proceso en el que se encuentra

el usuario para desplegarlos en DespliegaPantalla. Para que BeanProceso y

BeanDocumento puedan hacer las consultas en la base de datos es necesario que llamen a la

clase BeanMySQL, a la cual le indican el tipo de operación que realizarán en la base de

datos (actualización o consulta). Posteriormente la clase BeanMySQL llama a la clase

ConMySQL la cual abre y cierra la conexión con la base de datos, además de enviar la

consulta al manejador de la base de datos y recibir los resultados de estas consultas.

La clase CrearDocto es un servlet que se encarga de recibir el nombre de la plantilla del

documento que un usuario desea obtener. Al recibir el nombre del documento este servlet

llama a la clase BeanDocumento para que haga la consulta correspondiente y le regrese

como resultado la ubicación de la plantilla en el servidor y se despliegue el hipervínculo en

la pantalla para que éste sea accedido por el usuario. Como ya se había mencionado

BeanDocumento llama a la clase BeanMySQL para mandarle el tipo de consulta y esta

Page 7: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

84

clase a su vez llama a ConMySQL quien abre la conexión para realizar la consulta en la

base de datos.

La clase ConsultarDocto es un servlet que se encarga de desplegar la liga de un documento

de salida que ha sido consultado por el usuario. Este servlet recibe el nombre del

documento y llama a BeanDocumento para que se realice la consulta correspondiente.

La clase ConsultarEntrada es un servlet que despliega la liga a un documento de entrada al

proceso, llama a la clase BeanDocumento para que esta clase realice la consulta en la base

de datos.

La clase SubirArchivo es un servlet que recibe el nombre del documento que se va a subir

al servidor y el archivo correspondiente a este nombre. Para guardar el archivo es necesario

nombrarlo dinámicamente y así no tener más de un archivo en el servidor con el mismo

nombre, ya que todos los archivos de todas las empresas se encuentran en la misma

ubicación. Los nombres de los archivos se asignan de la siguiente forma: el servlet

SubirArchivo, además del nombre del documento, recibe el identificador de la empresa que

esta subiendo dicho documento, entonces concatena ambos elementos y guarda el archivo

con la cadena obtenida en el servidor. Además, este servlet llama a la clase

BeanDocumento para guardar en la base de datos la ruta del archivo recién salvado para su

posterior consulta.

En la figura 5.3 se puede ver el diagrama de clases de los procesos relacionados a cada

uno de los proyectos de las empresas que usan el sistema MDM. (Administración de

Proyectos Específicos)

Al igual que en la figura anterior en este diagrama se encuentra la clase HttpServlet la cual

es encargada llamar a los servlets DespliegaPantallaAPE, CrearDoctoAPE,

ConsultaDoctoAPE, ConsultaEntradaAPE y SubirArchivoAPE. Estos servlets realizan las

Page 8: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

85

mismas funciones que los narrados anteriormente, la única diferencia es que en las

consultas que realizan las clases BeanDocumento, BeanProceso y BeanEmpresa se

especifica el proyecto en el que se está trabajando y los resultados se obtienen de acuerdo a

este proyecto. Se puede observar otro cambio en la clase SubirArchivoAPE, ya que en este

caso el nombrado de los archivos se realiza concatenando el identificador de la empresa, el

identificador del proyecto y el nombre del documento.

La implementación de este sistema considera validaciones de contraseñas y de cualquier

tipo de error que se pueda cometer, mandando al usuario mensajes claros de sus

equivocaciones.

Es importante remarcar que en la implantación de MDM el repositorio de los documentos,

que cada una de las empresas guarda, es centralizado. Sin embargo, esto solo funcionará así

para efecto de las pruebas de esta tesis, ya que si se implantara el sistema en las empresas

de manera definitiva los documentos que se realicen, así como la aplicación en su totalidad,

se alojarían en un servidor de la empresa accesible solo por intranet para los interesados en

la empresa, ya que se trata de documentación confidencial.

Page 9: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

86

Figura 5.2 Diagrama de las clases de los procesos: crear, consultar y guardar documentos de una empresa

Page 10: Capitulo 5. Implementación del sistema MDM - …catarina.udlap.mx/u_dl_a/tales/documentos/lis/caballero...81 1.4, la cual no es necesario instalar, únicamente se debe guardar en

87

Figura 5.3 Diagrama de las clases de los procesos: crear, consultar y guardar documentos de un proyecto