Presentacion med line ed bennett

22
MedLine-Ed Bennett Equipo Alef 2013 Master diseño y desarrollo de aplicaciones web Itinerario Java UNED

Transcript of Presentacion med line ed bennett

MedLine-Ed Bennett Equipo Alef 2013

Master diseño y desarrollo de aplicaciones web Itinerario Java

UNED

1. Requisitos previos 2. Seguridad 3. Manual de usuario 4. Análisis 5. Diseño 6. Implementación 7. Pruebas 8. Problemas encontrados 9. Componentes del equipo

ÍNDICE

1. Requisitos previos

Para empezar esta segunda parte es necesario tener

instalado Xampp, con los contenido:

• el servidor HTTP Apache,

• el gestor de BBDD relacional, multihilo y multiusuario

MySQL,

• el servidor contenedor de servlets Tomcat,

También es necesario familiarizarse con los servlets, jsp,

JavaBeans, XML, el conector/J.

2. Seguridad • Se ha realizado un estudio previo de la

seguridad en Tomcat que se adjunta en: pero por ser necesario crear un almacen de claves no se ha implementado al trabajar en localhost

• Se ha incluido la encriptación con MD5 de

las claves de acceso a la BBDD.

3. Manual de usuario. • Descarga del software: aquí.

• Se ha confeccionado un manual de usuario para que

los usuarios sepan cómo manejar la aplicación.

• Para probar hay que arrancar primero el Xampp (solo el Apache y el MySqL).

• A continuación se puede ejecutar desde eclipse la

aplicación. Ver video

4. Análisis El equipo realiza un análisis del documento de

requerimientos para realizar una especificación de requerimientos funcionales.

También se realiza el reparto de tareas entre los distintos miembros del equipo.

Del análisis también se deduce el flujo de tareas de la aplicación que hemos seguido en el Diseño

5. Diseño ● Seguimos el diseño de una BBDD con

modelo vista controlador siguiendo el diagrama UML. y diseñando el siguiente diagrama de mockups como interfaz gráfica para el cliente.

● Al final el beans HealthTopics.java incluye todas las clases y métodos de búsqueda para MedLineBennett y las búsquedas mistas, quedando solo un beans Bennett.java para las busquedas en EdBennett.

6. Implementación

6.1. Archivo web.xml 6.2. Archivo index.jsp y menu.jsp 6.3. Modelo vista controlador 6.4. Encapsulado de las clases, beans 6.5. Encriptación 6.6. Base de datos 6.7. Subida de archivos al servidor 6.8. Búsquedas 6.9. Templates 6.10. Control de errores 6.11. Control de sesión

6.1. Archivo web.xml

Es el archivo de despliegue de la aplicación en el que destacamos las siguientes etiquetas: <servlets> uno para cada servlet, los

<servlets-mappinp> son los alias del servlet, cada servlet puede tener varios.

l<welcome-file-list> donde estan los archivos de inicio de la aplicación, en nuestro caso index.jsp.

6.2. Archivo index y menu

El archivo index.jsp contiene un <form> que recoge el valor de los parámetros “nombre de usuario” y “contraseña” introducidos y los envía al servlet Login_action.java.

Recibe de los servlets Login_action.java y de CerrarSesion.java los valores de la variable estado y en función del valor de la misma da un mensaje correspondiente.

6.3. Modelo Vista Controlador Los archivos .jsp son las vistas de la aplicación donde, como puede ver en el enlace, ver modelo vista - controlador, se recibe la información del usuario y se transmite al servlet o a otro jsp.

La ejecución se realiza en el servlet y se devuelve al jsp para su presentación al usuario.

6.4. Encapsulado de las clases, beans Inicialmente se iba a cargar el XML en la

MySQL mediante parseo pero esta opción se dejo solo para la tabla Ed Bennett. Por ese motivo se creó un beans por cada una de las tablas de la base de datos que han quedado en la version 0.9.

En la versión definitiva 1.0 se ha creado la clase HealthTopics.java que contiene todas las clases, los atributos y los métodos para los tres tipos de búsqueda

6.5. Encriptación La encriptación de las claves para acceder a

la aplicación se ha realizado con MD5.

Los usuarios y las claves se han alojado en una tabla dentro de la base de datos.

El acceso a la base de datos se hace por medio de una clave genérica incluida en el código (bean BBDD.java, línea 47)

6.6. Bases de datos En la base de datos MySqL se almacena la

BBDD medlinebennet.sql con las siguiente tablas:

- Bennet: Contiene los datos del archivo .csv con la tabla EdBennet

- Usuarios: En sus campos aparecen los usuarios y sus claves encriptadas con el método MD5

6.7. Subida de archivos al servidor • Se realiza mediante los archivos

importar.jsp y su correspondiente controlador UploadFile.java

• Se utiliza un parámetro para controlar el

tamaño máximo del archivo así como el servlet ambos incluidos y referenciados, respectivamente en el archivo web.xml

• Ver más

6.8. Búsquedas

6.8.1. Busquedas en XML. Se lleva a cabo con los archivos MedLineView.jsp y

MedLineSearch.java 6.8.2. Busquedas en Base de Datos Se encarga a los archivos BennettView.jsp y

BennettSearch.java 6.8.3. Busquedas mixtas Se llevan a cabo con los archivos mixView.jsp MixSearch.java Llaman a los beans HealthTopics.java y Bennett.java Ver más

6.9. Templates

Se introducen para poner las imágenes y archivos comunes comunes a las vistas, entre ellos destacamos

Además se utilizan las librerias JSTL para cambiar las referencias a los scriplets en:

index.jsp, medLineView.jsp, mixView.jsp, bennetView.jsp

Ver más

6.10. Control de errores

El control de errores se realiza mediante:

● error.jsp.- Captura los errores en las vistas

● MyerrorHandler.java.- Captura los errores durante la carga del XML

ver más

6.11. Control de sesión

Se utiliza para este cometido el archivo verifyAcces.jsp de forma que no se puede acceder a la aplicación desde los archivos mixView.jsp, bennetView.jsp, medLineView.jsp, index.jsp, importar.jsp si antes realizar un inicio de sesión.

ver más sobre control de sesión

7. Pruebas y bases de datos Se incluyen los ficheros de prueba: ● testUpload.jsp con la finalidad de comprobar

la carga subida de archivos al servidor ● el archivo medlinecompleta.xml contiene los

datos en xml que se usa en las búsquedas MedLine y las búsquedas mixtas.

● se incluye una base de datos medlinebennett.sql con las tablas EdBennet y la tabla de usuarios con las claves encriptadas en MD5 para comprobar el funcionamiento

8. Problemas encontrados y mejoras

En el acta nº 85 correspondiente a la reunión nº 20 del trabajo se decide cambiar para realizar las busquedas de MedLine contra el XML

Una nueva clase generada mediante el XSD usando JAXB (HealthTopics.java) y un JSP de prueba (testjaxb.jsp) para que el equipo vea cómo se ejecuta una consulta contra XML utilizando JAXB.

Finalmente el grupo decide hacer las búsquedas contra el XML en vez de con mySQL por motivos de eficiencia para el usuario.

9. Componentes Alberto Delso David Martín Diego Fernández Gonzalo García Reyes Badillo Rubén Rodríguez Francisco García