Juan Fernández Rodríguez

Slides:



Advertisements
Presentaciones similares
Introducción a la programación (Clase 2)
Advertisements

Curso de Java “Java para Web” Rogelio Ferreira Escutia.
WebScan Aplicación Web para la Navegación mediante Barrido Eric Noam Rodriguez Suazo.
Asynchronous JavaScript and XML. Esta clase sirve para ser utilizado cuando lo único que queremos hacer es actualizar cierta parte de un sitio Web continuamente.
Scripting en el lado del Cliente
AJAX Web 2.0
Programación Orientada a Objeto 1
Herramientas para el uso de AJAX
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Asynchronous JavaScript and XML.  No es una nueva forma de programar, es una forma de utilizar los estándares disponibles.  Es el arte de intercambiar.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Desarrollo de Aplicaciones para Internet
STRUTS, IBATIS Y AJAX PARA LA GESTIÓN INTEGRAL DE UN TALLER MECÁNICO
Servlets Servlets.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Curso de Java y Aplicaciones Web
SISTEMA DE GENERACIÓN Y SEGUIMIENTO DE REPARACIÓN DE CONTENEDORES
Mecanismo de petición y respuesta Prof. Manuel Blázquez Ochando
RESUMENCURSO STRUTS 2 Resumen de lo visto en este tercer módulo: VISTA del framework Struts 2 Debes tener los conceptos muy claros sobre: Results UI Tags.
Actividad 8 Equipo 3: o Gemma Cedillo Saucedo. o Alejandra Castillo Almazán. o Adriana Lara Mata. o Jorge Arregoytia García. o Aleida Villegas Rodríguez.
Tecnologías para el desarrollo de aplicaciones Web
Servlets, JSP, JavaBEANS,JDBC
Java Server Faces.
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
3 PROGRAMAR EN UN LENGUAJE DE HIPERTEXTO L.I. OSWALDO MARTINEZ C. EDPW.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
Visualizador Web de imágenes médicas Rawb
Tecnologías web.
AJAX Daniel Montenegro Cordero Ingeniería de Sistemas y Computación Pontificia Universidad Javeriana - Cali.
Marco Conceptual para la Gestión de Conocimiento de entornos de colaboración: aplicación a la creación de un portal de revistas electrónicas EUITIO Daniel.
CURSO STRUTS 2 RESUMEN Resumen de lo visto en este primer módulo de INTRODUCCIÓN al framework Struts 2 Debes tener los conceptos muy claros sobre: Framework.
INTRODUCCIÓN A AJAX. ¿Qué es AJAX? Acrónimo de Asynchronous JavaScript And XML No es ninguna tecnología, ni lenguaje de programación. Es una técnica de.
Ajax en 3 Capas Ing. Pedro Luis Rodriguez. El Cliente/Servidor WEB Cliente: Navegador WEB. Internet Explorer, Mozilla FireFox Cliente: Navegador WEB.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
Sistema de Administración de Iglesias
DOM Document Object Model Fernando Rodrìguez. Que es DOM Dom es una plataforma o interfaz neutral que permite a los programas y scripts accesar o modificar.
 La primera versión fue desarrollada por Robert McCool, quien desarrollaba el servidor web NCSA HTTPd (National Center for Supercomputing Applications).
PORTAL WEB PARA CONTRIBUIR EN LA VENTA, COMERCIALIZACIÓN Y DISTRIBUCIÓN DE LA ZEOLITA NATURAL USANDO AJAX Integrantes: Martha Isabel Correa Barrera Patricia.
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Rogelio Ferreira Escutia. 2 “Introducción a AJAX”, Javier Eguíluz Pérez, mayo 2010 Término AJAX  El término AJAX se presentó.
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Los siguientes términos y acrónimos son un resumen de las tecnologías web actuales: ASP (Active Server Pages)  Páginas de servidor activas.  Tecnología.
Servidores web. Integrantes: Dany Alexander Orozco. Maycol Gómez Herrera. Luisa Fernanda Moncada.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Proyecto Fin de Carrera Ingeniería Informática Interfaz Avanzada de Consulta al Multilingual Central Repository (MCR)‏ María Eguimendia Director: Germán.
Servidor web Alumna: María Verónica Mancheno Materia: Gestión de Información Web Profesor: José Medina Moreira.
SEMINARIO 2 Miembros del grupo: Juan Francisco García Jorge Mahecha Sergi Mellado.
 Claudia Jordan Idrovo.  Son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica.
Autores: Alejandro Teixeira Alexander Parra SOCIEDAD Y INTERNET HTML V.5 ACTIONSCRIPTAJAX HERRAMIENTAS WEB 2.0.
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
SOFTTEK INTERNAL © Copyright All Rights Reserved. Valores Corporativos Softtek S.A. de C.V. Struts Academia Java.
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Navegador Servidor … Llamada HTTP estándar.
Pablo Barrantes Illary Huaylupo David Navas Alan Wong.
Tutor: Ing. Juan E. Talavera Horn 2010 Google Web Toolkit (GWT)
Ris2K Ingeniería del Software II Click to edit city and date.
AJAX Asynchronous JavaScript And XML.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
¿Qué es jQuery? jQuery es una librería gratuita y open source, que simplifica la creación de páginas web altamente interactivas. Funciona.
2.1 Conocer la terminología básica del software para diseñar una página Web
Integrante: Mariana Alcalá Hdz María del Carmen Andrade G. Alondra E. García Mtz Joselyn Gpe García V. Antonio de Jesús Hdz R. Cristian Jesús Ruvalcaba.
DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Elaboración de documentos web mediante lenguajes de marcas Frames e Iframes.
 Es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante.
3 Aplicaciones Educativas Nuevas tecnologías de la Educación 2010 Tema Gonzalo Silió Sáiz Parte II: Web 2.0: wiki y blogs ¿Qué es la WEB 2.0 ?
Java Script. Como habilitar JavaScript en tu navegador
1/11Departamento de Informática Tributaria AJAX Fundamentos básicos ( ) AJAX Fundamentos básicos ( )
1 Servicio de Información y Evaluación 7º Seminario TIC Consejería de Salud Sevilla, 17 de septiembre de 2007.
Aplicaciones Web Verano Programación de aplicaciones Web FCC-BUAP Verano 2016BMB - RAM2.
Desarrollo y servicios web Luisa Fernanda Rincón Pérez
Transcripción de la presentación:

Juan Fernández Rodríguez uo67775@uniovi.es Ajax y el framework DWR Juan Fernández Rodríguez uo67775@uniovi.es

AJAX: Asynchronous JavaScript & XML Técnica de desarrollo Web para crear aplicaciones Web Interactivas Las aplicaciones se ejecutan en el navegador del usuario y mantienen una comunicación asíncrona con el servidor en background

AJAX: Asynchronous JavaScript & XML Ajax engloba varias tecnologías XHTML y CSS para la presentación DOM para mostrar e interactuar con la información dinámica XMLHttpRequest para el intercambio de datos asíncronamente

AJAX vs BASIC WEB APPS

Síncrono vs. Asíncrono

Aplicaciones Ajax

DWR: Easy Ajax for Java Librería Open Source escrita en Java Compuesta por dos partes Un Servlet en el servidor que procesa peticiones y envía respuestas JavaScript en el cliente, que envía las peticiones y actualiza dinámicamente las páginas

DWR: Esquema

DWR: Configuración del servidor (web.xml) … <servlet> <servlet-name>dwr-invoker</servlet-name> <display-name>DWR Servlet</display-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> </servlet> <servlet-mapping> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>

DWR: Exportar objetos Java (dwr.xml) Mapeo de tipos: etiqueta <convert> Clases a exportar: etiqueta <create> … <dwr> <allow> <convert converter="bean" match="es.princast.framework.core.vo.PropertyBean"/> <create creator="session" javascript="MunicipiosController" class="es.princast.sampleapp.web.dwr.MunicipiosController"> </create> </allow> </dwr>

DWR en el cliente STUB del cliente Motor DWR engine.js (facilidades de llamada a métodos remotos) Funciones agrupadas por los métodos de cada clase exportada nombreclase.js (el servlet DWRServlet los genera al vuelo utilizando la configuración de dwr.xml)

DWR en el cliente (II) Ej: Si se exporta la clase public class Foo { public String doFoo() { return "foo"; } En el fichero “foo.js” se encontrará la función “function Foo.doFoo()” (en el cliente), permite acceder al método doFoo() de la clase Foo (en el servidor) Para realizar llamadas a métodos del servidor, basta con utilizar las funciones de las librerias “interface”. No es necesario invocar ninguna función del fichero engine.js.

DWR en el cliente (III) Utilidades para actualizar DHTML: Proporciona una biblioteca de funciones “util.js” para manipular código DHTML que permiten actualizar sus contenidos como addOptions / removeOptions addRows / removeRows getValue / setValue Etc.

DWR: Java Script Asíncrono Llamada síncrona: ¡ERROR! … data = FooRemoteClass.fooMethod(); //Llamada remota con DWR alert("Datos recibidos: "+data); ... Llamada asíncrona: ¡OK! data = FooRemoteClass.fooMethod(processData); function processData(data) { }

DWR: Actualización de la Vista Ej.: actualizar el contenido de un DIV Cliente: <script languaje="JavaScript"> ... FooRemoteClass.getContenidoDiv(loadDiv); function loadDiv(data){ DWRUtil.setValue("divId", data); } </script> <body> <div id="divId"></div> </body> Servidor public String getContenidoDIv() throws ServletException, IOException{ return ExecutionContext.get().forwardToString("/contenidoDiv.jsp");

Conclusiones PROS CONTRAS Interactividad Usabilidad: botón atrás, marcadores/favoritos Tiempos de respuesta: sin feedback claro y tiempos cortos de respuesta. Los usuarios pueden experimentar esperas “incomprensibles”. Recomendado el uso de feedback’s visuales Accesibilidad: usuarios con navegadores de texto, hablados, sin JavaScript etc. Los desarrolladores necesitan implementar opciones fallback para usuarios de otras plataformas