• No se han encontrado resultados

Clasificación de los sistemas colaborativos

2.2  Sistemas colaborativos

2.2.1  Clasificación de los sistemas colaborativos

Una de las clasificaciones más conocidas es la matriz espacio­tiempo,  Tabla 1.

Tiempo \ Espacio Mismo lugar Diferente lugar

Síncrono Interacción cara a cara Interacción síncrona  distribuida

Asíncrono Interacción asíncrona Interacción asíncrona  distribuida

Tabla 1: Matriz Espacio­Tiempo

En los sistemas síncronos la colaboración ocurre en un espacio de tiempo  muy cercano y se suele hablar de colaboración en tiempo real, mientras que  en   los   asíncronos   no   es   necesaria   esta   cercanía   en   el   tiempo   y   la 

3 RTP es un protocolo estandarizado de internet, STD­64, definido originalmente como  RFC­1889 y actualmente como RFC­3550: http://tools.ietf.org/html/3550 4 H.323 es una recomendación ITU­T que define los protocolos para sesiones de  comunicación de audio y vídeo a través de un red basada en paquetes. Actualmente se  utiliza fundamentalmente en aplicaciones de Voz sobre IP (VoIP) 5 SIP es un protocolo estándar IETF para definir sesiones multimedia que pueden incluir  audio, vídeo, mensajes instantáneos o realidad virtual. Se utiliza sobre todo en  aplicaciones VoIP 6 Este protocolo es una extensión del ITU­T T.128 APPLICATION SHARING PROTOCOL

colaboración   transcurre   en   momentos   más   distantes.   En   el   otro   eje,   el  espacio o lugar, tenemos sistemas en los que la colaboración ocurre en un  mismo lugar o entre usuarios que se encuentran en lugares distantes.

Un ejemplo de colaboración síncrona pueden ser los sistemas de soporte  para   conferencias,   como   las   "electronic   meeting   rooms"   en   las   que   la  interacción ocurre en un mismo lugar; o los sistemas para teleconferencias,  en donde la interacción ocurre entre lugares que pueden ser distantes. 

Como sistemas asíncronos podemos tener los tablones de noticias físicos  tradicionales,   en   los   que   la   interacción   ocurre   en   un   mismo   lugar,   o  electrónicos,   en   los   que   la   interacción   puede   ser   remota.   También   son  destacables   dentro   de   los   sistemas   asíncronos   distribuidos   el   correo  electrónico o los sistemas de gestión del flujo de trabajo, o workflow.

Algunos   sistemas   colaborativos   no   pueden   ser   clasificados   en   una  categoría   concreta   de   esta   clasificación,   ya   que   hay   distintos   grados   de  colaboración y muchos sistemas admiten de forma integrada la colaboración  síncrona   y   asíncrona.   Actualmente   se   tiende   a   construir   sistemas   que  soporten colaboración del tipo "En Cualquier Momento, En Cualquier lugar". 2.2.1.1 Taxonomía de las aplicaciones Otra clasificación que nos puede ayudar a comprender esta área es la  clasificación en función del tipo de aplicación. Así tenemos por ejemplo:  1.Sistemas de mensajes Estos sistemas se caracterizan por usar el concepto de mensaje para  pasar la información de unas partes a otras. Un claro ejemplo de este tipo  de   aplicación   es   el   correo   electrónico.   Por   lo   general   son   sistemas  asíncronos, aunque pueden incluir sistemas síncronos para la notificación  de algunos tipos de mensajes.

 2.Editores multiusuario

En este grupo entran las aplicaciones de manipulación de documentos que  permiten   la   edición   por   parte   de   múltiples   usuarios,   tanto   de   forma  síncrona como asíncrona.

En el caso de editores síncronos, como  SubEthaEdit7, o  Writely8, suele  existir algún tipo de coordinación o bloqueo, para por ejemplo impedir que  varios usuarios modifiquen simultáneamente una misma sección de un  documento, mientras que se permite el acceso de lectura a todas las  secciones. A veces este control es demasiado limitado, ya que hace más lenta la  edición,   y   se   hacen   necesarios   otros   tipos   de   mecanismos   como  algoritmos de serialización de eventos, que permitan agrupar los cambios  en bloques mayores, o mecanismos de control optimistas, que permitan la  edición   libre,   resolviendo   los   conflictos   cuando   surgen,   de   forma  automática o manual.

En los editores asíncronos los usuarios modifican o revisan  partes de  documentos y envían los cambios al resto de colaboradores. Se hace por  tanto necesario algún tipo de control de versiones. Para solucionar este  problema se pueden usar sistemas genéricos de control de versiones,  como   por   ejemplo   CVS9,   o   Subversion10.   Este   último   sistema   está 

reemplazando progresivamente a CVS, que era el sistema dominante, ya  que gestiona de forma más eficiente las versiones, tanto en ficheros de  texto como binarios.  3.Sistemas de soporte de decisiones en grupo Estos sistemas sirven de ayuda para mejorar la productividad en la toma  de decisiones sobre problemas no estructurados. Esta mejora puede ser  tanto   para   acelerar   el   proceso   como   para   mejorar   la   "calidad"   de   la  decisión   tomada.   Por   ejemplo,   ZingThing,  [Fitzgerald   2004],   ofrece   un  entorno   de   aprendizaje   y   toma   de   decisiones   estructurado,   donde   los  participantes normalmente siguen una serie de pasos para exponer sus  ideas, reflexionar o votar de diferentes formas. 7 SubEthaEdit es un editor síncrono para MAC. Para más información se puede consultar  http://www.codingmonkeys.de/subethaedit 8 Writely es un editor colaborativo para la web, comprado recientemente por Google. Para  más información consultar http://www.writely.com/ 9 CVS es un sistema de control de versiones utilizado fundamentalmente para el desarrollo  colaborativo de software. Está disponible en http://www.nongnu.org/cvs/ 10 Subversion o SVN surge como una mejora de CVS, destacando una gestión más  eficiente de ficheros binarios. Está disponible en http://subversion.tigris.org/

 4.Soporte de conferencias

En este apartado tenemos los sistemas síncronos que dan soporte a las  conferencias,   tanto   locales   como   remotas.   Así   pues   tenemos   los  siguientes tipos:  4.1.Conferencias en Tiempo Real: Este es el caso por ejemplo de las  conferencias locales o remotas en las que el ordenador integra sistemas  de toma de decisión, aplicaciones compartidas, pizarras electrónicas,  etc.  4.2.Teleconferencias: En este caso no tiene por qué usarse un ordenador,  y se trata únicamente de comunicación de audio y/o vídeo.  4.3.'Conferencias de Escritorio' (Desktop conferencing): Los dos casos  anteriores han dado lugar a este, que no es más que una integración de  las   teleconferencias   junto   con   las   conferencias   en   tiempo   real.  Netmeeting®11 , gnomeMeeting, o Microsoft Messenger son ejemplos de  aplicaciones que permiten este tipo de conferencias.

En general hay dos alternativas para la compartición de aplicaciones,  por   un   lado   tenemos   sistemas   como   NetMeeting,   VNC,   o   Remote  Desktop,   que   permiten   compartir   aplicaciones   mono­usuario   sin  modificarlas   y   por   otro   lado   tenemos   los   sistemas   específicamente  diseñados para tener en cuenta la presencia de múltiples usuarios o  que permiten la adaptación de la interfaz de la aplicación compartida a  las preferencias o papeles de los distintos usuarios. El inconveniente de  esta segunda opción es que el mayor grado de flexibilidad ofrecido  impide el uso compartido, sin ser modificadas, de aplicaciones que no  están diseñadas para estos sistemas. También tenemos sistemas como  Disciple [Li 1999] que permiten ambos tipos de aplicaciones. También se han creado estándares, como hemos visto en el apartado  2.2,   que   han   fomentado   el   desarrollo   de   bibliotecas   genéricas   de  conferencia. Esto ha provocado la aparición de un gran número de  aplicaciones de este tipo, que permiten compartir aplicaciones, vídeo  conferencia, mensajería instantánea, etc.

 5.Agentes inteligentes

Los   agentes   inteligentes   se   pueden   usar   para   simular   otros   usuarios,  aunque suelen estar limitados a un conjunto de tareas predeterminadas.  Son   usados,   por   ejemplo,   en   algunos   juegos   cuando   el   número   de  usuarios es insuficiente. 

En   general   realizan   operaciones   que   podrían   hacer   otros   usuarios,  mostrando además un comportamiento similar al que mostraría un usuario  normal ante el resto de colaboradores.

 6.Sistemas de coordinación

Estos sistemas permiten ver las acciones del usuario y las relevantes de  otros   usuarios   en   el   contexto   de   un   objetivo   común.   Permiten   crear  informes   sobre   el   trabajo   realizado   y/o   restante,   programar   alertas,  planificar, fijar citas, etc.

 7.Entornos integrados de trabajo en grupo

Estos   entornos   son   una   combinación   de   las   aplicaciones   anteriores   y  permiten   crear   un   entorno   unificado   para   el   uso   de   herramientas   y  aplicaciones   de   trabajo   en   grupo.   Suelen   incluir   calendario   y   ficheros  compartidos,   votación,   correo   y   mensajería   instantánea,   gestión   de  proyectos, etc. En el apartado  2.3.2 veremos algunos ejemplos de estos  entornos.