SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
MedLine-Ed
Bennett
con AJAX y DWR

Equipo Alef 2013
Master diseño y desarrollo de aplicaciones web
Itinerario Java
UNED
ÍNDICE
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Requisitos previos
Relación con proyectos anteriores
Estudio previo, planificación y presupuesto.
Análisis
Diseño
SCRUM: Reparto de tareas
Implementación. Archivos principales.
Control de errores
Pruebas
Versión con DWR
Manual de usuario
Archivos y configuración
13. Componentes del equipo
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
2. Relación con proyectos anteriores
Este 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
3. Estudio previo,planificación y
presupuesto.
Se realiza un estudio previo de la especificación del
proyecto y se define el objetivo final en contacto con
el Product Owner.
Tras el estudio previo y una vez definidos los
objetivos se crea un diagrama con la planificación
general del proyecto.
Se presenta un presupuesto inicial resumido para
obtener una primera valoración, después de las
discusiones con el Product Owner se llega a un
acuerdo y se presenta el presupuesto final.

volver a INDICE
4. Análisis
Partiendo 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 XHTML
2. añadir un servicio más al servicio REST
3. crear funcionalidad AJAX sobre el cliente
volver a INDICE
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
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
7. Implementación. Archivos
principales.
7.1 index.jsp
Es 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
7. Implementación. Archivos
principales.
7.2 medben.js
Almacena 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
8. Control de errores
En 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
9. Pruebas
9.1 Pruebas de unidad
Se 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
9. Pruebas
9.2 Pruebas de integración
Se 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
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
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
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
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
10. Componentes del equipo Alef
Alberto Delso
David Martín
Diego Fernández
Francisco García
Gonzalo García
Juan Sánchez
Reyes Badillo
Rubén Rodríguez
volver a INDICE

Weitere ähnliche Inhalte

Ähnlich wie MedLine-Ed Bennett consulta AJAX DWR

Unidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webUnidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webZacarias Marquez Cruz
 
Registro en una página web para la renta de vehículos hecho en java.
Registro en una página web para la renta de vehículos hecho en java.Registro en una página web para la renta de vehículos hecho en java.
Registro en una página web para la renta de vehículos hecho en java.Alex Espinoza
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptKarsarmi
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
 
Ponencia
PonenciaPonencia
Ponenciafredmoa
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Ignacio Muñoz Vicente
 
02. Diseño de Aeronaves Computarizado Para Estudiantes de Ingeniería autor Al...
02. Diseño de Aeronaves Computarizado Para Estudiantes de Ingeniería autor Al...02. Diseño de Aeronaves Computarizado Para Estudiantes de Ingeniería autor Al...
02. Diseño de Aeronaves Computarizado Para Estudiantes de Ingeniería autor Al...JsuCdueo
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
Implementación de una aplicación para la Administración remota de servidores ...
Implementación de una aplicación para la Administración remota de servidores ...Implementación de una aplicación para la Administración remota de servidores ...
Implementación de una aplicación para la Administración remota de servidores ...TELCON UNI
 
UDA-Guia de desarrollo
UDA-Guia de desarrolloUDA-Guia de desarrollo
UDA-Guia de desarrolloAnder Martinez
 
Desarrollo y reutilización de componentes software y multimedia mediante leng...
Desarrollo y reutilización de componentes software y multimedia mediante leng...Desarrollo y reutilización de componentes software y multimedia mediante leng...
Desarrollo y reutilización de componentes software y multimedia mediante leng...Jomicast
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Renan Cayao
 

Ähnlich wie MedLine-Ed Bennett consulta AJAX DWR (20)

Unidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webUnidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones web
 
Registro en una página web para la renta de vehículos hecho en java.
Registro en una página web para la renta de vehículos hecho en java.Registro en una página web para la renta de vehículos hecho en java.
Registro en una página web para la renta de vehículos hecho en java.
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Plataformas cliente servidor
Plataformas cliente servidorPlataformas cliente servidor
Plataformas cliente servidor
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Ponencia
PonenciaPonencia
Ponencia
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2
 
Trabajo gru
Trabajo gruTrabajo gru
Trabajo gru
 
02. Diseño de Aeronaves Computarizado Para Estudiantes de Ingeniería autor Al...
02. Diseño de Aeronaves Computarizado Para Estudiantes de Ingeniería autor Al...02. Diseño de Aeronaves Computarizado Para Estudiantes de Ingeniería autor Al...
02. Diseño de Aeronaves Computarizado Para Estudiantes de Ingeniería autor Al...
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Implementación de una aplicación para la Administración remota de servidores ...
Implementación de una aplicación para la Administración remota de servidores ...Implementación de una aplicación para la Administración remota de servidores ...
Implementación de una aplicación para la Administración remota de servidores ...
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
UDA-Guia de desarrollo
UDA-Guia de desarrolloUDA-Guia de desarrollo
UDA-Guia de desarrollo
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Desarrollo y reutilización de componentes software y multimedia mediante leng...
Desarrollo y reutilización de componentes software y multimedia mediante leng...Desarrollo y reutilización de componentes software y multimedia mediante leng...
Desarrollo y reutilización de componentes software y multimedia mediante leng...
 
Curso ajax
Curso ajaxCurso ajax
Curso ajax
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
 
Jbuilder
JbuilderJbuilder
Jbuilder
 

MedLine-Ed Bennett consulta AJAX DWR

  • 1. MedLine-Ed Bennett con AJAX y DWR Equipo Alef 2013 Master diseño y desarrollo de aplicaciones web Itinerario Java UNED
  • 2. ÍNDICE 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Requisitos previos Relación con proyectos anteriores Estudio previo, planificación y presupuesto. Análisis Diseño SCRUM: Reparto de tareas Implementación. Archivos principales. Control de errores Pruebas Versión con DWR Manual de usuario Archivos y configuración 13. Componentes del equipo
  • 3. 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
  • 4. 2. Relación con proyectos anteriores Este 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
  • 5. 3. Estudio previo,planificación y presupuesto. Se realiza un estudio previo de la especificación del proyecto y se define el objetivo final en contacto con el Product Owner. Tras el estudio previo y una vez definidos los objetivos se crea un diagrama con la planificación general del proyecto. Se presenta un presupuesto inicial resumido para obtener una primera valoración, después de las discusiones con el Product Owner se llega a un acuerdo y se presenta el presupuesto final. volver a INDICE
  • 6. 4. Análisis Partiendo 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 XHTML 2. añadir un servicio más al servicio REST 3. crear funcionalidad AJAX sobre el cliente volver a INDICE
  • 7. 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
  • 8. 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
  • 9. 7. Implementación. Archivos principales. 7.1 index.jsp Es 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
  • 10. 7. Implementación. Archivos principales. 7.2 medben.js Almacena 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
  • 11. 8. Control de errores En 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
  • 12. 9. Pruebas 9.1 Pruebas de unidad Se 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
  • 13. 9. Pruebas 9.2 Pruebas de integración Se 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 10. Componentes del equipo Alef Alberto Delso David Martín Diego Fernández Francisco García Gonzalo García Juan Sánchez Reyes Badillo Rubén Rodríguez volver a INDICE