Comunicación con el servidor, RPC GWT Google Web Toolkit Prof. Ing

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 5: DECLARACIÓN, INICIALIZACIÓN Y USO DE VARIABLES Ing. Ronald Criollo.
Curso de java básico (scjp)
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Curso de Java Capitulo 2: Introducción a Java Profesor:
Lenguaje PHP Capítulo 4.
Juan Fernández Rodríguez
Fernando Velasco
Orientación a Objetos con Java SE
Desarrollo de Aplicaciones para Internet
Conceptos más avanzados de Programación Orientada a Objetos Programación 2005 Licenciatura de Lingüística y Nuevas Tecnologías.
ACCESO A BASES DE DATOS ORACLE CON PHP
Tema 2: Lenguaje PHP básico
GWT Designer, Organización del proyecto GWT Google Web Toolkit Prof
1.2 Sintaxis del lenguaje Java.
Tipos de Datos.
1  2007 Universidad de Las Américas - Escuela de Ingeniería - Aplicaciones Internet - Dr. Juan José Aranda Aboy IMPLEMENTACION DE APLICACIONES INTERNET.
Algoritmo y Estructura de Datos I
Objetos y Clases en Java
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
POO Java Módulo 3 Elementos de programas Identificadores
CONCEPTOS INTRODUCTORIOS DE JAVASCRIPT Preparado por: Prof. Nelliud D. Torres 14/octubre/2004.
Java Mayra M. Méndez Anota.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.
Programación orientada a objetos
SCJP Sun Certified Programmer for Java 6
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
JAVA J.A.C..
Numeric Types, Expressions, and Output
Tema 2: Los tipos de datos
1 Chapter 12 Arrays Dale/Weems/Headington. 2 Chapter 12 Topics l Declaring and Using a One-Dimensional Array l Passing an Array as a Function Argument.
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Introducción a las redes e Internet Unidad 7: Páginas web dinámicas Clase 1 Unidad 7: Páginas web dinámicas Clase 1.
Informática Ingeniería en Electrónica y Automática Industrial
Conversión cadena a número
Sintaxis de C# (Declaraciones y Tipos)
Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.
PRESENTACIÓN MULTIPLAN Grupo 3. Componentes del Grupo  Alexis Loyola  David Montero  David Salinas  Ekaitz Virto  Iñigo Aragón  Raquel Montero 
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.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java.
Programación avanzada en Java Miguel Ángel Corella 16 de Septiembre de 2005.
FUNDAMENTOS DE PROGRAMACIÓN
Arreglos de Objetos.
Detalles Generales sobre Java
PHP con Bases de Datos Tema 2 Variables, Constantes y Tipos de Datos
Internacionalización, fichero propiedades GWT Google Web Toolkit Prof
Aspectos Básicos de Programación en JAVA
Fundamentos de Programación
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Tutor: Ing. Juan E. Talavera Horn 2010 Google Web Toolkit (GWT)
Invocación Dinámica en CORBA
Prof. Víctor Aquino Urrutia
Tipos de datos básicos en Java
ARREGLOS. La sintaxis para declarar e inicializar un array será: Tipo_de_variable[ ] Nombre_del_array = new Tipo_de_variable[dimensión]; También podemos.
Elementos básicos.  Fuertemente tipeado.  Sintaxis similar a C/C++.  Sin punteros: garbage collection.  Portable.  Integra librerías para objetos.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. GESTIÓN DE TIPOS Y GENERACIÓN DE CÓDIGOS.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Integration Services Cargando datos desde Web Services JSON Mario Guzmán El Salvador DPS en SolidQ MCP SQL Server.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Java y JSP Introducción a Java. Reseña histórica  Surge en 1991 por Sun Microsystems  Desarrollado para electrodomésticos  Se buscaba un código neutro.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Integration Services.
Transcripción de la presentación:

Comunicación con el servidor, RPC GWT Google Web Toolkit Prof. Ing Comunicación con el servidor, RPC GWT Google Web Toolkit Prof. Ing. Esteban Ramírez

Contenido Llamadas al servidor AJAX Client Side vs Server Side Plugin GWT - RPC Asynchronous Calls JSON (JavaScript Object Notation)

Llamadas al servidor Ajax

Client-side vs Server-side TestGWT.java Servidor Web JScript

Pasos En orden para definir su interface RPC, se necesita: Definir una interface sincrona (client-side) para su servicio que extienda RemoteService y liste todos los métodos RPC. Definir una interface asynchrona (client-side) para su servicio a ser llamada desde el codigo cliente. Definir una clase que implemente el código (server-side)que extienda RemoteServiceServlet e implemente la interface que se creó en el paso 1.

Client-side Server-side RemoteServiceServlet (interface) ServiceDefTarget (interface) RemoteService (interface) Extends Extends YourServiceAsync (interface) YourService (interface) YourServiceImpl (class) Related Implements Related Importadas Escritas YourServiceProxy (class) Implements Generadas TranslatablaJava Code (Se ejecuta como JavaScript en el cliente) Standar Java Code (Se ejecuta como bytecode en el server)

Pasos En orden para definir su interface RPC, se necesita: Definir una interface sincrona (client-side) para su servicio que extienda RemoteService y liste todos los métodos RPC. Definir una interface asynchrona (client-side) para su servicio a ser llamada desde el codigo cliente. Definir una clase que implemente el código (server-side)que extienda RemoteServiceServlet e implemente la interface que se creó en el paso 1.

Client-side Server-side RemoteServiceServlet (interface) ServiceDefTarget (interface) RemoteService (interface) Extends Extends YourServiceAsync (interface) YourService (interface) YourServiceImpl (class) Related Implements Related Importadas Escritas YourServiceProxy (class) Implements Generadas TranslatablaJava Code (Se ejecuta como JavaScript en el cliente) Standar Java Code (Se ejecuta como bytecode en el server)

Pasos En orden para definir su interface RPC, se necesita: Definir una interface sincrona (client-side) para su servicio que extienda RemoteService y liste todos los métodos RPC. Definir una interface asynchrona (client-side) para su servicio a ser llamada desde el codigo cliente. Definir una clase que implemente el código (server-side)que extienda RemoteServiceServlet e implemente la interface que se creó en el paso 1.

Client-side Server-side RemoteServiceServlet (interface) ServiceDefTarget (interface) RemoteService (interface) Extends Extends YourServiceAsync (interface) YourService (interface) YourServiceImpl (class) Related Implements Related Importadas Escritas YourServiceProxy (class) Implements Generadas TranslatablaJava Code (Se ejecuta como JavaScript en el cliente) Standar Java Code (Se ejecuta como bytecode en el server)

Ejemplo Jose Personas 1 – Pedro 2 – Diego 3 – Juan ? – ??? Servidor Web Personas 1 – Pedro 2 – Diego 3 – Juan ? – ???

Ejemplo Servidor Web 4 Personas 1 – Pedro 2 – Diego 3 – Juan 4 – Jose

Ejemplo New GWT Java Project: TestRPC New GWT Module: TestRPCmodule Package Name: com.cursojava.testrpc

Servicio: AgregarPersona Ejemplo Servicio: AgregarPersona Pantalla

Servicio: AgregarPersona Ejemplo Servicio: AgregarPersona Interface síncrona del servicio Client -side

Servicio: AgregarPersona Ejemplo Servicio: AgregarPersona Interface Asíncrona del servicio Client -side

Servicio: AgregarPersona Ejemplo Servicio: AgregarPersona Implementación del servicio en Server-side

Servicio: AgregarPersona Ejemplo Servicio: AgregarPersona Contenedor de personas

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client Interface síncrona del servicio Client -side AgregarPersonaService.java

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client Interface Asíncrona del servicio Client -side AgregarPersonaServiceAsync.java

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client Interface Asíncrona del servicio Client -side AgregarPersonaServiceAsync.java

Configuración del Servlet que manejará el servicio Ejemplo Servicio: AgregarPersona WEB-INF/ web.xml Configuración del Servlet que manejará el servicio

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java

com.cursojava.testrpc.client Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java

Plugin GWT - RPC

Asynchronous Calls Server call synchronously: Code is not necessarily executed sequentially Server call synchronously: But if you fetch the data asynchronously:

Naming Standards A type is serializable and can be used in a service interface if the type: The type is primitive, such as char, byte, short, int, long, boolean, float, or double. The type an instance of the String, Date, or a primitive wrapper such as Character, Byte, Short, Integer, Long, Boolean, Float, or Double. The type is an enumeration. Enumeration constants are serialized as a name only; none of the field values are serialized. The type is an array of serializable types (including other serializable arrays). The type is a serializable user-defined class.

JSON JSON (JavaScript Object Notation - Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo. La simplicidad de JSON ha dado lugar a la generalización de su uso, especialmente como alternativa a XML en AJAX.  

JSON

JSON Un objeto es un conjunto desordenado de pares nombre/valor. Un objeto comienza con { (llave de apertura) y termine con } (llave de cierre). Cada nombre es seguido por : (dos puntos) y los pares nombre/valor están separados por , (coma).

JSON Un arreglo es una colección de valores. Un arreglo comienza con [ (corchete izquierdo) y termina con ] (corchete derecho). Los valores se separan por , (coma).

JSON Un valor puede ser una cadena de caracteres con comillas dobles, o un número, o true o false o null, o un objeto o un arreglo. Estas estructuras pueden anidarse.

JSON Una cadena de caracteres es una colección de cero o más caracteres Unicode, encerrados entre comillas dobles, usando barras divisorias invertidas como escape.

JSON Un número es similar a un número C o Java, excepto que no se usan los formatos octales y hexadecimales.

JSON vs XML

Ejercicio 1 Hacer una copia del sistema GestionAcademicaWeb llamándole GestionAcademicaWeb2 y agregar una llamada a un servicio RPC donde se le envíe el objeto curso y se imprima en el server-side los valores del curso. El nuevo servicio puede llamarse GuardarCurso. El método tendrá la siguiente firma: String guardarCurso(Curso curso); Probar la aplicación compilada en el Tomcat.

Ejercicio 1

Ejercicio 1

Ejercicio 1 Servicio Síncrono Servicio Asíncrono Implementación

Ejercicio 1