La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Comunicación con el servidor, RPC GWT Google Web Toolkit Prof. Ing"— Transcripción de la presentación:

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


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

Presentaciones similares


Anuncios Google