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

Slides:



Advertisements
Presentaciones similares
Programación Orientada a Objeto 1
Advertisements

Arquitecturas de administración de redes y sus submodelos
Red Social: “Un millón de Amigos”.
Introducción a Moodle.
Modelando aplicaciones
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Programación Avanzada en Internet
DIRECTOR: ING. DIEGO MARCILLO CODIRECTOR: ING. JAIME ANDRANGO
Carlos Rojas Kramer Universidad Cristóbal Colón
Servicios Web.
Arquitectura Orientada a Servicios (SOA)
Arquitectura CLARO-TECNOTREE
"java del lado del servidor" Servlet y JSP Java Server Pages.
SILVIA BEATRIZ GAVILANES NARANJO KELLY VERÓNICA CARVAJAL CUJI
Términos Básicos y Conceptos
IMPLEMENTACIÓN DE ARQUITECTURA EMPRESARIAL
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
Yeimi Constanza Patiño
COLOQUIO DE EDUCACIÓN A DISTANCIA. MODELOS EDUCATIVOS Y ORGANIZACIONALES 20 DE ENERO DE El Modelo educativo y organizacional de la educación a distancia.
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.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Tecnologías para el desarrollo de aplicaciones Web
MAIRA LUCIA ORTIZ CAMILO ORTEGON DIAZ CRISTIAN CAMILO VARGAS
UNIVERSIDAD DE LA FF. AA. ESPE CARRERA DE INGENIERIA DE SISTEMAS PROYECTO DE TESIS : “Análisis, diseño, construcción e implementación de una Guía Interactiva.
Sincronización de Objectos Compartidos usando MatchMaker a través de Web Services Thomas Pieper DCC, Universidad de Chile.
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.
Ingeniería de Software
Arquitectura de una aplicación
DISEÑO DE SOFTWARE 1ª. Parte
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
María Gertrudis López1 Yosly Hernández1 Cira Beleño1 Doris Pernalete2
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Características de la interfaz de desarrollo
Taller SIU-Mapuche Universidad Nacional del Comahue Neuquén, 6 y 7 de Noviembre de 2008 Consorcio SIU.
Desarrollo de aplicaciones para ambientes distribuidos
Tecnología para la Comunidad
Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -
Servidores Conceptos Generales.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Son la base para la búsqueda de soluciones o problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
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.
Sistema de Administración de Iglesias
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Araí: integración e interoperabilidad de soluciones SIU
FRAMEWORK VS Código fuente
Mensajería cliente-servidor en Flex y Java
Ing. de SW Basada en Componentes
Ing. en Sistemas de Información
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION CLIENTE /
Aplicaciones Web de Servidor
Diseño Arquitectonico
Modelo de 3 capas.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Diseño de Sistemas.
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
Universidad de Carabobo
BLACKBOARD INTEGRANTES: Fernanda Reséndiz Michelle Ávila Michelle Martínez Kenia Martínez Denisse Salas.
Gestión de proyectos fin de carrera
Instituto Tecnológico de puebla Materia Desarrollo de aplicaciones para ambientes distribuidos Catedrático Dr. José Bernardo Parra Alumnos Cesar Mauricio.
SISTEMAS DE GESTIÓN DE CURSOS DE DISTRIBUCIÓN LIBRE
Introduccion Ambiente declarativo para construir aplicaciones web. Montado sobre SW abierto. Orientado a grupos pequeños de desarrolladores. Proyectos.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Construcción de Sistemas Colaborativos (Arquitectura y construcción)
Transcripción de la presentación:

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 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 groupware Al momento de construir aplicaciones colaborativas, hay que abordar una serie de problemas: [Eide97] Comunicación entre usuarios Administración de vistas Administración de sesiones Sistema Colaborativo Control de accesos Control de Piso Administración de la información

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

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.

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.

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.

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

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.

Construcción de groupware

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

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

Construcció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 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 groupware 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 Lenguajes para construir aplicaciones colaborativas 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 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

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

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)

Comunicación y sincronización

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

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

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