Diapositiva 1 - PowerPoint PPT Presentation

About This Presentation
Title:

Diapositiva 1

Description:

MiddleWare creado por COLLIDE (COLlaborative Learning in Intelligent Distributed ... resuelve el problema de los latecomers ya que este se envia completo ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 14
Provided by: broo58
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva 1


1
Thomas Pieper DCC, Universidad de Chile
Sincronización de Objectos Compartidos usando
MatchMaker a través de Web Services
2
MatchMaker
  • MiddleWare creado por COLLIDE (COLlaborative
    Learning in Intelligent Distributed Environment)
  • http//www.collide.info
  • Pensado para facilitar el desarrollo de
    aplicaciones colaborativas en Java
  • El desarrollador no necesita diseñar un
    protocolo de comunicaciones ni el servidor.
    MatchMaker también maneja la concurrencia
    mediante monitores de Java
  • Clientes comparten objetos, típicamente
    asociados a elementos de interfaces gráficas

3
MatchMaker
  • Arquitectura de Servidor Central clientes
    envían eventos al servidor y este los reparte al
    resto de los clientes
  • Servidor puede manejar varias sesiones
    simultáneamente. Cada sesión posee un árbol de
    sincronización
  • Tanto cliente como servidor tienen un árbol de
    sincronización que representa la lógica de la
    aplicación y mantiene el estado de la sesión
  • Clientes pueden crear sesión, unirse a una
    sesión existente, salir de una sesión y seguir
    trabajando offline, destruir una sesión

4
MatchMaker
  • El Árbol de Sincronización resuelve el problema
    de los latecomers ya que este se envia completo
    cuando un cliente se une a una sesión. Luego la
    sincronización es por eventos.
  • El Árbol de Sicronización permite también que
    hayan distintas versiones para un mismo cliente.
  • Ejemplo
  • Versión para alumno
  • Versión para Profesor
  • Versión para Palm
  • ETC

5
RMI
  • Versión más reciente de MatchMaker utiliza RMI
    como herramienta de comunicación
  • RMI (Remote Method Invocation) Implementación
    de CORBA exclusivo para aplicaciones Java.
  • Facilita la programación de aplicaciones en red
    a través del paradigma de objetos remotos y
    llamadas a procedimientos remotos (RPC).

6
RMI
  • En un esquema muy resumido
  • El servidor pone objetos accesibles desde la
    red

class Hello public String Hola()
return "Hola Mundo"
  • Un programa cliente crea una referencia a esos
    objetos

HelloInterface hello (HelloInterface)
Naming.lookup ("//localhost/Hello")
  • e invoca métodos de ese objeto remoto como si
    fuera local

String holamundo hello.Hola()
7
Web Services
El Web es a las Personas como Web Services es a
las Aplicaciones
  • Las personas sabemos leer las aplicaciones
    saben parsear
  • Ejemplo Consultar el nombre de una persona en
    el sitio del Registro Civil a través de su RUT
  • Web Services mensajería en XML usando SOAP
    (Simple Object Access Protocol) como protocolo de
    RPC y HTTP como capa de comunicaciones.

8
Web Services
  • Ejemplo de mensaje SOAP

lt?xml version'1.0' encoding'UTF-8'?gt ltSOAP-ENVE
nvelope xmlnsSOAP-ENV"http//www.w3.org/2001/
09/soap-envelope" xmlnsxsi"http//www.w3.org/
2001/XMLSchema-instance" xmlnsxsd"http//www.
w3.org/2001/XMLSchema"gt ltSOAP-ENVBodygt
ltns1getWeatherResponse
xmlnsns1"urnexamplesweatherservice"
SOAP-ENVencodingStyle"http//www.w3.org/2001/09/
soap-encoding"gt ltreturn
xsitype"xsdint"gt65lt/returngt
lt/ns1getWeatherResponsegt lt/SOAP-ENVBodygt lt/SO
AP-ENVEnvelopegt
9
Web Services
  • Ejemplo de Web Service API de Google
  • http//www.google.com/api
  • http//www.googlefight.com
  • WSDL Web Service Description Languaje.
    Documento XML que describe como podemos
    comunicarnos con el Web Service
  • WSDL Describe los métodos disponibles, los
    argumentos que reciben y lo que retornan
  • Ejemplo de documento WSDL
  • http//api.google.com/GoogleSearch.wsdl

10
Apache AXIS
  • AXIS Apache EXtensible Interaction System
  • Framework para manejar SOAP y Web Services. Hay
    versiones para Java y C
  • La versión para Java se instala como si fuera
    una aplicación web (conjunto de ServLets) dentro
    de un contenedor web.
  • Filosofía de AXIS Crear web services de manera
    tan fácil como arrastrar y soltar clases Java
    dentro del contenedor web.

11
Apache AXIS
  • Ejemplo de Web Service

public class Calculadora public int sumar
(int i1, int i2) return i1 i2
public int restar (int i1, int i2)
return i1 - i2
  • Para programar Web Services más complejos, AXIS
    provee herramientas que facilitan mucho su
    desarrollo Java2WSDL y WSDL2Java

12
Apache AXIS
  • Ejemplo de cliente (sin AXIS)

public class CalcClient public static void
main (String args) throws Exception
String endpoint "http//localhost8080/axis/Calc
uladora.jws" Integer i1 new
Integer("1") Integer i2 new
Integer("2") Service service new
Service() Call call (Call)
service.createCall() call.setTargetEndpoin
tAddress (new java.net.URL(endpoint) )
call.setOperationName ("sumar")
call.addParameter( "op1", XMLType.XSD_INT,
ParameterMode.IN ) call.addParameter(
"op2", XMLType.XSD_INT, ParameterMode.IN )
call.setReturnType( XMLType.XSD_INT )
Integer resultado (Integer) call.invoke (new
Object i1, i2 ) System.out.println
("Resultado " resultado)
13
Apache AXIS
  • Ejemplo de cliente (con AXIS)

public class CalcClient public static void
main (String args) throws Exception
CalculadoraService service new
CalculadoraServiceLocator ("http//localhost8080/
axis/Calculadora.jws") Calculadora calc
service.getcalculadora() int resultado
calc.sumar (1, 2) System.out.println
("Resultado " resultado)
Write a Comment
User Comments (0)
About PowerShow.com