4.2 Visualization Method
4.2.1 Ribbon Visualization
Esta sección describe los requerimientos funcionales y no funcionales para el prototipo G-EEG. Los requerimientos se basan en tres conceptos principales de G-EEG: Miembros – usuarios registrados del sistema que ejecutan servicios de mensajería; Canales – estructuras lógicas que permiten la comunicación entre miembros; y Mensajes – unidades de comunicación entre miembros. Basado en estos conceptos, el prototipo provee servicios para: registrar y des-registrar miembros, crear y destruir canales, suscribir miembros a canales, des-suscribir miembros de canales, y enviar y recibir mensajes. Adicionalmente, G-EEG define el concepto de extensiones horizontales (independientes de procesos) y el prototipo implementa tres extensiones concretas para auditoría, validación y transformación de mensajes.
El resto de esta sección presenta cinco grupos de requerimientos, cuatro que comprenden requerimientos funcionales relacionados con miembros, canales, mensajes y extensiones y el quinto que comprende requerimientos no funcionales (ver Tabla 18):
1) Requerimientos Relacionados con Miembros – Los requerimientos F1, F2 y F3 definen la implementación de miembros visitantes, usuarios y administrador. Hay dos operaciones relacionadas: registración (F4) – requerida por un miembro visitante, permite a una entidad la creación de un nuevo miembro por medio de la cual es capaz de usar servicios de mensajería; y des-registración (f5) – requerida por el mismo miembro, remueve al miembro del sistema cuando no necesita más servicios de mensajería. Una operación (F6) es adicionalmente requerida por razones de implementación, solicitada por un miembro visitante y dirigida a recuperar un miembro después de
reiniciar el sistema. Todas las operaciones son llevadas a cabo por miembros autorizados enviando mensajes al administrador y esperando por confirmación.
2) Requerimientos Relacionados con Canales – Los requerimientos F7 y F8 definen la implementación de canales para administrador y visitante. Mientras que tales canales están siempre disponibles, los canales definidos por el usuario deben ser creados explícitamente y suscriptos antes de ser usados. Para crear un canal definido por el usuario, un miembro envía un requerimiento al administrador especificando el nombre del canal. El administrador confirma si la operación fue satisfactoria, en cuyo caso asigna un identificador único al canal, o de lo contrario envía un mensaje de error al miembro solicitante. Después de que el canal es creado, el propietario puede solicitar su destrucción enviando un requerimiento al administrador. El administrador concederá este requerimiento sólo si el canal no tiene suscriptores y no es un canal predefinido. Los requerimientos F9 y F10 especifican las funciones para creación y destrucción de canales. Los Miembros pueden también solicitar la suscripción o des-suscripción a canales enviando el pedido a los propietarios de los canales. Los requerimientos F11 y F12 especifican las funciones para suscripción y des-suscripción de miembros a canales.
3) Requerimientos Relacionados con Mensajes – Cuatro requerimientos son definidos para manejar la estructura de mensajes – Para componer un mensaje desde sus elementos constitutivos (F13) y para descomponer un mensaje para obtener sus elementos constitutivos: cabecera de mensaje (F14), cuerpo de mensaje (F15), y adjuntos al mensaje (F16). Cualquier miembro que suscriba o posea un canal puede enviar un mensaje por medio de dicho canal, el comportamiento depende de quién sea el emisor del mensaje. Si es enviado por el propietario del canal – requerimiento F17, el mensaje es procesado y enviado a todos los suscriptores; si el proceso falla, el propietario envía un mensaje de notificación de falla al emisor. Si es enviado por un suscriptor – requerimiento F18, el mensaje es reenviado al propietario del canal quien procesa el mensaje como se describió anteriormente. Una vez enviado satisfactoriamente al canal, cualquier miembro suscriptor o propietario del canal, excepto el emisor, recibirá el mensaje – requerimiento F19. Además de canales definidos por el usuario, un miembro puede enviar mensajes usando canales predefinidos. En particular, un mensaje puede ser reenviado entre dos miembros por medio del miembro administrador y canales de administración del usuario – requerimiento F20.
4) Requerimientos Relacionados con las Extensiones – Para responder a una variedad de requerimientos de mensajería que poseen las aplicaciones que se comunican, más allá del núcleo de mensajería habilitado por G- EEG-CORE, G-EEG introduce un mecanismo de extensión llamado G-EEG-EXTEND. G-EEG-EXTEND comprende un repositorio de extensiones y un mecanismo para habilitar, configurar o deshabilitar dichas extensiones sobre G- EEG-CORE en tiempo de ejecución. El requerimiento F21 define el manejo de las extensiones en el repositorio, incluyendo la entrega de nuevas extensiones y remoción de las existentes. Después que una extensión es correctamente adicionada al repositorio, el administrador puede habilitar (F22), deshabilitar (F23) o configurar (F24) dicha extensión sobre un canal, a requerimiento de su propietario. Lo último responde a la necesidad de algunas extensiones de requerir parámetros. Un ejemplo es el formato de mensaje requerido por las extensiones de validación. Tres extensiones concretas son implementadas: Auditoría de Canal – creando un registro histórico de los mensajes transferidos a través del canal usando una base de datos especializada en grabación de documentos XML (F25); Validación de Mensajes – validando la sintaxis de mensajes destinados a un canal, de acuerdo al formato de mensaje expresado con un esquema XML [W3C04c] (F26); y Transformación de Mensajes – transformando los mensajes en tránsito a través de un canal de un formato a otro, de acuerdo a la transformación de mensajes expresada en XSLT [W3C99a] (F27).
5) Requerimientos No Funcionales – Tres requerimientos no funcionales tratan los atributos de dependabilidad de G-EEG: el miembro administrador está siempre disponible en el sistema (NF28), todos los mensajes enviados deben ser entregados al menos una vez (NF29), y los mensajes deben ser entregados en la misma secuencia en que fueron enviados (NF30).
Tabla 18: Requerimientos de G-EEG
TIPO CATEGORÍA ID DESCRIPCION
Funcional Miembros F1 Proveer Miembro Visitante F2 Proveer Miembro Usuario F3 Proveer Miembro Administrador
La especificación completa de los requerimientos se incluye en el Apéndice B.