1 / 24

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

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

merv
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Arquitectura del groupware

  3. Arquitectura 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

  4. Comunicación entre usuarios Administración de vistas Administración de sesiones Control de Piso Control de accesos Administración de la información Arquitectura del groupware Al momento de construir aplicaciones colaborativas, hay que abordar una serie de problemas: [Eide97] Sistema Colaborativo

  5. Arquitectura 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

  6. Arquitectura 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.

  7. Arquitectura 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.

  8. Arquitectura del groupware 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.

  9. Ejemplo: Uso de micrófono • Política FIFO entre participantes • Política con prioridades (moderador) Arquitectura 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.

  10. Arquitectura 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.

  11. Construcción de groupware

  12. Construcción de groupware 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 aplicaciones colaborativas

  13. Construcción de groupware 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 P r o b l e m a Construcción de aplicaciones colaborativas

  14. 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 groupware Evolución en la construcción de groupware

  15. Construcció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.

  16. Sistemas “monolíticos”, desarrollados en un ú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 groupware

  17. Lenguajes Tcl/Tk C C++ Pascal Java · · · Groupkit NCSA Habanero JCE (Java Collaborative Environment) JETS (Java-Enabled Telecollaboration System) JSDT (Java Shared Data Toolkit) · · · Construcción de groupware Lenguajes para construir aplicaciones colaborativas

  18. Construcción de groupware Frameworks para construir aplicaciones colaborativas Frameworks Objetos NSTP (Notification Service Transfer Protocol) GroCo (Group Communications) MetaWeb things, places screen, EMS, message, event locations, sessions, users

  19. CGI’s applets servlets portlets oblets JAMM J2EE .NET · · · Aplicación Web Colaborativa HTML + Construcción de groupware Aplicaciones colaborativas en la Web

  20. Construcción de groupware Capas de Aplicaciones Colaborativas Presentación de datos y control de la interacción del usuario Interfaz capa de vistas Comunicación Contexto compartido capa de modelo Datos de la aplicación (objetos) Groupware: “Sistemas basados en computadoras que apoyan a un grupo de personas que trabajan en una tarea o meta común y que provee una interfaz a un contexto compartido” (Ellis, Gibbs and Rein, 1991)

  21. Comunicación y sincronización

  22. Comunicació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

  23. Comunicación y sincronización ... Y con esto la implementación de las comunicaciones • par a par • con servidor central

  24. Comunicació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

More Related