Descargue como PDF, TXT o lea en línea desde Scribd
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.