Upload
merv
View
41
Download
4
Embed Size (px)
DESCRIPTION
Universidad de Chile Departamento de Ciencias de la Computación. Construcción de Sistemas Colaborativos (Arquitectura y construcción). Arquitectura del groupware. Arquitectura del groupware. Arquitectura:. Colaboración a través de un workspace común Comunicación entre usuarios - PowerPoint PPT Presentation
Citation preview
Construcción de Construcción de Sistemas ColaborativosSistemas Colaborativos
(Arquitectura y construcción)(Arquitectura y construcción)
Universidad de ChileDepartamento de Ciencias de la Computación
Arquitectura del groupwareArquitectura del groupware
Arquitectura del groupwareArquitectura del groupware
Arquitectura:
• Colaboración a través de un workspace común• Comunicación entre usuarios• Percepción de datos y de usuarios (awareness)
• Protocolos de acceso a la información• Roles de los usuarios
Arquitectura del groupwareArquitectura del groupware
Al momento de construir aplicaciones colaborativas, hay que abordar una serie de problemas: [Eide97]
SistemaColaborativo
Controlde
accesos
Administraciónde la
información
Controlde
Piso
Administraciónde
vistasAdministración
desesiones
Comunicaciónentre
usuarios
Arquitectura del groupwareArquitectura del groupware
Administración de sesiones
• Los grupos interactúan en una sesión de trabajo
• Ejemplo: un grupo de usuarios editando un documento en un editor compartido
• Administrar sesiones implica:
- Iniciar una sesión
- Terminar una sesión
- Permitir el ingreso y salida de usuarios
- Listar de las distintas sesiones
Arquitectura del groupwareArquitectura del groupware
Control de Accesos
• Ingreso al sistema
• Restricción de operaciones sobre ciertos usuarios.
• Uso de roles (rol: conjunto de responsabilidades dentro de la colaboración).
• Con los roles se controlan los derechos de acceso a los distintos objetos.
• Se debe considerar la granularidad de los objetos restringidos. Ejemplo: palabra, párrafo, sección, documento.
Arquitectura del groupwareArquitectura del groupware
Comunicación entre usuarios
• El intercambio de mensajes entre usuarios es fundamental para el trabajo en grupo.
• La comunicación es quien da a los usuarios la sensación de estar trabajando en grupo.
• Según la aplicación, se debe proveer comunicación sincrónica, asincrónica o ambas.
Administración de la información
• A medida que trabajan, los miembros del grupo van produciendo objetos de información.
• Esta información se conoce como memoria grupal, la cual debe ser administrada (crear, modificar, borrar).
• Los SABD tienen un enfoque totalmente opuesto: hacen creer al usuario que él es el único usuario usando la BD.
• En los sistemas colaborativos, cuando dos usuarios acceden a un mismo objeto, debe hacerse notar, para fomentar la colaboración.
Arquitectura del groupwareArquitectura del groupware
Arquitectura del groupwareArquitectura del groupware
Políticas de control de piso
• Se debe definir qué acción tomar cuando un objeto compartido es requerido por dos o más usuarios al mismo tiempo.
• Una misma aplicación puede utilizar políticas de control de piso diferentes.
S 1S 2S 3
S 4
Ejemplo: Uso de micrófono
– Política FIFO entre participantes
– Política con prioridades (moderador)
Arquitectura del groupwareArquitectura del groupware
Administración de vistas
• Los usuarios con distintos roles tienen vistas distintas de los datos de la memoria grupal.
• Ejemplo: Un alumno consulta sus notas sin derecho a modifi-carlas. En cambio, si un profesor hace la misma consulta, probablemente sí tiene derecho a modificarlas.
• El desarrollador debe preocuparse por administrar estas vistas.
Construcción de groupwareConstrucción de groupware
Construcción de groupwareConstrucción de groupware
Construcción deaplicacionescolaborativas
Sistemas Distribuidos
Comunicaciones
Interfaces Humano-Computador(interfaz humano-humano mediada por computador)
Inteligencia Artificial
Teoría Social
P r o b l e m a
Construcción de groupwareConstrucción de groupware
Construcción deaplicacionescolaborativas
P r o b l e m a
Administración de sesiones
Control de accesos
Comunicación entre usuarios
Administración de la información
Políticas de control de piso
Administración de vistas
Construcción de groupwareConstrucción de groupware
Evolución en la construcción de groupware
Primera generación: Sistemas Monolíticos
• La creación e integración de módulos era hecha íntegramente por el programador.
• Se usaba un único lenguaje de programación (por lo general C).
Segunda generación: Herramientas que extienden lenguajes
• Agregan componentes de colaboración a un lenguaje ya existente. Por ejemplo GroupKit para Tcl/Tk. Bibliotecas para C
• Facilita la programación.
• El programador está “atado” al lenguaje.
Construcción de groupwareConstrucción de groupware
Tercera generación: Plataformas orientadas a objetos
• Plataformas o frameworks compuestos por clases de objetos que encapsulan algunas funcionalidades propias de aplicaciones colaborativas.
• Permite la reutilización de código.
Cuarta generación: Plataformas orientadas a componentes• Aprovechan los avances en las áreas de objetos distribuidos
(CORBA, DCOM, RMI) y la programación por componentes (Visual C++, Visual Basic, JavaBeans).
• Componentes independientes del lenguaje.
• Entorno de programación visual.
Construcción de groupwareConstrucción de groupware
Sistemas “monolíticos”, desarrollados enun único lenguaje (generalmente C)
Apoyo de herramientas que “extienden”algún lenguaje y proveen meyor funcionalidad
Plataformas orientadas a objetos
Objetos distribuidos y componentes
Primera generación
Segunda Generación
Tercera Generación
Cuarta Generación
Construcción de groupwareConstrucción de groupware
Lenguajes
Tcl/TkC
C++PascalJava
···
Groupkit
NCSA Habanero JCE (Java Collaborative Environment) JETS (Java-Enabled Telecollaboration System) JSDT (Java Shared Data Toolkit)
···
Lenguajes para construir aplicaciones colaborativas
Construcción de groupwareConstrucción de groupware
Frameworks
NSTP(Notification ServiceTransfer Protocol)
GroCo(Group Communications)
MetaWeb
things, places
screen, EMS, message, event
locations, sessions, users
Objetos
Frameworks para construir aplicaciones colaborativas
Construcción de groupwareConstrucción de groupware
Aplicaciones colaborativas en la Web
+
CGI’sappletsservletsportletsobletsJAMMJ2EE.NET · · ·
HTML Aplicación WebColaborativa
Construcción de groupwareConstrucción de groupware
Capas de Aplicaciones Colaborativas
capa de vistas
capa de modelo
Interfaz
Contextocompartido Datos de la aplicación (objetos)
Presentación de datos y controlde la interacción del usuario
Groupware: “Sistemas basados en computadoras que apoyan a un grupo de personas quetrabajan en una tarea o meta común y que provee una interfaz a un contexto compartido”
(Ellis, Gibbs and Rein, 1991)
Comunicación
Comunicación y sincronizaciónComunicación y sincronización
Comunicación y sincronizaciónComunicación y sincronización
Las necesidades de comunicación entre programas ...
• Síncrono o asíncrono.
• Orientado a la comunicación o al producto.
... definirán cuál es la arquitectura más apropiada ...
• replicada
• semi replicada
• centralizada
Comunicación y sincronizaciónComunicación y sincronización
... Y con esto la implementación de las comunicaciones
• par a par
• con servidor central
Comunicación y sincronizaciónComunicación y sincronización
... Y con esto la implementación de las comunicaciones
• par a par
• con servidor central
... definirán cuál es la arquitectura más apropiada ...
• replicada
• semi replicada
• centralizada