Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2. ANTECEDENTES 7<br />
Tanto el cliente como el servidor pue<strong>de</strong>n estar implementados en diferentes lenguajes <strong>de</strong><br />
programación, lo que ofrece una ventaja bastante importante, ya que se pue<strong>de</strong> implementar<br />
clientes en diferentes lenguajes sin necesidad <strong>de</strong> cambiar nada en el servidor.<br />
Servicios<br />
ICE ofrece una serie <strong>de</strong> servicios que gestionan otras características para propósitos más<br />
concretos:<br />
IceStorm<br />
IceStorm [icea] es un servicio que proporciona comunicaciones entre clientes y servidores<br />
mediante la creación <strong>de</strong> canales <strong>de</strong> eventos. En este ámbito se habla <strong>de</strong> publicador<br />
y suscriptor en vez <strong>de</strong> cliente y servidor. Los publicadores envían datos al canal<br />
mediante invocaciones remotas que serán enviadas a los suscriptores <strong>de</strong> dicho canal.<br />
De este modo, un único evento <strong>de</strong> un publicador pue<strong>de</strong> ser enviado a múltiples suscriptores.<br />
Cada canal está i<strong>de</strong>ntificado unívocamente por un nombre y pue<strong>de</strong> tener a su<br />
vez múltiples publicadores y múltiples suscriptores.<br />
IceStorm también soporta manejo <strong>de</strong> excepciones causadas por un comportamiento<br />
ina<strong>de</strong>cuado <strong>de</strong> la red o por la pérdida <strong>de</strong> suscriptores.<br />
Los eventos IceStorm son unidireccionales, es <strong>de</strong>cir, el publicador no recibe respuestas<br />
<strong>de</strong>s<strong>de</strong> los suscriptores.<br />
Una <strong>de</strong> las características <strong>de</strong> este servicio es la fe<strong>de</strong>ración. <strong>La</strong> fe<strong>de</strong>ración permite realizar<br />
enlaces entre canales. Cada enlace es una asociación unidireccional <strong>de</strong>s<strong>de</strong> un canal<br />
o otro y tiene asociado un coste que pue<strong>de</strong> limitar la entrega en ese canal.<br />
Estos enlaces hacen que los eventos publicados en un canal también sean publicados<br />
en todos los canales que estén enlazados a él con coste que no exceda <strong>de</strong>l indicado en<br />
el momento <strong>de</strong> la creación <strong>de</strong>l enlace.<br />
<strong>La</strong> figura 2.3 representa un ejemplo <strong>de</strong> fe<strong>de</strong>ración <strong>de</strong> canales. El canal T1 tiene enlaces<br />
a T2 y T3. Los suscriptores S1 y S2 reciben todos los eventos publicados en T2 así como<br />
los publicados en T1. El suscriptor S3 sólo recibe los eventos <strong>de</strong> T1 y el suscriptor<br />
S4 recibe los eventos <strong>de</strong> T1 y T3.<br />
Este servicio es el más relevante ya que será utilizado en el <strong>de</strong>sarrollo <strong>de</strong> este proyecto.<br />
IceGrid<br />
IceGrid es un servicio <strong>de</strong> localización y activación para las aplicaciones ICE. Esto<br />
permite que un cliente se comunique con un objeto remoto sin saber en qué máquina<br />
y en qué puerto está (proxies indirectos).<br />
Una <strong>de</strong> las características <strong>de</strong> IceGrid es la activación <strong>de</strong> los servidores bajo <strong>de</strong>manda,<br />
es <strong>de</strong>cir, cuando un cliente realiza una solicitud a un objeto en el servidor.