2. Estado actual del conocimiento
2.2. Trabajos relacionados
2.2.3. Orquestación sobre otros entonos convergentes
En esta sección son presentados algunos trabajos relacionados con la orquestación de servicios convergentes. Aunque dichos trabajos no están relacionados específicamente con entornos JAIN SLEE, son tenidos en cuenta debido a sus aportes.
Actualmente existe una tendencia por entornos que pretenden la orquestación de servicios convergentes basada en motores de mashups. Dicha tendencia surge como una evolución de tecnologías como BPEL, ya que también permite la orquestación de servicios web, aunque tiene mejoras en eficiencia y facilidad al utilizar API REST. Para lograr la convergencia con servicios Telco, es necesario que los operadores exporten sus servicios Telco como un API REST, con este propósito algunos operadores e intermediarios han publicado algunas API como Twilio y Tropo [4]. Este tipo de API generalmente tiene un costo por uso, puesto que la comunicación pasa por la red fija y móvil del operador. Teniendo en cuenta lo anterior, el proyecto
[Escriba el nombre de la compañía] 45
OMELETTE [57][37] plantea un entorno robusto para composición automática de mashups convergentes centrada en el usuario final, por lo cual provee una gran facilidad de manejo y además abarca la síntesis y la orquestación automática. Este proyecto tiene como núcleo de orquestación el motor de mashups llamado Node.js [20]. Otro proyecto importante que permite la orquestación de servicios convergentes basada en mashups es WSO2 [38], el cual provee un entorno completo para desarrollo de aplicaciones web en diferentes tecnologías, entre las cuales se destaca Jaggery.js [58] como su motor de mashups.
Como se había mencionado anteriormente, la orquestación de servicios convergentes basada en mashups tiene desventajas en el rendimiento y la calidad del servicio, con respecto a los requerimientos de los operadores [5], adicionalmente, es de resaltar que en los anteriores proyectos, las plataformas de ejecución de los servicios se encuentran externas a la infraestructura del operador, factor que no permite mantener una adecuada calidad el servicio.
Por otra parte, en [59] es presentado el proyecto europeo SPICE, en el cual implementan un entorno de creación de servicios enfocado a dos tipos de usuarios, el desarrollador y el usuario no experto. Para el desarrollador ofrece una herramienta gráfica que permite definir la orquestación mediante máquinas de estado, y para el usuario no experto brinda una herramienta basada en grafos que describe un proceso abstracto, el cual por medio de anotaciones semánticas y ontologías es orquestado automáticamente como una máquina de estados. El gran aporte de este trabajo es la definición de un lenguaje para describir específicamente la orquestación de servicios convergentes llamado SPATEL [60], modelado gráficamente como máquina de estados. Por otra parte, este trabajo propone que la orquestación generada se puede traducir hacia diferentes entornos, sin embargo las implementaciones mostradas solo utilizan motores BPEL que no satisfacen los requerimientos de las telecomunicaciones.
Otro proyecto europeo importante es OPUCE [61], el cual está enfocado en implementar un entorno para composición y ejecución de servicios centrado en el usuario final. Este entorno provee un editor gráfico amigable al usuario, que le permite crear procesos abstractos teniendo en cuenta información de su perfil [62]. Dichos procesos son orquestados automáticamente sobre BPEL utilizando
algoritmos semánticos basados en ontologías y el lenguaje OWL. Por otro parte, la ejecución está compuesta por un motor BPEL para ejecutar la orquestación, y varios servidores Web y JSLEE para los servicios básicos; estos servidores se comunican con el motor mediante una Gateway que enruta los eventos. A pesar de las ventajas de este trabajo, un inconveniente es el motor utilizado para ejecutar la orquestación, ya que no es apto para las telecomunicaciones.
En [63] es presentada una plataforma que permite la composición de servicios implementados con diferentes tecnologías como SIP, Web, AJAX, redes conmutadas, entre otras. Para interactuar con dichas tecnologías proponen los agentes para ejecución de composición (CEA), los cuales son capaces de ejecutar y controlar los protocolos subyacentes de cada tecnología. Por otro lado, la composición la define el usuario generando un proceso abstracto con una interfaz gráfica, dicho proceso es denominado esqueleto y solo indica las características de cada servicio componente, ya que en tiempo de ejecución son seleccionados los servicios indicados. Esta aproximación logra la orquestación automática de servicios convergentes, no obstante el motor de orquestación está basado en SIP Servlets y los servicios son escogidos en tiempo de ejecución, lo que no aporta un rendimiento óptimo.
Otra aproximación es [64], donde los autores definen un nuevo lenguaje específico para servicios de telecomunicaciones denominado TSDSL (Telecom Service Domain Language), el cual permite abstraer la complejidad de los protocolos telco. El diseño del servicio es realizado por medio de una interfaz gráfica que modela máquinas de estados, y posteriormente es utilizado un generador de código para orquestar automáticamente el servicio como SIP Servlets, siguiendo algunas reglas de mapeo. En este trabajo es posible identificar como aporte la definición de un lenguaje abstracto específico para servicios Telco, sin embargo la orquestación sobre SIP Servlets no presenta rendimiento óptimo [42].