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

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Colaborativos (Arquitectura y construcción)
Advertisements

Introducción Framework 3.0. Introducción Junto con Windows Vista se libera al mercado una serie de tecnologías para desarrolladores de software que cambiarán.
María Fernanda González Aguilar 2°F. ¿Qué es una plataforma educativa virtual?  Una plataforma virtual, es un conjunto de aplicaciones informáticas de.
1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011.
VULCANO: Forja Open Source para el Software del Futuro.
Sistema computacional Por Salvador Aguilar Gómez.
Gestión de entornos de portales. IBM Software Group | Tivoli software Diferentes posibilidades de gestión de portales  Diagnósticos – ITCAM for WebSphere.
PRESENTACIÓN DRUPAL Versión 0.1 Por Ricardo Chang.
1 Universidad Del Caribe Telemática Sistemas Operativos Distribuidos y de Tiempo Real “Modelos de Sistemas” Profesor: Joel Antonio Trejo Sánchez Integrantes:
BASE DE DATOS Reingeniería de Procesos. Modelo de BPR Definición del Negocio Refinamiento e instanciación Evaluación de procesos Especificación y diseño.
Es un visor y editor de documentos en línea a través del navegador web. Permite crear, compartir y editar presentaciones, hojas de cálculo, archivos de.
Desarrollo de un Laboratorio remoto-virtual para la enseñanza de cursos de Ingeniería Ing. Angelo Velarde Profesor Auxiliar Ingeniería de las Telecomunicaciones.
San Juan Bautista Tuxtepec, Oaxaca a 01 de Septiembre de 2016 INSTITUTO TECNOLÓGICO de Tuxtepec PROGRAMACION EN AMBIENTE CLIENTE-SERVIDOR CORBA PRESENTA:
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
La Ingeniería de Sistemas
Plataforma de administración para congresos
El Lenguaje de Modelación Unificado
Capítulo 2: Tecnologías para la creación de sitios web
Propuesta de Servicios Profesionales
11 de enero PFC 2016 Proyecto Final de Carrera – 2015 Semestre 2 – Oscar Escudero Sanchez Andorra la Vella - Andorra Copyright © 2016 Adrián Chavero Ramos.
INTEGRACIÓN DE LAS TECNOLOGÍAS EN SISTEMAS
PLATAFORMA DE TECNOLOGÍAS E INFORMACIÓN SISTEMAS DISTRIBUIDOS.
Manejo Básico de Google Drive
Ingeniería de Software
Seminarios Virtuales Mayo, 2017.
MOODLE® Implementación de una experiencia en Enseñanza Virtual
¿Qué son las Plataformas?.
“Aprender y enseñar en colaboración”
Evolución de paradigmas y lenguajes de Programación
Sistemas Distribuidos
Manejo Básico de PREZI Junio, 2017.
GROUPWARE Software de trabajo colaborativo en redes.
Tópicos de bases de datos
Diseño Distribuido de una Arquitectura de Software
Estudio de la interacción humano-máquina
Tema 3. Lenguaje unificado de modelado UML
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
Tecnología de la Información Software
Definición de un Sistema Distribuido
Tecnología de la Información Profesora Ariana Rosenthal Software
Sistemas Operativos Unidad I Introducción.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
MDA (Model Driven Architecture)
QUE ES EL SOFTWARE Es un conjunto de programas de computo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones.
Ecosistema abierto para la representación espacial de sistemas de información IDESAN, caso de uso aplicado a la gestión sanitaria en la Conselleria de.
TIC TECNOLOGIAS DE LA INFORMACION Y LA COMUNICACION
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
DISEÑO WEB Sesion 1.
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
PRESENTADO POR: BRAIAM YESID USECHE EDWIN ANDRES HIDALGO
Java Enterprise edition
INTEGRANTES HECTOR ACOSTA VERNI PARRALES JUAN CARLOS CRIOLLO
Servidor de Reportes basado en Tecnología Java y XML
GRUPO PIZZA HUT HUBER SALAZAR JUAN CARLOS CRIOLLO JUAN CAMACHO HECTOR ACOSTA CRISTHIAN ARMIJOS VERNI PARRALES.
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Spring Framework.
Arquitectura Aplicaciones Web
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
PARAMETROS PARA EL DISEÑO DE CONTENIDOS EDUCATIVOS DIGITALES
SOFTWARE PRESENTADO POR: THE APPLE. ¿QUÉ ES LA INGENIERÍA DE SOFTWARE ? La Ingeniería de Software es una disciplina de la Ingeniería que concierne a todos.
LOS SISTEMAS OPERATIVOS MENÚ SISTEMAS OPERATIVOS Introducción Definición Historia Funciones Tipos S.O. Algunos Existentes Conclusiones Referencias.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
PROGRAMACIÓN BÁSICA CONCEPTOS BÁSICOS Software. TEMAS:  Software y sus funciones  Tipos de Software  Software de Sistemas  Software de Aplicación.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
Estructura de los Sistemas Operativos
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
“ INTEGRACIÓN “ A DISTANCIA. “ INTEGRACIÓN “ A DISTANCIA. Sistemas CONFIABLES, para el control……
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 repositorio común Comunicación entre usuarios Percepción de datos y de usuarios 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 - Solicitar listas de las distintas sesiones

Arquitectura del groupware Control de Accesos Ingreso al sistema (control macro). 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 (awareness) 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. 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 ¿Cómo podemos construir una aplicación colaborativa en la Web? + CGI’s applets servlets displets oblets JAMM · HTML Aplicación Web Colaborativa

Construcción de groupware ¿Cómo podemos construir una aplicación colaborativa? 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 ¿Cómo podemos construir una aplicación colaborativa? Frameworks Objetos NSTP (Notification Service Transfer Protocol) GroCo (Group Communications) MetaWeb things, places screen, EMS, message, event locations, sessions, users

Construcción de groupware Capas de Aplicaciones Colaborativas capa de vistas capa de modelo Interfaz Contexto compartido Datos de la aplicación (objetos) Presentación de datos y control de la interacción del usuario 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 ... 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 ... definirán cuál es la arquitectura más apropiada ... replicada semi replicada centralizada