23.04.2015 Views

Grupo ARCO - Universidad de Castilla-La Mancha

Grupo ARCO - Universidad de Castilla-La Mancha

Grupo ARCO - Universidad de Castilla-La Mancha

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5. DESARROLLO DEL PROYECTO 44<br />

Figura 5.7: Diagrama <strong>de</strong> secuencia <strong>de</strong> una suscripción con filtros<br />

El uso <strong>de</strong> la fe<strong>de</strong>ración <strong>de</strong> canales permite una reducción <strong>de</strong>l número <strong>de</strong> publicadores. Un<br />

solo publicador pue<strong>de</strong> servir como publicador <strong>de</strong> eventos para varios canales.<br />

Implementación<br />

Para implementar esta funcionalidad no se pue<strong>de</strong> utilizar la propia operación link <strong>de</strong><br />

IceStorm porque solo permite la propagación <strong>de</strong> todos los eventos si se indica un coste 0<br />

o, en todo caso, restringir los eventos según el coste que lleven asociados. Por lo tanto, se<br />

implementa una nueva operación que permite indicar <strong>de</strong> algún modo un filtrado en los datos<br />

que pue<strong>de</strong>n ser propagados.<br />

<strong>La</strong> manera <strong>de</strong> conseguir una propagación acor<strong>de</strong> a <strong>de</strong>terminados filtros es similar al mecanismo<br />

realizado en la suscripción con filtros. <strong>La</strong> única diferencia presente es que los canales<br />

implicados existen en el dominio <strong>de</strong>l sistema o son creados previamente.<br />

<strong>La</strong> figura 5.8 representa el mecanismo <strong>de</strong> enlace <strong>de</strong> estas características. Existen dos canales:<br />

canal 1 y canal 2. El canal 2 quiere que ciertos eventos <strong>de</strong>l canal 1 sean propagados hacia<br />

él. Para que esto ocurra, se crea un publicador <strong>de</strong>l canal 2 que contenga los filtros con los que<br />

quiere realizar el enlace al canal 1. Por último, se hace una llamada a la función linkFiltered<br />

pasándole como parámetro el publicador creado. <strong>La</strong> propia función hace una suscripción<br />

<strong>de</strong> este publicador al canal 1. De este modo, el publicador actúa como un suscriptor filtrado<br />

<strong>de</strong>l canal 1 que a su vez filtra los eventos para propagarlos al canal 2.<br />

Al igual que un canal pue<strong>de</strong> enlazarse a otro, también existe la posibilidad <strong>de</strong> eliminar<br />

ese enlace, para ello, se implementa una funcionalidad cuyo procedimiento será cancelar

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!