Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMaría Pilar Villanueva Saavedra Modificado hace 10 años
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 MatchMaker Server MmClient 1 MmClient 2 MmClient 3 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(SyncLabel 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 Root Workspace 1Workspace 2 DrawAreaGraph DrawArea
8
Árbol de Sincronización Root Workspace 1Workspace 2 DrawAreaGraph DrawArea
9
Árbol de Sincronización Root Workspace 1Workspace 2 DrawAreaGraph DrawArea
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 ROOT Workspace 1Workspace 2Graph DrawArea Graph DrawArea Logfiles Logging Client Undo/Redo Logging Client Persistence Thread
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.