automatización de procesos de negocio

10
Revista Colombiana de ISSN: 1692-7257 - Volumen X – Número XX - 20XX AUTOMATIZACIÓN DE PROCESOS DE NEGOCIO USANDO SERVICIOS WEB SEMANTICOS BUSINESS PROCESS AUTOMATION USING SEMANTIC WEB SERVICES Ing. Leidy Paola Calderon Hernandez, Ing. Jorge Omar Portilla Jaimes Universidad de Pamplona, Facultad de Ingenierías y Arquitectura, Ingeniería de Sistemas. Ciudadela Universitaria, Pamplona, Norte de Santander, Colombia. Tel.: 57-7-568 5303, Fax: 57-7-568 5303, Ext. 144 E-mail: [email protected], [email protected] Resumen: En este artículo, se presenta una solución viable para la automatización de procesos de negocio usando servicios web semánticos, acoplando tecnologías disponibles tales como OWLS, DIG y SOAP. Dicha automatización se fundamenta en tres procesos principales; composición, emparejamiento y ejecución automática de servicios web semánticos que satisfagan un proceso de negocio especifico. Palabras clave: Servicios Web Semánticos, Procesos de negocio, Orquestación, Coreografía, OWL-S, DIG. Abstract: In this paper, we present a viable solution for automating business processes using semantic web services, such as docking technologies available OWLS, DIG and SOAP. Keywords: Semantic Web Services, Business Processes, Orchestration, Choreography, OWL-S, DIG. 1. INTRODUCCIÓN Los servicios web han logrado que la Web pase de ser un simple repositorio de Universidad de Pamplona I. I. D. T. A. 1 Recibido: xx de mes de 20xx Aceptado:

Upload: leidy-paola

Post on 08-Nov-2015

215 views

Category:

Documents


2 download

DESCRIPTION

Automatización de procesos de negocio usando servicios web semánticos

TRANSCRIPT

INDICACIONES Y RECOMENDACIONES PARA LA PRESENTACIN DE ARTCULOS

ISSN: 1692-7257 - Volumen X Nmero XX - 20XX

AUTOMATIZACIN DE PROCESOS DE NEGOCIO USANDO SERVICIOS WEB SEMANTICOS

BUSINESS PROCESS AUTOMATION USING SEMANTIC WEB SERVICES

Ing. Leidy Paola Calderon Hernandez, Ing. Jorge Omar Portilla Jaimes

Universidad de Pamplona, Facultad de Ingenieras y Arquitectura, Ingeniera de Sistemas.Ciudadela Universitaria, Pamplona, Norte de Santander, Colombia.

Tel.: 57-7-568 5303, Fax: 57-7-568 5303, Ext. 144E-mail: [email protected], [email protected]

Resumen: En este artculo, se presenta una solucin viable para la automatizacin de procesos de negocio usando servicios web semnticos, acoplando tecnologas disponibles tales como OWLS, DIG y SOAP.

Dicha automatizacin se fundamenta en tres procesos principales; composicin, emparejamiento y ejecucin automtica de servicios web semnticos que satisfagan un proceso de negocio especifico.

Palabras clave: Servicios Web Semnticos, Procesos de negocio, Orquestacin, Coreografa, OWL-S, DIG.

Abstract: In this paper, we present a viable solution for automating business processes using semantic web services, such as docking technologies available OWLS, DIG and SOAP.

Keywords: Semantic Web Services, Business Processes, Orchestration, Choreography, OWL-S, DIG.

1. INTRODUCCINLos servicios web han logrado que la Web pase de ser un simple repositorio de informacin a una fuente de servicios accesibles desde cualquier lugar, pero la gran cantidad de servicios publicados y la inexistencia de informacin procesable por las maquinas hace inviable en tiempo y eficiencia que sea un usuario humano el que determine los servicios necesarios para satisfacer una necesidad, debido a esto se hace uso de la Ingeniera Ontolgica, la cual permite incluir informacin adicional que describe el contenido de los documentos, para implantar los servicios web semnticos.

Por otra parte, hoy da las organizaciones basan su estrategia en los procesos de negocio. Con la definicin explicita y el seguimiento de la ejecucin de los procesos se busca obtener resultados que pueden llegar a ser medidos y mejorados de manera constante.

Implementar los procesos de negocio mediante servicios web semnticos resulta provechoso ya que se beneficia de la descripcin de los servicios para su bsqueda automtica y el control centralizado de la invocacin de diferentes servicios con cierta lgica de negocio aadida. Calderon, L. P. (2010)2. SERVICIOS WEB SEMANTICOSAunque los servicios web permiten la comunicacin entre diferentes plataformas y sistemas operativos, carecen de contenido semntico. Teniendo en cuenta que las ontologas permiten la descripcin semntica de cualquier dominio del conocimiento, la incorporacin de ontologas del dominio de los servicios a los servicios web da lugar a los servicios web semnticos. Alvez, P. (2006)Con los servicios web semnticos se pretende automatizar todo lo que era semiautomtico en los servicios web tradicionales, esencialmente el descubrimiento, composicin, invocacin e interoperacin de servicios web.

Los servicios web pretenden transformar la web en una infraestructura global para computacin distribuida, integracin de aplicaciones y automatizacin de procesos de negocio. El problema son las tecnologas disponibles que permiten la automatizacin.Debido a que el conjuntos de servicios web disponibles se amplia, se vuelve cada vez ms importante contar con herramientas automatizadas para ayudar a identificar los servicios que se ajusten a los requisitos de un solicitante. Calderon, L. P. (2010)

Las ms destacadas son OWL-S y WSMO.

2.1 OWL-S

Es una ontologa que contiene los elementos fundamentales que caracterizan un servicio y que permite describir las capacidades que sustenta un servicio, contiene tres tipos de conocimientos fundamentales: Service Profile (describe que hace el servicio) , Process Model (describe como se usa el servicio) y Service Grounding (describe como interactuar con el servicio).2.2 WSMO

Es una ontologa para describir varios aspectos acerca de los servicios web semnticos desarrollada por el WSMO Working Group Alvez, P. (2006).

El lenguaje usado para describir los elementos es el Web Service Modeling Language (WSML) o Lenguaje de Modelado de Servicios Web. Este lenguaje provee una sintaxis formal y una semntica para el modelado de ontologas de servicios web.

Segn WSMO, existen cuatro elementos fundamentales que describen un Servicio Web Garcia S., F. (2007): Ontologas (proveen la terminologa y la semntica formal para llevar a cabo la descripcin del servicio), Servicios web (proveen una descripcin semntica de los servicios web), Objetivos (describen las salidas y efectos esperados tras la invocacin de un servicio) y Mediadores (buscan maximizar la interoperabilidad entre los servicios, mediante el enlace de diferentes componentes de WSMO).La combinacin de SW para la implementacin de procesos de alto nivel, requiere de diversos estndares que permitan modelar las posibles interacciones entre los servicios. Los trminos de orquestacin y coreografa tratan de describir aspectos relacionados con la creacin de procesos de negocio que involucran varios SW.

Fig. 1. Relacin entre orquestacin y coreografa de servicios web Martin, D. (2004)2.3 Coreografa

Permite trazar las secuencias de mensajes que se suceden entre todas las partes participantes del proceso de negocio.

La coreografa permite componer servicios definiendo la forma en la que mltiples participantes colaboran entre pares (peer-to-peer), como parte de una operacin o transaccin de negocio duradera, esto se realiza mediante el intercambio de mensajes tanto sncronos como asncronos y requiere una descripcin formal de los protocolos de intercambio de mensajes que deben estar visibles para cada participante que intervenga dentro de la coreografa.

2.4 Orquestacin

Permite disear procesos de negocio ejecutables que pueden interactuar tanto con SW internos como externos.

Con la orquestacin se componen servicios para generar un nuevo proceso de negocio, puede usarse de dos formas: para preparar la informacin que se intercambia en la ejecucin de una coreografa o como la invocacin siguiendo unas determinadas reglas a un servicio web.

3. PROCESOS DE NEGOCIO Un proceso de negocio es un conjunto de tareas relacionadas lgicamente llevadas a cabo para lograr un resultado de negocio definido Wikipedia (2010)

Cada proceso de negocio tiene entradas, funciones y salidas. Las entradas son requisitos que deben tenerse antes de que una funcin sea aplicada. Cuando una funcin es aplicada a las entradas de un mtodo, se generan ciertas salidas.

3.1 WorkflowWorkflow es un conjunto de uno o ms procedimientos o actividades directamente ligadas, que colectivamente realizan un objetivo del negocio, normalmente dentro del contexto de una estructura organizacional que define roles funcionales y relaciones entre los mismos.

Es el estudio de los aspectos operacionales de una actividad de trabajo: cmo se estructuran las tareas, cmo se realizan, cul es su orden correlativo, cmo se sincronizan, cmo fluye la informacin que soporta las tareas y cmo se le hace seguimiento al cumplimiento de las tareas.

Los estndares ms destacados para la ejecucin de procesos de negocio son BPMN y WS- BPEL.

3.2 BPMN

Fue desarrollado por BPMI (Business Process Management Initiative), su principal meta es proveer una notacin estndar fcil y clara para todos los usuarios de negocios: analistas de negocios, desarrolladores tcnicos y personal de negocios que administra y monitorea procesos.

BPMN hace de puente entre el diseo de procesos de negocio y la implementacin siendo una notacin grfica para expresar procesos de negocios en un Business Process Diagram (BPD) capaz de representar complejos procesos.3.3 WS-BPEL

Es un lenguaje estandarizado por OASIS para la composicin de servicios web.

Est desarrollado a partir de WSFL y XLANG, ambos lenguajes orientados a la descripcin de servicios Web. Consiste en un lenguaje basado en XML diseado para el control centralizado de la invocacin de diferentes servicios Web, con cierta lgica de negocio aadida que ayuda a la programacin en gran escala, antes de su estandarizacin se denominaba BPEL4WS.

4. ARQUITECTURA DEL SISTEMA

Fig. 2. Arquitectura del sistema. Autor Propio (2010)4.1 Aplicacin cliente

Permite al cliente la seleccin de un dominio especfico y un proceso de negocio a ejecutar.4.2 Repositorio de ontologas de dominio

Para llevar a cabo la composicin de servicios que satisfagan un proceso de negocio es necesario crear un repositorio donde se almacenen ontologas correspondientes a cada dominio.

Fig. 3. Modelo relacional para ontologas de dominio. Autor Propio (2010)Estas ontologas deben tener una estructura bsica como la visualizada en el modelo relacional.

Teniendo clara la estructura que deben tener las ontologas, se procede a convertir las entidades en clases, los atributos en instancias y las relaciones en propiedades.

4.3 Repositorio ontologas OWL-S

Para llevar a cabo el emparejamiento de los servicios que componen un proceso de negocio es necesario crear un repositorio donde se almacenen ontologas correspondientes a las descripciones semnticas de los servicios web disponibles.

WSMO tiene en cuenta ms aspectos de descripcin que OWL-S, adems cuenta con cuatro tipos de mediadores para solucionar problemas que se presenten, pero OWL-S tiene una coreografa claramente definida mediante procesos simples, atmicos y compuestos. Permite una sola forma de interactuar con el servicio invocndolo mediante el WSDL, mientras que WSMO no tiene coreografa definida ni forma de interactuar con el servicio por s solo, necesita de otros entornos para poder invocar servicios.

Por estas razones, la descripcin se llev a cabo mediante el plugin OWL-S para Protg. Se puede generar la descripcin automticamente a travs del documento WSDL del servicio web, o realizarla manualmente. Los aspectos que se deben especificar son:

process:Process: Aqu se especifica el nombre del proceso, sus entradas y sus salidas.

grounding:WsdlGrounding: Aqu se especifica la informacin necesaria para poder acceder al servicio.

profile:Profile: Aqu se especifican los campos correspondientes al proceso en general; entradas, salidas, categora, clasificacin, precondiciones, resultados e informacin adicional.

service:Service: Aqu se crea el servicio que une al grounding, process y profile, se establece que el servicio es descrito por el process, presentado por el profile y soportado por el grounding.4.4 DIG

Para poder razonar sobre las ontologas y adquirir el conocimiento necesario para el desarrollo del prototipo, se utiliz la interfaz DIG.

La interface DIG fue desarrollada por The DL Implementation Group (DIG). Esta interfaz permite tener acceso a razonadores de DL a travs de editores de ontologas. Para ello utiliza un protocolo basado en HTTP PUT/GET y XML, que le permite describir los conceptos y las relaciones en una ontologa.

El razonador utilizado fue Pellet. Es un razonador open source para OWL-DL construido en JAVA. El ncleo de este razonador est basado en los algoritmos de razonamiento Tableaux (tablas semnticas).En la arquitectura de Pellet se destaca el razonador basado en clculo de Tableaux, la flexibilidad con la que Pellet puede ser incluido con otros sistemas (a travs de interfaces apropiados).

Para poder razonar con Pellet hay que cargar la ontologa, los axiomas sobre clases son colocados en el componente TBox y las aserciones sobre los individuos se almacenan en el componente ABox.

El objetivo de este razonador es chequear la satis factibilidad de un Abox con respecto a un TBox mediante mensajes declaraciones XML que definen un modo de comunicacin tell/ask.

4.5 Composicin

Este proceso permite la orquestacin del proceso de negocio, es decir, se encarga de buscar los servicios necesarios para satisfacer un proceso de negocio especfico.

Esto se logra buscando en la ontologa de dominio correspondiente, los servicios que componen el proceso de negocio especificado por el cliente.

El resultado de la composicin es un rbol N-Ario de los servicios que componen el proceso de negocio.

4.6 Emparejamiento

El proceso de emparejamiento consiste en buscar para cada servicio, resultado de la composicin, la mejor opcin publicada en el repositorio de ontologas OWL-S.

El algoritmo de emparejamiento usado est basado en la propuesta realizada por Jos Javier Samper Zapater. Samper, J. J. (2005) Calderon, L. P. (2010)El algoritmo de emparejamiento tiene un coste considerable ya que intenta emparejar la descripcin del servicio con cada uno de los proveedores disponibles, por esta razn, se incluye un filtrado anterior al emparejamiento, cuya finalidad es descartar proveedores que no cumplan unas determinadas caractersticas definidas tambin en los perfiles de la ontologa, y de este modo reducir el tiempo de ejecucin.

El filtrado est basado en la categora de servicio, campo que se encuentra en la descripcin del servicio obtenida de la ontologa de dominio. Servir al sistema emparejador para obtener del repositorio de ontologas OWL-S aquella lista de servicios que pertenezcan a la categora que posee el servicio a emparejar.

De la lista resultante, combinar todas las posibles parejas y aplicar sobre ellas los diferentes grados de similitud para los parmetros funcionales y calcular los pesos relativos para parmetros funcionales correspondientes a salidas y entradas y parmetros no funcionales. Calderon, L. P. (2010)4.6.1 Obtencin del grado de emparejamiento para parmetros funcionales

Se calculan siete grados de emparejamiento, segn el grado obtenido se asigna un peso que va desde 0 cuando el grado es fallo; no hay relacin entre el servicio del proveedor y la peticin del cliente, y 6 que se asigna cuando lo que el proveedor ofrece es igual a lo que el cliente busca.

Primero se calcula el grado para las salidas y si el valor es igual a cero, se descarta el servicio del proveedor; de lo contrario se procede a calcular el grado de emparejamiento y el peso para las entradas.4.6.2 Obtencin del grado de emparejamiento para parmetros no funcionales

Los parmetros no funcionales tambin aportan informacin semntica al servicio web, por lo cual deben ser tenidos en cuenta.

El parmetro a tener en cuenta es el de nombre del servicio, el cual aportara un valor igual a 3 si el nombre del servicio que se est emparejando es igual al nombre del servicio ofrecido por un proveedor.

4.6.3 Seleccin del mejor servicio emparejado

A medida que se van calculando los pesos para los diferentes tipos de parmetros, se va insertado de manera ordenada el servicio emparejado en una lista.

La ordenacin utilizada da ms importancia al peso de las salidas, ya que lo ms importante es que el cliente obtenga lo que quiere, que debe ser lo que le proporciona el proveedor mediante las salidas del servicio.

A continuacin se compara la suma de los pesos obtenidos con los parmetros de tipo no funcional, posteriormente, se compara el peso de las entradas, ya que stos se consideran parmetros menos importantes para poder encontrar el SW que aporte lo que el cliente busca, son solamente valores de entrada antes de ejecutar el servicio y obtener de esta manera el beneficio, producto o informacin que el cliente espera en realidad, es decir, las salidas.

El proceso de ordenacin se inicia con la comparacin entre la pareja recin encontrada y la de la cabeza de la lista. Si el resultado es false, querr decir que el peso no es mejor, por lo que no se habr encontrado una mejor solucin, y por tanto deber compararse con el resto de la lista e insertarse en el lugar adecuado, mas sin embargo el registro de esta nueva pareja servir para realizar un sistema tolerante a fallos, ya que en el caso de un fallo en el uso del servicio obtenido como mejor solucin, se podr recurrir al uso de informacin provista por el elemento siguiente de la lista. Calderon, L. P. (2010)4.6.4 Ordenamiento de los servicios segn el peso obtenido del emparejamiento

El proceso de emparejamiento inicia luego de llevarse a cabo la composicin de servicios, recibe como entrada un vector con la descripcin de los servicios a emparejar, el cual va recorriendo y formando parejas entre las descripciones contenidas y las extradas del repositorio de ontologas OWL-S.

Para la descripcin extrada se consulta los valores de los parmetros a utilizar en el emparejamiento, lo primero que se compara es la categora, si la descripcin extrada (servicio ofertado por un proveedor) posee la misma categora que la descripcin del vector (peticin del cliente), se sigue el proceso, de lo contrario, se procede a emparejar con otra descripcin la peticin del cliente.

Luego de este filtrado, se calcula el peso para insertar el servicio en una lista ordenada, al final se selecciona el servicio que este en la primera posicin de la lista (el ms ptimo). Calderon, L. P. (2010)4.7 Ejecucin

Este proceso lleva a cabo la coreografa del proceso de negocio; consiste en tomar los servicios ms ptimos, resultado del emparejamiento, y ejecutarlos en el orden correcto, teniendo en cuenta la asignacin de variables intermedias.

El proceso empieza adquiriendo los datos necesarios del grounding del servicio para la ejecucin.

Luego determina las entradas que deben ser solicitadas, aquellas que sean de tipo cliente en la ontologa de dominio y las que no estn especificadas.

Cuando el cliente especifica las entradas necesarias, se procede a asignar dichos valores a todos los campos de entrada de los dems procesos a ejecutar que los necesiten.Luego se procede a ejecutar cada servicio emparejado, los servicios son consumidos mediante mensajes SOAP.

Este mtodo consiste en construir un mensaje SOAP tipo request utilizando los datos obtenidos del grounding del servicio y los valores asignados a las entradas, para enviarlo a travs de una conexin tipo http, y luego obtener la respuesta de un mensaje SOAP tipo response.

Debido a que el resultado de un servicio puede ser entrada para otro, se reutilizan estos datos.Cada vez que se ejecuta un mtodo se comprueba que el resultado es vlido, si no lo es, se rompe la ejecucin y se muestra un mensaje de error.

Por ltimo, se retorna al cliente el resultado obtenido de cada servicio web ejecutado.5. CONCLUSIONESOWL y las lgicas descriptivas se han convertido en tecnologas fundamentales para la automatizacin de procesos de negocio, pues mediantes ellas se implementan los distintos repositorios de ontologas necesarios para automatizar procesos de negocios.

Los servicios web semnticos se estn convirtiendo en una alternativa altamente viable para la implementacin de Workflows, ya que permite realizarse de forma automtica.

El modelado de procesos va migrando de la construccin de diseos grficos a diseo de ontologas en las cuales se especifica los distintos conceptos que componen un dominio y las relaciones que existen entre s.

Este prototipo asegura la ejecucin automtica de los servicios web, que forman parte de un proceso de negocio, ms apropiados para satisfacer los requerimientos de un cliente, usando el proceso de emparejamiento.

La composicin automtica de procesos de negocio se fundamenta en la utilizacin de razonadores que infieren conocimiento a partir de ontologas de dominio existentes en un repositorio, para componer el proceso de negocio mediante diversos sub procesos atmicos que lo satisfagan.

El proceso de emparejamiento automtico se fundamenta en la obtencin del grado de similitud entre los parmetros funcionales de un proceso solicitado y un servicio web disponible, de tal manera que se seleccione el servicio web disponible ms apropiado.

El proceso de ejecucin automtica consiste en consumir cada servicio web resultado del emparejamiento, es decir, los servicios web ms ptimos, que satisfacen un proceso de negocio solicitado. Para esto se tiene en cuenta la asignacin de datos intermedios, ya que una misma entrada puede utilizarse en varios servicios, y una salida puede convertirse en entrada.

No se ha logrado implementar en este prototipo todos los constructores de control disponibles en herramientas como BPEL, pues se hace necesario extender la estructura bsica de las ontologas de dominio, de forma que permita especificarlos.

En los ltimos tiempos se ha venido evidenciando el mejoramiento en el desarrollo de herramientas para el diseo de ontologas, su estandarizacin y seguridad.

Es importante seguir avanzando en el desarrollo de las tecnologas existentes para que incluyan aspectos que faciliten la automatizacin de procesos de negocio, tales como constructores de control, especificacin de mensajes de salida explcitos, entre otros.

Con el trabajo desarrollado se demuestra la viabilidad de usar servicios web semnticos en la automatizacin de procesos de negocio. Calderon, L. P. (2010)REFERENCIAS[1]Alvez, P. (2006). Proyecto Batuta - Generador de aplicaciones orquestadoras. Proyecto de grado. Universidad de la Repblica, Facultad de Ingeniera. Uruguay.[2]De Brujin, J. (2005). Service Modeling Ontology (WSMO). W3C Member Submission. http://www.w3.org/Submission/ WS MO. (Septiembre de 2010).

[3]Garcia, I. (2005) Servicios Web. Informe tcnico. Universidad de Castila, Departamento de Informtica. Espaa,

[4]Garcia S., F. (2007). Sistema basado en tecnologas del conocimiento para entornos de Servicios Web Semnticos. Tesis Doctoral. Universidad de Murcia, Departamento de Ingeniera de la Informacin y las Comunicaciones. Espaa,

[5]Giraldo, J. (2008). Integracin de procesos de negocio basados en servicios web: coreografa y satisfaccin de restricciones. Revista Ingenieras Universidad de Medelln, volumen 7, No. 12, pp. 141-155 Medelln.

[6]Martin, D. (2004). OWL-S: Semantic Markup for Web Services. W3C Member Submission. http://www.w3.org/Submi ssion/OWL-S/. (Septiembre de 2010).

[7]Mirllan O., D. (2009). Anlisis de las Tecnologas Existentes para la descripcin, composicin y ejecucin automtica de Servicios Web Semnticos. Trabajo de Grado (Ingeniera de Sistemas). Universidad de Pamplona, Departamento de Ingeniera Electrnica, Elctrica, Telecomunicaciones y Sistemas. Pamplona.

[8]Prez, M. y Perez, J. R. (2007). Servicios Web: Orquestacin y Coreografas. Universidad de Oviedo. http://www.di.uniovi.es/ ~juanrp/docencia/ws/orquestacion%20y%20coreografias.pdf. (Septiembre de 2010).

[9]Riina, M. (2006). Web Services Composition with WS-BPEL and OWL-S. http://www.ioc.ee/~tarmo/tsem05/maigre0902-slides.pdf. (Septiembre de 2010).

[10]Samper, J. J. (2005). Algoritmo de emparejamiento de perfiles en Servicios Web Semnticos. Revista Colombiana de Computacin, 2005. Revista Colombiana de Computacin, Vol. 6 No. 1, pp78-97. UNAB Colombia.

[11]Wikipeda. (2010). Proceso de Negocio. http://es.wikipedia.org/wiki/Proceso_de_negocio (Septiembre de 2010). [12]Calderon H., L. (2010). Automatizacin de procesos de negocio usando servicios web semnticos. Trabajo de Grado (Ingeniera de Sistemas). Universidad de Pamplona, Departamento de Ingeniera Electrnica, Elctrica, Telecomunicaciones y Sistemas. Pamplona.

Recibido: xx de mes de 20xx

Aceptado:

http://www.wfmc.org/reference-model.html

http://protege.stanford.edu/plugins/owl/download.html

http://dl.kr.org/dig/

http://www.mindswap.org/2003/pellet/

PAGE 7Universidad de Pamplona

I. I. D. T. A.