Antecedentes: Una solución ampliamente adoptada para obtener un bajo Time to
Market por parte de los operadores de Telecomunicaciones y empresas en Internet,
es la utilización del concepto de composición de servicios ya que su filosofía es
reutilizar componentes software previamente implementados. La composición tiene
dos fases, la síntesis y la orquestación, siendo la segunda un reto para los servicios
convergentes debido a que requiere amplio conocimiento técnico y experiencia.
Actualmente existen propuestas que automatizan la orquestación adaptando
tecnologías de la Web como BPEL, sin embargo lo hacen en tiempo de ejecución por
lo tanto el rendimiento en la ejecución se ve afectado. Esta situación implica la
búsqueda de nuevas técnicas de orquestación para servicios convergentes.
Objetivos: Proponer mecanismos que automaticen la orquestación de procesos
abstractos en tiempo de diseño, para soportar la composición de servicios en
entornos convergentes.
Métodos: Para cumplir el objetivo se plantearon cuatro fases, la primera
correspondió a la selección de dos representaciones formales, una para procesos
abstractos (la síntesis) y otra para servicios ejecutables (la orquestación); en la
segunda fase fue utilizado un método para definir dos conjuntos de patrones
específicos para componer servicios convergentes, uno del flujo de control y otro del
flujo de datos; en la tercera fase se propusieron los algoritmos y el mecanismo que
automatizan la orquestación a partir de un proceso abstracto y generan un servicio
ejecutable en entornos JSLEE; finalmente en la quita fase fue realizada una
evaluación del mecanismo definido, mediante la orquestación de un servicio
convergente utilizando un prototipo implementado, y además se evaluó el
desempeño del mecanismo.
Resultados: La presente propuesta entregó como resultados: la definición de los
grafos y las redes de Petri coloreadas, para representar formalmente la síntesis y la
orquestación de servicios convergentes respectivamente; un conjunto de 13 patrones
de control y 16 patrones de datos, específicos para representar servicios
convergentes; un mecanismo de orquestación automática basado en un algoritmo
que utiliza los patrones y las representaciones formales definidas; una evaluación
experimental que demostró el correcto funcionamiento del mecanismo según el
criterio de 12 evaluadores expertos, y además valores de desempeño del mecanismo
en tiempos de procesamiento, uso de memoria y porcentaje de CPU.
Conclusiones: la evaluación experimental realizada demostró un correcto
funcionamiento del mecanismo de orquestación automática. Un servicio de prueba
puede ser orquestado en alrededor de 150ms y simultáneamente puede orquestar
hasta 4 servicios, este valor se puede mejorar implementando un conexión directa al
repositorio de servicios, el cual limita su número de conexiones y por lo tanto afecta
al mecanismo. No obstante el mecanismo brinda ventajas a los operadores de
telecomunicaciones , ya que este permite generar servicio convergentes en muy
poco tiempo y de una manera fácil a partir de un proceso abstracto, evitándoles la
difícil tarea de orquestar manualmente servicios sobre entornos JSLEE, lo cual
implica un amplio conocimiento técnico y experiencia, en instalación, configuración y
desarrollo
Background: A widely adopted solution in order to obtain a low Time to Market by a segment of Telecommunication operators is the use of the concept of service composition because their philosophy is to reuse software components previously implemented. The composition has two phases, the synthesis and orchestration, the second being a challenge to converged services because it requires extensive technical knowledge and experience. Currently, there are proposals that automate the orchestration adapting Web technologies like BPEL, however they perform the orchestration at runtime so the execution performance is affected. This involves finding new orchestration techniques for converged services.
Aims: To propose mechanisms that automate the orchestration of abstract processes at design time, to support the services composition in converged environments.
Methods: To meet the objective were defined four phases, the first corresponded to the selection of two formal representations, one for abstract processes (synthesis) and the other for executable services (orchestration). In the second phase it was used a method for defining two sets of specific patterns to compose converged services, one for control flow and the other for data flow. In the third phase were proposed the mechanism and algorithms that automate the orchestration from an abstract process, and generate an executable service over JSLEE environment. Finally in the fifth phase was conducted an evaluation of the mechanism defined, through the orchestration of a converged service using the implemented prototype, besides the performance of the mechanism was evaluated.
Results: This proposal presents the following results: the definition of graphs and colored Petri nets, to formally represent the synthesis and the orchestration of converged services respectively. A set of 13 control patterns and 16 data patterns to represent specifically converged services. An automatic orchestration mechanism based on an algorithm that uses the patterns and formal representations defined. An experimental evaluation showed the proper functioning of the mechanism at the discretion of expert referees, and also performance values of the mechanism in processing times, memory usage and CPU load.
Conclusions: The experimental assessment proved correct functioning of the automatic orchestration mechanism. A service can be orchestrated at around 150ms and it is possible to orchestrate simultaneously up to 4 services, this value can be improved by implementing a direct connection to the service repository, which limits the number of connections and therefore affects the mechanism. However the mechanism provides benefits to telecom operators, allowing them to generate convergent services very quick and easily from an abstract process, avoiding the difficult task of manually orchestrating services on JSLEE environments, which implies extensive technical knowledge and experience about installation, configuration and development.