24
Construcción de Construcción de Sistemas Sistemas Colaborativos Colaborativos (Arquitectura y (Arquitectura y construcción) construcción) Universidad de Chile Departamento de Ciencias de la Computación

Construcción de Sistemas Colaborativos (Arquitectura y construcción)

  • 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

Page 1: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 2: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

Arquitectura del groupwareArquitectura del groupware

Page 3: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 4: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 5: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 6: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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.

Page 7: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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.

Page 8: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 9: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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)

Page 10: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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.

Page 11: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

Construcción de groupwareConstrucción de groupware

Page 12: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 13: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 14: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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.

Page 15: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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.

Page 16: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 17: Construcción de Sistemas Colaborativos (Arquitectura y construcció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

Page 18: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 19: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

Construcción de groupwareConstrucción de groupware

Aplicaciones colaborativas en la Web

+

CGI’sappletsservletsportletsobletsJAMMJ2EE.NET · · ·

HTML Aplicación WebColaborativa

Page 20: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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

Page 21: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

Comunicación y sincronizaciónComunicación y sincronización

Page 22: Construcción de Sistemas Colaborativos (Arquitectura y construcció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

Page 23: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

Comunicación y sincronizaciónComunicación y sincronización

... Y con esto la implementación de las comunicaciones

• par a par

• con servidor central

Page 24: Construcción de Sistemas Colaborativos (Arquitectura y construcción)

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