tel./fax: +34 91 675 33 06 [email protected] - www ......Sobre lo primero decir que con sólo darnos...

7
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... 1. Desarrollo de componentes y proyectos a medida Tecnología Desarrollo Sistemas Gran Empresa Producción autentia Certificación o Pruebas Verificación previa RFP Concurso Consultora 1 Consultora 2 Consultora 3 Equipo propio desarrollo Piloto 3a 3b 1. Definición de frameworks corporativos. 2. Transferencia de conocimiento de nuevas arquitecturas. 3. Soporte al arranque de proyectos. 4. Auditoría preventiva periódica de calidad. 5. Revisión previa a la certificación de proyectos. 6. Extensión de capacidad de equipos de calidad. 7. Identificación de problemas en producción. 3. Arranque de proyectos basados en nuevas tecnologías ¿Qué ofrece Autentia Real Business Solutions S.L? Para más información visítenos en: www.autentia.com Compartimos nuestro conociemiento en: www.adictosaltrabajo.com Gestor portales (Liferay) Gestor de contenidos (Alfresco) Aplicaciones híbridas Tareas programadas (Quartz) Gestor documental (Alfresco) Inversión de control (Spring) BPM (jBPM o Bonita) Generación de informes (JasperReport) ESB (Open ESB) Control de autenticación y acceso (Spring Security) UDDI Web Services Rest Services Social SSO SSO (Cas) Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery JPA-Hibernate, MyBatis Motor de búsqueda empresarial (Solr) ETL (Talend) Dirección de Proyectos Informáticos. Metodologías ágiles Patrones de diseño TDD 2. Auditoría de código y recomendaciones de mejora 4. Cursos de formación (impartidos por desarrolladores en activo)

Transcript of tel./fax: +34 91 675 33 06 [email protected] - www ......Sobre lo primero decir que con sólo darnos...

Page 1: tel./fax: +34 91 675 33 06 info@autentia.com - www ......Sobre lo primero decir que con sólo darnos un paseo por cualquiera de las “Web 2.0” (GMail, Digg, Blogger, etc.) veremos

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y proyectos a medida

TecnologíaDesarrolloSistemas

Gran Empresa

Producción

autentia

Certificacióno Pruebas

Verificación previa

RFP Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrolloPiloto

3a

3b

1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas tecnologías

¿Qué ofrece Autentia Real Business Solutions S.L?

Para más información visítenos en: www.autentia.com

Compartimos nuestro conociemiento en: www.adictosaltrabajo.com

Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas

Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)

BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)

Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)

Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD

2. Auditoría de código y recomendaciones de mejora

4. Cursos de formación (impartidos por desarrolladores en activo)

Page 2: tel./fax: +34 91 675 33 06 info@autentia.com - www ......Sobre lo primero decir que con sólo darnos un paseo por cualquiera de las “Web 2.0” (GMail, Digg, Blogger, etc.) veremos

Home | Quienes Somos | Empleo | Tutoriales | Contacte

Ajax con Java Fácil

A primera vista, Asynchronous JavaScript and XML (Ajax) no nos dice mucho acerca de las ventajas de usabilidad para el usuario y bastante poco de la implementación técnica. Sobre lo primero decir que con sólo darnos un paseo por cualquiera de las “Web 2.0” (GMail, Digg, Blogger, etc.) veremos que esta tecnología es imprescindible para alcanzar la experiencia de usuabilidad de esta nueva generación de aplicaciones. En cuanto a la implementación, básicamente tenemos componentes JavaScript en el navegador para interactuar con el usuario y en el servidor para recibir, procesar y responder solicitudes, que pueden implementarse en Java y actualmente contamos con numerosas librerías o frameworks como Prototype, Dojo, Yahoo UI (YUI) Toolkit o Google Web Toolkit.

Dado que existen numerosas introducciones a esta tecnología (ver “Algunos links interesantes”) no vamos a extendernos mucho más en la descripción técnica de Ajax sino que nos centraremos en una implementación concreta: Direct Web Remoting (DWR).

Introducción a DWR

DWR es una librería open source para implementar rápidamente soluciones Ajax, permitiéndonos invocar objetos Java alojados en un servidor desde el JavaScript de un navegador como si fueran objetos locales.

Esta librería cuenta con dos partes principales:

� Javascritp ejecutándose en el navegador que envía solicitudes y recibe respuestas con las que actualiza el contenido de la página � Un servlet que procesa las solicitudes y genera respuestas

DWR genera dinámicamente el JavaScript que actuará como proxy de las clases Java. Este código hará la “magia” para que desde el JavaScript del navegador se utilicen las clases Java del servidor como si fueran objetos locales.

Java es fundamentalmente síncrono mientras que Ajax es asíncrono, así que cuando se invoca un método remoto se debe proporcionar una función JavaScript de callback que será invocada cuando llegue la respuesta. El siguiente diagrama muestra como DWR puede cambiar el contenido de un combo como resultado de un evento (por ejemplo, “onclick”).

Nuevo TNTConcept versión 0.2 ( 26/04/2007)

Autentia da un paso más en su evolución, hemos lanzado una nueva versión con más de 50 mejoras. Ponemos a vuestra disposición el software que hemos construido (100% gratuito y sin restricciones funcionales) para nuestra gestión interna, llamado TNTConcept (auTeNTia).

Construida con las últimas tecnologías de desarrollo Java/J2EE (Spring, JSF, Hibernate, Maven, Subversion, etc.) y disponible en licencia GPL, seguro que a muchos profesionales independientes y PYMES os ayudará a organizar mejor vuestra operativa.

Las cosas grandes empiezan siendo algo pequeño ..... Saber más en: http://tntconcept.sourceforge.net/

Tutorial desarrollado por: Javier Antoniucci

Puedes encontrarme en Autentia Somos expertos en Java/J2EE

Contacta en [email protected]

www.adictosaltrabajo.com es el Web de difusión de conocimiento de

www.autentia.com

Catálogo de cursos

Descargar este documento en formato PDF AjaxConJavaFacil.pdf

Firma en nuestro libro de Visitas <-----> Asociarme al grupo AdictosAlTrabajo en eConozco

Master Experto Java100% alumnos trabajando Nuevo temario de Struts + Ajax www.grupoatrium.com

Ajax application testingAffordable, powerfull load testing 1600+ happy customers. Evaluate now www.radview.com

Formacion Oficial JavaCentro Oficial Sun en Bilbao Java SE, Java EE, J2ME, JSF AJAX www.programia.es

Página 1 de 6Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/05/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=AjaxConJavaFacil

Page 3: tel./fax: +34 91 675 33 06 info@autentia.com - www ......Sobre lo primero decir que con sólo darnos un paseo por cualquiera de las “Web 2.0” (GMail, Digg, Blogger, etc.) veremos

En este caso, DWR genera dinámicamente una versión JavaScript de la clase Java AjaxService. Ésta es llamada por la función eventHandler y DWR gestiona toda la interacción remota con el servidor incluyendo la conversión de tipos de datos de los parámetros entre Java y JavaScript. Cuando llega la respuesta, se invoca la función callback populateList la cual utiliza una utilidad de DWR para actualizar el contenido del combo de la página web.

Descargar DWR

Desde http://getahead.org/dwr/download podemos descargar la versión 2.0.1 del Jar de DWR.

Para cuando estemos más familiarizados con la librería, es una buena idea descargar el War con los ejemplos funcionales de su utilización ya que aveces incluyen ejemplos de características aún no documentadas.

Finalmente, podemos descargar el código fuente con el que completar nuestro debuggeo o comprender en profundidad la implementación.

Instalar y configurar el DWR

Esto es muy sencillo:

1. Copiar la dwr.jar en el WEB-INF/lib de nuestra aplicación web.

2. Editar el web.xml y añadir el siguiente servlet:

<servlet> <servlet-name>dwr-invoker</servlet-name> <display-name>DWR Servlet</display-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>

3. Crear un dwr.xml en el WEB-INF que contenga una configuración similar a la siguiente pero con las clases que querramos exponer mediante DWR:

<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr> <allow> <create creator="new" javascript="JDate"> <param name="class" value="java.util.Date"/> </create> </allow> </dwr>

4. Abrir un nuevo navegador con la URL http://localhost:8080/[YOUR-WEBAPP]/dwr/ y automáticamente se mostrará una página con las clases seleccionadas en el paso 2:

Página 2 de 6Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/05/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=AjaxConJavaFacil

Page 4: tel./fax: +34 91 675 33 06 info@autentia.com - www ......Sobre lo primero decir que con sólo darnos un paseo por cualquiera de las “Web 2.0” (GMail, Digg, Blogger, etc.) veremos

Página 3 de 6Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/05/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=AjaxConJavaFacil

Page 5: tel./fax: +34 91 675 33 06 info@autentia.com - www ......Sobre lo primero decir que con sólo darnos un paseo por cualquiera de las “Web 2.0” (GMail, Digg, Blogger, etc.) veremos

5. Seleccionándo la clase se mostrarán los métodos expuestos:

6. Hay una serie de ejemplos desde los que se puede copiar el código directamente a nuestra JSP. Por ejemplo, para el método toString vemos el código de ejemplo:

<li> toString( ); <input class='ibutton' type='button' onclick='JDate.toString(reply5);' value='Execute' title='Calls JDate.toString(). View source for details.'/> <script type='text/javascript'> var reply5 = function(data) { if (data != null && typeof data == 'object') alert(dwr.util.toDescriptiveString(data, 2)); else dwr.util.setValue('d5', dwr.util.toDescriptiveString(data, 1)); } </script> <span id='d5' class='reply'></span>

Página 4 de 6Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/05/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=AjaxConJavaFacil

Page 6: tel./fax: +34 91 675 33 06 info@autentia.com - www ......Sobre lo primero decir que con sólo darnos un paseo por cualquiera de las “Web 2.0” (GMail, Digg, Blogger, etc.) veremos

</li>

7. No debemos olvidar incluir en la cabecera de la JSP las referencias al JavaScript como se indica al comienzo de esta página.

Para aprender más se puede continuar revisando los ejemplos contenidos el War o ver la documentación de DWR, en particular la sección “Scripting Introduction” en http://getahead.org/dwr/browser/intro.

Restricciones

Las clases que DWR puede exponer deben cumplir con las siguientes restricciones:

� Contar con un constructor sin argumentos � No llamarse igual que palabras reservadas de JavaScript, en particular aquellas que no son reservadas en Java como por ejemplo

delete. � No contener métodos sobrecargados ya que no siempre funcionan bien desde JavaScript

Algunos links interesantes

� DWR Home Page, http://getahead.org/dwr

� “Putting AJAX Frameworks to the Test”, http://www.devx.com/AJAXRoundup/Article/33126/0/page/1

� “18-week "Free" AJAX Programming (with Passion!) Online Course”, http://www.javapassion.com/ajaxcodecamp/

� Definición e historia de Ajax en la Wikipedia, http://es.wikipedia.org/wiki/AJAX

Conclusiones

El DWR es una excelente librería avalada por más de dos años de experiencia, una comunidad muy activa y el apadrinamiento de TIBCO. Es notable la facilidad de aprendizaje y uso aunque la documentación aún está en proceso de elaboración.

Cabe remarcar que se debe prestar atención a las restricciones indicadas y al cuidado que se le debe prestar a la seguridad en cuanto a que mediante esta librería estamos exponiendo componentes en servidor y puede abrir una brecha de seguridad en nuesto sistema.

Finalmente, no dudes en solicitar nuestros servicios ya que en Autentia tenemos mucha experiencia práctica en innovación, usabilidad e interfaces de usuario complejas.

Contacta con nosotros en www.autentia.com .

This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License. Puedes opinar sobre este tutorial aquí

Recuerda que el personal de Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales)

¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?

¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?

[email protected]

Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...... Autentia = Soporte a Desarrollo & Formación

Autentia S.L. Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ..

y muchas otras cosas

Nuevo servicio de notificaciones

Si deseas que te enviemos un correo electrónico cuando introduzcamos nuevos tutoriales, inserta tu dirección de correo en el siguiente formulario.

Subscribirse a Novedades

e-mail

Página 5 de 6Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/05/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=AjaxConJavaFacil

Page 7: tel./fax: +34 91 675 33 06 info@autentia.com - www ......Sobre lo primero decir que con sólo darnos un paseo por cualquiera de las “Web 2.0” (GMail, Digg, Blogger, etc.) veremos

Patrocinados por enredados.com .... Hosting en Castellano con soporte Java/J2EE

Otros Tutoriales Recomendados (También ver todos)

Nombre Corto Descripción

Procesamiento XML en Java con JAXB y WSDP 1.6

Os mostramos como instalar la versión 1.6 de WSDP y como procesar los ficheros XML con uno de sus componentes, JAXB

XMLEncryption en Java En este magnífico tutorial, Alberto Carrasco nos enseña los fundamentos y un ejemplo práctico de XMLEncryption.

Una aplicación AJAX hecha a mano En este tutorial se muestra cómo hacer una página web que, usando AJAX, accede a un servicio web SOAP. Para ello sólo se usa JavaScript, sin nada de código en el servidor.

Novedades en Java 1.5 Ya está disponible la versión Beta del J2SDK 1.5. Os mostramos algunas de las nuevas características introducidas en el lenguaje Java: Clases genéricas, enumeraciones, bucles simplificados, etc.

Técnicas básicas y poco comentadas en Java

Os mostramos como realizar algunas cosas simples en Java: Formateo de decimales y enteros, gestión de preferencias y comparación entre objetos de nuevas clases

Introducción a Ajax4Jsf En este tutorial se hablará de Ajax4jsf, una librería open source que se integra totalmente en la arquitectura de JSF y extiende la funcionalidad de sus etiquetas dotándolas con tecnología Ajax de forma limpia y sin añadir código Javascript.

Introducción a la tecnología AJAX En este tutorial os mostramos los fundamentos de la tecnología AJAX, junto a un ejemplo y orientación sobre su utilización en el desarrollo de aplicaciones web en general

Introducción al Java Web Start Os mostramos como podéis distribuir aplicaciones de consola de un modo sencillo a través de Java Web Start. Es el mismo principio de los applets aplicado a aplicaciones.

Añadir Scripting a programas Java Os mostramos como añadir a vuestras aplicaciones soporte de Scripting, gracias a BeansShell. Esto nos permite ejecutar Java generado dinámicamente.

Nota: Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador [email protected] para su resolución.

www.AdictosAlTrabajo.com Opimizado 800X600

Página 6 de 6Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/05/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=AjaxConJavaFacil