Direct Web Remoting (DWR)

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

DIRECT WEB REMOTING (DWR)

Ajax en aplicaciones basadas en Java

AJAX es un acrnimo que significa "Asynchonous


JavaScript XML".
En s, AJAX es una tcnica de programacin web
mediante la cual una pgina web puede
intercambiar informacin con el servidor en
forma asincrnica, de manera tal que la pgina
puede actualizarse sin necesidad de ser
recargada.
El cliente (browser con la pgina web) y el servidor
mantienen una comunicacin asincrnica y en
background.

En s, AJAX es netamente JavaScript.


Vamos a explicar un framework que permite
invocar desde JavaScript (browser, cliente)
mtodos remotos, en el servidor implementados
en Java.

DWR - Direct Web Remoting

DWR es un framework open source que ofrece una


alternativa estilo RPC (invocacin remota de
procedimientos) entre el cliente (browser) y el
servidor.

Utilizando DWR podemos invocar mtodos va


JavaScript pero que se procesarn en el server.
DWR se encarga de todo el marshalling de la
comunicacin.

SNCRONO
VS.
ASNCRONO

DWR cuenta con dos partes principales:

Un servlet corriendo en el server que procesa


los requests y enva los responses al browser
JavaScript corriendo en el browser que enva
los requests y puede dinmicamente actualizar
la pgina HTML.

El trmino reverse AJAX se utiliza cuando un


servidor es utilizado para consultar y / o controlar
el comportamiento del cliente en el navegador

Piggyback .- cada vez que un servidor tiene una

Polling.- sondea peridicamente el servidor si hay algn

Comet .- Cuando las actualizaciones a un cliente tiene qu

actualizacin para ser enviado al cliente, espera hasta que el


cliente abre una conexin

evento en el lado del servidor de la aplicacin que requiere


actualizaciones de la pgina web

ser (casi) en tiempo real.

Libreras DWR Javascript

engine.js.- Es el ncleo del lado el navegador de la


funcionalidad de DWR.

util.js.- Contiene funciones de utilidad. tiles, pero no


imprescindibles para DWR

gi.js.- Integracin con TIBCO General Interface (GI) para


aplicaciones AJAX

Para comenzar veremos como configurar DWR en


nuestro proyecto web y luego desarrollaremos un
HolaMundo.
1 - Descargar el archivo dwr.jar y copiarlo en el
directorio WEB-INF/lib de la aplicacin web.

2 - Agregar las siguientes lneas en el web.xml de


la aplicacin web.

3 - Crear un archivo llamado dwr.xml en el


directorio WEB-INF de la aplicacin web, con el
siguiente cdigo.

4 - Ahora probemos ingresar en nuestra aplicacin


web, en el directorio dwr:
http://localhost:8080/[YOUR-WEBAPP]/dwr/

DWR mostrar una pgina en la que podremos ver todas las


clases publicadas, cuyos mtodos podrn ser invocados va
JavaScript.

En este caso (a modo de ejemplo) solo est publicada la clase


JDate (la de java.util). Recordemos que cuando creamos el
archivo dwr.xml, definimos que bamos a utilizar esta
clase.
5 - Si hacemos "click" en JDate entonces veremos una pgina
en la que podremos probar todos los mtodos de (en este
caso) JDate.
Deber presentar algo as:

Adems (en la parte superior) veremos el cdigo que tenemos que


incluir en nuestro JSP o HTML para poder invocar al objeto remoto.

Ahora si, Hola Mundo !


Con el proyecto web correctamente configurado
para poder utilizar DWR estamos en condiciones
de hacer el primer ejemplo.
6 - Creamos la clase HolaMundoDWR.

7 - Tenemos que publicar la clase en DWR. Para esto


agregamos el siguiente cdigo en el archivo dwr.xml.

8 - Volvemos a ingresar en el directorio dwr de la aplicacin


web para asegurarnos que la clase HolaMundoDWR fue
correctamente publicada.
http://localhost:8080/[YOUR-WEBAPP]/dwr/test/HolaMundoDWR

Si todo est bien veremos la siguiente pgina:

En esta pgina podemos probar el mtodo saludo, pero


tambin DWR nos muestra los scripts que tenemos que
incluir en nuestra pgina JSP si queremos invocar mtodos
de la clase HolaMundoDWR.
Tambin nos sugiere incluir el script util.js que ser muy util
para actualizar dinmicamente contenido HTML.

9 - Ahora si, podemos programar la pgina JSP.


Ver el archivo testDWR_jsp.txt

También podría gustarte