Presentacion med line ed bennett con ajax y dwr

18
MedLine-Ed Bennett con AJAX y DWR Equipo Alef 2013 Master diseño y desarrollo de aplicaciones web Itinerario Java UNED

Transcript of Presentacion med line ed bennett con ajax y dwr

Page 1: Presentacion   med line ed bennett con ajax y dwr

MedLine-Ed Bennettcon AJAX y DWR

Equipo Alef 2013Master diseño y desarrollo de aplicaciones webItinerario JavaUNED

Page 2: Presentacion   med line ed bennett con ajax y dwr

1. Requisitos previos2. Relación con proyectos anteriores3. Estudio previo, planificación y presupuesto.4. Análisis5. Diseño6. SCRUM: Reparto de tareas7. Implementación. Archivos principales.8. Control de errores9. Pruebas

10. Versión con DWR11. Manual de usuario12. Archivos y configuración13. Componentes del equipo

ÍNDICE

Page 3: Presentacion   med line ed bennett con ajax y dwr

1. Requisitos previos

El proyecto se desarrollará utilizando el IDE Eclipse. Se utilizará la plataforma de programación Java EE y se creará utilizando como base un Dynamic Web Project.Para su funcionamiento es necesario tener instalado un servidor Tomcat y un gestor de base de datos MySQL.La base teórica se extrae del libro “Ajax en J2EE” de Antonio J. Martín Sierra, con la ayuda de diferentes foros como “javahispano”,“stackoverflow” o “adictosaltrabajo” y en general con diferente informacíon de proyectos similares publicados en la Web.

volver a INDICE

Page 4: Presentacion   med line ed bennett con ajax y dwr

2. Relación con proyectos anterioresEste nuevo proyecto, es un proyecto de consulta de las bases de conocimiento MedLinePlus y la Lista Ed Bennett utilizando la técnica AJAX para acceder a sus datos a través de un web service creado utilizando la arquitectura RESTful.El procedimiento de consulta se desarrolló en el proyecto MedLineBennett y el web service fue desarrollado en el proyecto MedLineBennettWS.Se ha necesitado la creación de un nuevo servicio web dentro de MedLineBennettWS y alguna pequeña modificación en las consultas realizadas a través de MedLineBennett.

volver a INDICE

Page 6: Presentacion   med line ed bennett con ajax y dwr

4. AnálisisPartiendo del estudio previo se especifican las funcionalidades que debe realizar el proyecto.Estas funcionalidades se transforman en una especificación de requisitos.Los requisitos se reparten en tres áreas principales de desarrollo:

1. crear un cliente REST sobre XHTML2. añadir un servicio más al servicio REST3. crear funcionalidad AJAX sobre el cliente

volver a INDICE

Page 7: Presentacion   med line ed bennett con ajax y dwr

5. Diseño

Se crea un mockup, basado en el cliente RESTful del proyecto MedLineBennettWS, para el diseño visual de la página principal del proyecto.Dado que solo existe un tipo de usuario y una página, se omite el diseño navegacional y se realiza un caso de uso típico.Este caso de uso típico se relaciona directamente con la implementación en el diseño funcional.

volver a INDICE

Page 8: Presentacion   med line ed bennett con ajax y dwr

6. SCRUM: Reparto de tareas

Para la realización del proyecto se utiliza la metodología de desarrollo SCRUM.Adaptando esta metodología a un equipo virtual, y utilizando TRAC como herramienta de gestión del desarrollo de software, se crean tickets que contienen las tareas a realizar. Estos tickets se reparten entre los miembros del equipo.Se establecen timelines que marcan el final de cada sprint.

volver a INDICE

Page 9: Presentacion   med line ed bennett con ajax y dwr

7. Implementación. Archivos principales.

7.1 index.jspEs la página principal y única que contiene el formulario de consulta y la tabla donde se muestran los resultados.Se utiliza css para mejorar el diseño y la interacción con JavaScript.Hace uso de funciones JavaScript para mejorar su diseño e implementar la funcionalidad de los diferentes componentes que la conforman.

volver a INDICE

Page 10: Presentacion   med line ed bennett con ajax y dwr

7. Implementación. Archivos principales.

7.2 medben.jsAlmacena las diferentes funciones JavaScript necesarias para la funcionalidad del proyecto.En todas las funciones hay una breve descripción de la funcionalidad que implementan.Se puede hacer un seguimiento del proceso de ejecución en el diagrama de flujo de datos, en el que se detalla la función que corresponde a cada proceso de la búsqueda.

volver a INDICE

Page 11: Presentacion   med line ed bennett con ajax y dwr

8. Control de erroresEn el lado del usuario se muestra un mensaje en pantalla si se ha producido algún error durante la consulta.Se introduce un campo de texto bajo la tabla principal que informa al usuario del número de resultados o si su consulta no ha devuelto ninguno.En el lado del servidor, se crea un archivo application.log que se encuentra en la carpeta de despliegue del servidor en el que se vuelca información sobre la actividad de la aplicación así como los posibles errores que hayan ocurrido.

volver a INDICE

Page 12: Presentacion   med line ed bennett con ajax y dwr

9. Pruebas9.1 Pruebas de unidadSe realizan pruebas de unidad para comprobar que las funciones principales cumplen con la funcionalidad requerida.Se realizan en primer lugar utilizando solo JavaScript y posteriormente se mejoran las pruebas utilizando la librería QUnit para JavaScript. Se crean dos páginas para realizar las pruebas:qTests.html y unitTests.html

volver a INDICE

Page 13: Presentacion   med line ed bennett con ajax y dwr

9. Pruebas9.2 Pruebas de integraciónSe realizan pruebas de integración para comprobar la funcionalidad completa del programa.No se realizan pruebas exhaustivas ya que el servicio web se supone testado en versiones anteriores.Se podría considerar una versión Beta, con posibles fallos pero estable.Se han realizado dos videos con las pruebas: video1, video2 volver a INDICE

Page 14: Presentacion   med line ed bennett con ajax y dwr

10. Versión con DWR (1)A mitad de proyecto el Product Owner solicita una nueva versión implementada utilizando la librería DWR.Se crea un nuevo proyecto con la configuración y archivos necesarios para implementar un proyecto DWR.En el lado servidor se crea una nueva clase Dwrwsrest.java que implementa los métodos de gestión con el web service y que, gracias a DWR, se puede utilizar desde el lado cliente.También se utliliza la clase Search.java, creada utilizando Jaxb, que parsea directamente la respuesta.

volver a INDICE

Page 15: Presentacion   med line ed bennett con ajax y dwr

10. Versión con DWR (2)En el lado cliente se modifican las funciones JavaScript, sustituyendo todas aquellas funciones que tienen su equivalente en la librería utils.js de DWR, esto mejora significativamente la legibilidad y reduce el código.Finalmente se realiza el mismo test de integralidad del proyecto original, comprobando su correcto funcionamiento.Según se acordó con el Product Owner no se crea documentación propia de este proyecto, se entiende que es una posible versión del proyecto original.

volver a INDICE

Page 16: Presentacion   med line ed bennett con ajax y dwr

11. Manual de usuario. Ya que la aplicación no presenta una gran complejidad de uso para el usuario y dado que realmente lo que se realiza es una adaptación del cliente del anterior proyecto, se ha confeccionado un manual de usuario en video, mostrando el funcionamiento de la aplicación.Para el funcionamiento de la aplicación es necesario tener instalado un servidor como Tomcat y MySQL.

volver a INDICE

Page 17: Presentacion   med line ed bennett con ajax y dwr

12. Archivos y configuración● MedBenAjax ● MedBenAjaxDWR● Por defecto el puerto utilizado por el servidor es el 8080, se

puede modificar en el método localizaPalabra() del archivo medben.js en MedBenAjax y en el método busquedaRest() de la clase Dwrwsrest en MedBenAjaxDWR.

● Para poder probar la funcionalidad en Bennett es necesario tener creada la base de datos medlinebennett con datos cargados en la tabla bennett. Este archivo (.sql) genera la base de datos y carga datos directamente los datos en la tabla bennett.

● El usuario, la password y el puerto MySQL se encuentran en el archivo context.xml de MedBenAjax

volver a INDICE

Page 18: Presentacion   med line ed bennett con ajax y dwr

10. Componentes del equipo AlefAlberto Delso

David Martín

Diego Fernández

Francisco García

Gonzalo García

Juan Sánchez

Reyes Badillo

Rubén Rodríguezvolver a INDICE