MatchMaker - PowerPoint PPT Presentation

About This Presentation
Title:

MatchMaker

Description:

patr n Model-View-Controler permite agregar colaboraci n f cilmente a aplicaciones stand-alone ... el cliente elige si quiere recibir o no el evento que env a ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 16
Provided by: dccUc
Category:
Tags: matchmaker | elige

less

Transcript and Presenter's Notes

Title: MatchMaker


1
MatchMaker
  • A Framework to Support
  • Collaborative Java Applications

Jens Hardings P.
2
Introducción
  • razones para un Groupware Toolkit
  • número de computadores conectados a redes en
    educación es creciente.
  • ayudar a desarollaradores a extender sus
    aplicaciones stand-alone hacia aplicaciones
    colaborativas
  • basado en RMI
  • patrón Model-View-Controler permite agregar
    colaboración fácilmente a aplicaciones
    stand-alone
  • desarrollado en paralelo a herramientas de
    colaboración (CoolModes, FreeStyler, Noteit)
  • MatchMaker combina dos paradigmas para desarrollo
    de software colaborativo
  • arquitectura replicada
  • servidor central

3
  • Se comparte el modelo que maneja cada aplicación
  • Cada participante tiene una copia completa del
    modelo

4
MatchMaker Framework
  • servidor centralizado mantiene los modelos
    compartidos en árboles de sincronización
  • cada cliente registra listeners para sub-árboles
  • creación de objetos
  • cambios a objetos
  • eliminación de objetos
  • ejecución de acciones sobre objetos
  • cada cliente puede modificar el árbol de acuerdo
    con las acciones del usuario
  • el cliente elige si quiere recibir o no el evento
    que envía
  • se permite sincronizar solo una parte del árbol

5
SyncListener
java.io.Serializable
public interface SyncListener extends
java.util.EventListener public void
objectChanged(SyncEvent event) public void
objectDeleted(SyncEvent event) public void
objectChanged(SyncEvent event) public void
actionExecuted(SyncActionEvent event)
6
Client
SyncLabel getSessions() throws
NotBoundException, RemoteException SyncLabel
joinSession(SyncLabel session) throws
RemoteException , UnknownHostException
SyncLabel createSession(SyncLabel session) throws
RemoteException , UnknownHostException
void leaveSession() throws RemoteException
void destroySession(SyncLabel session) throws
RemoteException SyncTree readSyncTree(SyncLabe
l label) void addSyncListener(SyncLabel
label,SyncListener listener) void
removeSyncListener(SyncLabel label,SyncListener
listener) void changeObject(SyncLabel label,
Serializable object, boolean sendToAll) void
deleteObject(SyncLabel label, boolean
sendToAll) void execAction(SyncLabel label,
String action, Serializable argument ,boolean
sendToAll)
7
Árbol de Sincronización
8
Árbol de Sincronización
9
Árbol de Sincronización
10
Logging
  • logging client es un cliente adicional con un
    listener en la raíz del árbol de sincronización
  • acciones pueden ser agrupadas (atomicity)
  • logfiles son escritos en XML
  • si el objeto permite ser serializado en XML, se
    agrega en XML. De lo contrario, se escribe como
    byte array
  • usos de logging client
  • replay
  • análisis posterior del trabajo colaborativo

11
Replay
  • logfiles son parseados
  • cliente MatchMaker adicional que re-inyecta las
    acciones al servidor
  • interfaz de usuario para administrar la
    repetición de sesiones
  • dos modos de repetición
  • por tiempo (incluyendo repetición rápida)
  • paso a paso, usando el mecanismo de agrupación
    del cliente de logging

12
Undo / Redo
  • manejador de Undo/Redo es un cliente adicional
    conectado a la raíz del árbol de sincronización
  • permite undo/redo en toda la sesión
  • diferentes modos de operación de undo/redo
  • última acción
  • últimas n acciones
  • todas las acciones dentro de los n últimos
    segundos
  • el sistema mantiene una historia de acciones
    dehechas que permite rehacerlas

13
Persistencia
  • persistencia permite
  • asegurar la permanencia de los datos durante la
    ejecución
  • permitir reinicio del servidor sin perder datos
  • Persistencia thread adicional que almacena el
    árbol de sincronización cada n segundos
  • se guardan los datos de manera independiente del
    logging
  • se puede simular persistencia a partir de los
    logfiles si el servidor no fue iniciado en modo
    persistente

14
Arquitectura
15
Trabajo Futuro
  • modelo transaccional y extensión del modelo de
    persistencia
  • comunicación entre servidores mediante SOAP
  • comparar diferentes enfoques para seguridad de
    datos
  • implementación de criptografía asimétrica para
    asegurar la comunicación de los datos
Write a Comment
User Comments (0)
About PowerShow.com