Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porFaramundo Casares Modificado hace 10 años
1
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
2
Contenido Llamadas al servidor AJAX Client Side vs Server Side
Plugin GWT - RPC Asynchronous Calls JSON (JavaScript Object Notation)
3
Llamadas al servidor Ajax
4
Client-side vs Server-side
TestGWT.java Servidor Web JScript
5
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.
6
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)
7
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.
8
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)
9
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.
10
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)
11
Ejemplo Jose Personas 1 – Pedro 2 – Diego 3 – Juan ? – ???
Servidor Web Personas 1 – Pedro 2 – Diego 3 – Juan ? – ???
12
Ejemplo Servidor Web 4 Personas 1 – Pedro 2 – Diego 3 – Juan 4 – Jose
13
Ejemplo New GWT Java Project: TestRPC New GWT Module: TestRPCmodule
Package Name: com.cursojava.testrpc
14
Servicio: AgregarPersona
Ejemplo Servicio: AgregarPersona Pantalla
15
Servicio: AgregarPersona
Ejemplo Servicio: AgregarPersona Interface síncrona del servicio Client -side
16
Servicio: AgregarPersona
Ejemplo Servicio: AgregarPersona Interface Asíncrona del servicio Client -side
17
Servicio: AgregarPersona
Ejemplo Servicio: AgregarPersona Implementación del servicio en Server-side
18
Servicio: AgregarPersona
Ejemplo Servicio: AgregarPersona Contenedor de personas
19
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client Interface síncrona del servicio Client -side AgregarPersonaService.java
20
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client Interface Asíncrona del servicio Client -side AgregarPersonaServiceAsync.java
21
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client Interface Asíncrona del servicio Client -side AgregarPersonaServiceAsync.java
22
Configuración del Servlet que manejará el servicio
Ejemplo Servicio: AgregarPersona WEB-INF/ web.xml Configuración del Servlet que manejará el servicio
23
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java
24
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java
25
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java
26
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java
27
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java
28
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java
29
com.cursojava.testrpc.client
Ejemplo Servicio: AgregarPersona com.cursojava.testrpc.client TestRPCmodule.java
30
Plugin GWT - RPC
31
Asynchronous Calls Server call synchronously:
Code is not necessarily executed sequentially Server call synchronously: But if you fetch the data asynchronously:
32
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.
33
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.
34
JSON
35
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).
36
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).
37
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.
38
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.
39
JSON Un número es similar a un número C o Java, excepto que no se usan los formatos octales y hexadecimales.
40
JSON vs XML
41
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.
42
Ejercicio 1
43
Ejercicio 1
44
Ejercicio 1 Servicio Síncrono Servicio Asíncrono Implementación
45
Ejercicio 1
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.