lunes, 9 de junio de 2008

Gestión de procesos de negocio semánticos

Autor: Noelia Pérez Crespo, Javier Martínez Elicegui, Henar Muñoz de Frutos,David de Francisco Marcos. Telefónica Investigación y Desarrollo.
_
¿Ha oído hablar de los entornos Business Process Management Systems? ¿y de las tecnologías semánticas? En este artículo descubrirá su significado y lo que es más importante, la forma en la que su integración en el sector de las telecomunicaciones simplifica la gestión y la modernización empresarial
_
El sector de las telecomunicaciones es probablemente uno de los sectores que en nuestros días experimenta los cambios más rápidos e impredecibles del mercado. La aparición de nuevas tecnologías: internet, la banda ancha, comunicaciones móviles, VoIP, IPTV, contenidos digitales, etc., y el aumento de la competencia están suponiendo un constante reajuste en sus modelos de negocio. El cliente ya no se conforma con la mera conectividad vocal o de datos, demanda servicios más avanzados e integrados, que aporten sinergias y solucionen sus necesidades de forma global [1]. Esta situación es vista desde el Grupo Telefónica como una oportunidad que se intenta aprovechar, integrando para ello sus negocios (telefonía fija, móvil, publicidad, internet, multimedia, ..), comercializando productos de terceras empresas que complementen su oferta e incorporando tecnologías que nos permitan mejorar la flexibilidad y agilidad de los sistemas.

Todos estos retos unidos a la importancia de reducir el Time-to-Market(*) y rebajar los costes de desarrollo, impactan fuertemente en la forma tradicional de hacer software y nos llevan a la urgente necesidad de incorporar nuevas tecnologías y metodologías de trabajo que solucionen determinados problemas estructurales (SOA(*), BPMS(*), Semántica, …).

Con la aparición de los entornos Business Process Management Systems (BPMS), se pretende ser más eficientes en el desarrollo y gestión de los Procesos de Negocio, incorporando para ello herramientas que nos simplifiquen las tareas de cada una de fases de su ciclo de vida: modelado, simulación, despliegue, monitorización y optimización [2] Las líneas de investigación de los BPMS aúnan sus esfuerzos en conseguir que estas herramientas sean cada vez más inteligentes, incorporando asistentes que automaticen o simplifiquen las actividades que hoy día sólo pueden hacerse por personas técnicas. El objetivo final es que estas herramientas sean tan sencillas de manejar que puedan ser usadas directamente por los gestores de los Procesos de Negocio.

La incorporación de la semántica a los Servicios Web [3] y a los sistemas BPMS supone un paso muy importante hacia este objetivo. La semántica permite expresar formalmente los conceptos que hay detrás de los datos y permite enriquecer la definición de los Servicios y los Procesos para que las herramientas sean más inteligentes, sabiendo combinar tareas hasta conseguir un determinado objetivo, descubriendo errores, detectando cuellos de botella, sugiriendo mejoras, etc.

El resto del documento se organiza como sigue: en primer lugar se hace una exposición del estado del arte de los sistemas BPMS, haciendo hincapié en las limitaciones que tienen actualmente. Posteriormente, se realiza una introducción al valor que aporta la Semántica en las aplicaciones comerciales. Finalmente, se introduce el proyecto europeo SUPER(*), que trata de aunar la tecnología BPM con la tecnología semántica, aplicando los resultados sobre casos prácticos del sector de las telecomunicaciones.

Business Process Management Systems (BPMS)
_
La globalización del comercio y la competencia están propiciando modelos de negocio con cadenas de valor en las que intervienen cada vez más empresas। Controlar extremo a extremo un Proceso de Negocio en que intervienen los sistemas de distintas empresas (las cuales cambian con frecuencia según evolucionan los acuerdos comerciales), es parte del reto al que se enfrentan los BPMS. Los BPMS se encargan de modelizar los Procesos de Negocio con una visión integrada, independientemente del sistema que hace cada tarea, consiguiendo con ello una gestión mucho más eficiente al estar centralizado en un único punto todo el ciclo de vida: modelado, simulación, despliegue, monitorización y rediseño para su optimización.

El aumento de la automatiza- ción en las distintas fases del ciclo de vida permite disminuir los tiempos de desarrollo y mantenimiento, simplificar las tareas de las personas y ahorrar costes. De hecho, la automatización es la línea de investigación donde más se está invirtiendo en las herramientas BPM actuales [2]. Sin embargo, este es un desafío de gran envergadura donde todavía hay muchos frentes abiertos. Uno de los estos frentes es manejar el problema de la heterogeneidad de los datos en las interfaces de sistemas procedentes de diferentes entidades o empresas. Hoy en día más de un 30%(*) del esfuerzo al modelar los procesos se lo llevan las traducciones y adaptaciones de datos entre tareas. Otro de los frentes abiertos es mejorar la comunicación entre los responsables de los procesos y los técnicos que los modelan. Con mucha frecuencia se producen errores de interpretación o comunicaciones incompletas que redundan en errores que es necesario corregir en sucesivos reintentos.

Tal como se puede apreciar en la figura 2, han existido una gran cantidad de lenguajes para especificar los procesos. Dentro de estos lenguajes cabe destacar por su adopción por organismos de estandarización, al BPEL (Business Process Execution Language) y el BPMN (Business Process Modeling Notation). BPEL [4] es compatible con los principios SOA (Service Oriented Architecture), permite definir la orquestación de servicios expresando el flujo de control y de datos entre los servicios y como su nombre indica, es directamente interpretable por un programa motor de ejecución de procesos. Se trata de un lenguaje que requiere un elevado perfil técnico para su uso y una laboriosa y meticulosa adaptación de los sistemas a comunicar, dado que no resuelve la heterogeneidad de datos de los interfaces.

BPMN [5] surge como un estándar en la forma de representar gráficamente los Procesos de Negocio y que además es directamente comprendido por los gestores de los procesos. Desgraciadamente BPMN consigue sólo parcialmente su objetivo, ya que aunque la representación gráfica si es comprendida por los responsables de los procesos, a medida que los procesos se complican, salen diagramas demasiado complejos. Otra de las limitaciones de BPMN es que no es directamente ejecutable y debe ser tratado por personal técnico para que incorporen toda una serie de detalles técnicos y realicen una transformación desde la notación BPMN a BPEL, lenguaje ya si directamente ejecutable por los ordenadores.

Como resumen, comentar que los actuales BPMS tienen todavía importantes limitaciones para una gestión eficiente de los procesos. Por un lado requieren un importante esfuerzo humano en la integración de las aplicaciones repercutiendo de forma significativa en tiempo y costes. Por otro lado, las soluciones existentes alejan a las personas de negocio del modelado de los procesos, siendo necesaria la ayuda de perfiles técnicos. En las siguientes secciones veremos como gracias a la incorporación de la semántica a los Servicios Web y los Procesos de Negocio se intentan resolver estos problemas.

Tecnología Semántica en los Servicios Web

Actualmente, los estándares para la definición de los Servicios Web (WSDL, Web Service Modelling Language) disponen de muy poca expresividad semántica [3], lo cual impide resolver de forma automática los problemas de interoperabilidad entre servicios. Se necesita que un programador interprete la funcionalidad de los servicios, traduzca los datos intercambiados entre ellos y sepa manejar posibles efectos laterales.


Mediante el uso de las tecnologías semánticas, el significado de los datos es expresado explícitamente para que pueda ser interpretado y procesado. La forma de expresar la semántica de los datos es por medio de ontologías, donde a través de lenguajes como OWL (Web Ontology Language) y WSML (Web Service Modelling Language) se especifica el conocimiento que se tiene de conceptos y de sus relaciones en un determinado domino [6][7].

Aplicando tecnologías semánticas en la definición de los Servicios Web se crean los Servicios Web Semánticos (SWS). Con los SWS se potencia la creación de una Web donde las funcionalidades de los servicios son descubiertas e invocadas dinámicamente desde los programas, sin necesidad de indicar expresamente el servicio invocado en el código del programa [3]. Los SWS se basan en describir las capacidades funcionales, el contexto, las precondiciones, las postcondiciones (Figura 4Figura 4), así como los conceptos de entrada y salida en un lenguaje formal directamente procesable por las máquinas. A través de estas definiciones son posibles escenarios como el de un asistente en la PDA que descubre en la web servicios de alojamiento de hoteles, de alquiler de coches y de venta de billetes de avión y nos organiza de forma inteligente un viaje de vacaciones, aplicando para ello razonamientos y estrategias que combinan los servicios.

Mediante el uso de los SWS, se resuelven los problemas presentados anteriormente sobre la heterogeneidad de datos e interfaces entre sistemas de distintas empresas. La creación de los SWS requiere un esfuerzo inicial en la definición de las ontologías del dominio de los datos, así como en una definición semántica rigurosa de los interfaces de los servicios. Una vez disponible la definición semántica de los servicios y del entorno de ejecución de dichos servicios semánticos (WSMX, Web Service Execution Environment), se consigue un grado de automatización y dinamismo hasta ahora impensable en los programas.

SUPER: Tecnología Semántica en los Procesos de Negocio

SUPER (Semantics Used for Process management within and between EnteRprises) [8] es un Proyecto financiado por la Comunidad Económica Europea que trata de aunar la comunidad científica semántica con la comunidad BPM, para producir un sistema BPMS mejorado. Su principal objetivo es trasladar el modelado de los Procesos de Negocio desde los técnicos a las personas de negocio, para que sean ellas las que directamente los modelen y adapten día a día. Esta situación se aprecia en la Figura 5Figura 5, donde se puede observar como SUPER trata de evitar la labor manual que se realiza entre las personas de negocio y las personas técnicas.

Básicamente SUPER permite que las personas de negocio puedan modelar sus procesos utilizando BPMN y que de forma semi-automática sean traducidos a un lenguaje de ejecución semántico denominado SBPEL (Semantic BPEL). Para la traducción entre estos lenguajes se utilizan todo un conjunto de ontologías que se relacionan usando para ello capas de mediación desarrolladas con las tecnologías semánticas.

SUPER define los Procesos de Negocio Semánticos. Con las herramientas de SUPER se añaden anotaciones semánticas a los procesos para poder incorporar inteligencia a las herramientas BPMS. Desde una perspectiva de usuario se incorporan toda una amplia gama de facilidades de ayuda al modelador: facilidades de búsqueda y reutilización de procesos previamente modelados, facilidades para aplicar patrones, auto-composición de las tareas de un proceso, detección de errores, control del cumplimiento de reglas de negocio, análisis con técnicas de minería de datos sobre el resultado de ejecución de los procesos, etc. Desde una perspectiva de arquitectura, las anotaciones semánticas permiten buscar y seleccionar automáticamente los Servicios Web necesarios para la ejecución del Proceso de Negocio, organizando el flujo en un lenguaje entendible por el interprete SBPEL que ejecuta el proceso.

SUPER proporciona una serie completa de los componentes que habitualmente encontramos en los entornos BPMS para la gestión del ciclo de vida de un Proceso de Negocio. Hablamos de herramientas de modelado, implementación, ejecución y monitorización. Estas herramientas se apoyan en el uso de los SWS, facilitando con ello todas las ventajas mencionadas en el apartado anterior.

Finalmente, toda la infraestructura que SUPER es validada a través de casos de uso de cuatro empresas de telecomunicaciones, siendo Telefónica una de ellas. A través de los casos de uso se ponen de manifiesto los problemas que las empresas se encuentran en la gestión de sus Procesos de Negocio, y se comprueba cómo SUPER puede ayudar a solucionarlos. A través de SUPER se está desarrollando también una anotación semántica de los estándares NGOSS (New Generation Operations Systems and Software) de TeleManagement Forum, que deberá servir como infraestructura para la definición de los Procesos de Negocio del sector de Telecomunicaciones.

Fuente: Fundación Telefónica