MatchMaker A Framework to Support Collaborative Java Applications Jens Hardings P.

Slides:



Advertisements
Presentaciones similares
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Advertisements

Arquitectura Cliente Servidor
Internet y tecnologías web
Seminarios Técnicos 1 Microsoft Windows Small Business Server 2003 R2 Volumen I Andrés de Pereda – José Fuentes Microsoft Certified Professionals.
Bienvenido al evento online de Microsoft Small Business Server 2003 R2 (Volumen II) Andrés de Pereda.
Red Social: “Un millón de Amigos”.
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Práctica II: Java RMI.
Desarrollo de un laboratorio para la enseñanza, diseño y desarrollo de servicios móviles abiertos Autor: D. Mario de Molina Gómez Tutor: D. Francisco Javier.
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
INFOPATH.
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
75.10 Técnicas de Diseño Grupo E
Introducción a Remoting
RMI Remote Method Invocation
MICROSOFT OUTLOOK.
PROGRAMACION ORIENTADA
ARIS-G: Software de Monitoreo Geomecánico de Superficies
Agilidad para su negocio ®
Objetos Distribuidos – Aplicaciones RMI
INFOPATH 2010 DANIELA CHEDRAUI.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Universidad de La Coruña Escuela Universitaria Politécnica Control de Procesos por Computador Diego Cabaleiro 24 de Noviembre 2009.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
Gestión de Contenido Electrónico CONCEPTOS DE INFOPATH De Andrés Concha Bucaram.
Ruben Chonlong Alvarez. Que es InfoPath Microsoft Oficce Infopath 2010 ayuda a las personas a recopilar información de sus clientes y socios con herramientas.
Patrón Observador Un patrón de diseño es una descripción de clases y objetos comunicándose entre si adaptada para resolver un problema de diseño general.
Sincronización de Objectos Compartidos usando MatchMaker a través de Web Services Thomas Pieper DCC, Universidad de Chile.
Invocación de Métodos Remotos RMI: Remote Method Invocation
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Arquitectura de una aplicación
María Gertrudis López1 Yosly Hernández1 Cira Beleño1 Doris Pernalete2
BASE DE DATOS BY: Julián Villar Vázquez.
Michael Ángelo De Lancer Franco Michael Ángelo De Lancer Franco
Sistema Organizador de Invitaciones, Eventos y Memos basado en una aplicación Cliente – Servidor SOIEM TESIS DE GRADO FIEC – ESPOL 2007 Christian Vulgarin.
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Creación de un dominio Windows  Descripción general Introducción a la creación de un dominio de Windows 2000 Instalación de Active Directory Proceso.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Almacenamiento virtual de sitios web “HOST VIRTUALES” Tema 4 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto.
DB2 UNIVERSAL DATABASE.
Mensajería cliente-servidor en Flex y Java
LOGO e-Learning Desktop Integración de RIA’s a objetos de Aprendizaje Alvaro Rodríguez, Darvin Orozco, Rocael Hernández Universidad Galileo {alvrodriguez,
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Almacenamiento virtual de sitios web “HOSTS VIRTUALES”
Construcción de Sistemas Colaborativos (Arquitectura y construcción)
Almacenamiento virtual de sitios web: «Hosts» virtuales. Jesús Torres Cejudo.
Sistemas distribuidos Expositores Carlos Javier. ¿Que es un sistema distribuido? ¿Que es un sistema distribuido?
FACULTAD: CIENCIAS ECONÓMICAS Y EMPRESARIALES ASIGNATURA: GESTIÓN DE CONTENIDO ELECTRÓNICO TÍTULO: TINFOPATH - VENTAJAS Y USO. AUTORA: MARIA DANIELA TOMALÁ.
Microsoft InfoPath ESTEFANIA FIALLO.
Manual violento de Navicat
Actividad 20. Métodos de prueba en entornos especializados M.C. Juan Carlos Olivares Rojas Syllabus June, 2009.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUÍDOS ALUMNOS: MARIANA MIGNÓN RÉDING CARLOS ANTONIO CARRASCO MARTÍNEZ PROFESOR: DR. JOSÉ BERNARDO PARRA.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
BASE DE DATOS DISTRIBUIDAS
MICROSOFT OUTLOOK.
AFM – Web File Manager Versión 5. Novedades técnicas – Forma de Implementación Siguiendo última tecnología de Microsoft: Framework.NET 3.5 Implementación.
• SQL Server Integration Services SSIS
“Está diseñado como la nueva generación en comunicación a través de Internet”
UD09 Sergio Lucas Madrid. Es un protocolo de Internet para sincronizar los relojes de los sistemas informáticos a través del ruteo de paquetes en redes.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
Introducción a las redes de computadores
Por: Jorge Aguirre.  Microsoft InfoPath es una aplicación usada para desarrollar formularios de entrada de datos basados en XML.  Su primera publicación,
WINDOWS SERVER 2008 r2 ADMINISTRACION DE RECURSOS: Con el Administrador de recursos del sistema de Windows del sistema operativo Windows Server® 2008 R2,
Conociendo el modelo Cliente-Servidor
Módulo 4: Administrar el acceso a recursos
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
Transcripción de la presentación:

MatchMaker A Framework to Support Collaborative Java Applications Jens Hardings P.

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

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

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

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) }

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);

Árbol de Sincronización Root Workspace 1Workspace 2 DrawAreaGraph DrawArea

Árbol de Sincronización Root Workspace 1Workspace 2 DrawAreaGraph DrawArea

Árbol de Sincronización Root Workspace 1Workspace 2 DrawAreaGraph DrawArea

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

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

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

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

Arquitectura ROOT Workspace 1Workspace 2Graph DrawArea Graph DrawArea Logfiles Logging Client Undo/Redo Logging Client Persistence Thread

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