Chakray integración-service-wso2 esb-bonitabpm-20140504

2,360 views
2,412 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,360
On SlideShare
0
From Embeds
0
Number of Embeds
1,510
Actions
Shares
0
Downloads
32
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Chakray integración-service-wso2 esb-bonitabpm-20140504

  1. 1. w w w . c h a k r a y . c o m Integrar “Business Services” publicados en WSO2 ESB con Bonita BPM Luis Peñarrubia Peñalba En este documento detallaremos como integrar una serie de funcionalidades de OpenBravo ERP expuestos como “Business Services” usando un Service Proxy publicado en WSO2 ESB (WSO2 Enterprise Service Bus) con Bonita BPM.
  2. 2. 2 Por Luis Peñarrubia IT Consultant Integrar “Business Services” publicados en WSO2 ESB con Bonita BPM En este documento detallaremos como integrar una serie de funcionalidades de OpenBravo ERP1 expuestos como “Business Services” usando un Service Proxy publicado en WSO2 ESB2 (WSO2 Enterprise Service Bus) con Bonita BPM3 . Para ello vamos a diseñar un simple diagrama BPM con la ayuda de Bonita Studio en el que deberemos crear un conector para acceder al Service Proxy publicado en WSO2 ESB con los “Business Services” de OpenBravo ERP. Hemos divido el artículo en los siguientes puntos: 1. Instalación WSO2 ESB y Bonita BPM 2. Diagrama BPM con Bonita Studio 3. Ejecutar diagrama BPM 1 http://www.openbravo.com/ 2 http://wso2.com/products/enterprise-service-bus/ 3 http://www.bonitasoft.com/
  3. 3. 3 Por Luis Peñarrubia IT Consultant 1. Instalación WSO2 ESB y Bonita BPM Debemos tener instalados los productos WSO2 ESB y Bonita BPM. En este caso hemos utilizado las versiones ESB 4.8.0 y Bonita BPM Community Edition 6.0.4 sobre un entorno Windows. 1.1. Instalación WSO2 ESB La instalación WSO2 ESB es muy sencilla, a continuación se detallan los pasos: 1) Descargar WSO2 ESB. Se descargará un zip con todo el contenido. 2) Descomprimir zip descargado, se creará una carpeta wso2esb-4.8.0. 3) Para arrancar el servidor simplemente debemos ejecutar el fichero wso2server.bat que se encuentra en la carpeta bin. 4) Una vez arrancado el server podemos comprobar que la instalación ha sido correcta accediendo a la consola de WSO2 ESB desde nuestro navegador: http://localhost:9443 El puerto por defecto es el 9443 (en el log que aparece al arrancar el server se puede comprobar) y el usuario administrador por defecto es admin/admin.
  4. 4. 4 Por Luis Peñarrubia IT Consultant 1.2. Instalación Bonita BPM La instalación de Bonita BPM es muy sencilla, simplemente debemos seguir los pasos indicados en el wizard de instalación: 1) Descargar Bonita BPM. Se descargará un exe con todo el contenido. 2) Ejecutar exe descargado, aparecerá el típico wizard de instalación. 3) Seguir los pasos que aparecen en el wizard. No destacamos ningún paso ya que son los típicos de cualquier instalación. 4) Una vez finalizada la instalación en el escritorio aparecerá un acceso directo al aplicativo.
  5. 5. 5 Por Luis Peñarrubia IT Consultant 2. Diseñar diagrama BPM con Bonita Studio 2.1. Introducción Vamos a diseñar un diagrama BPM que simplemente realizará consultas contra las funcionalidades de OpenBravo ERP expuestos como “Business Services” usando un Service Proxy publicado en WSO2 ESB. Para ello, nuestro diagrama tendrá dos formularios:  Un formulario para indicar que consulta vamos a realizar.  Un formulario que nos mostrará el resultado de la consulta. Para acceder a los “Business Services” de OpenBravo ERP deberemos crear un conector que acceda al Service Proxy de WSO2 ESB en el que se encuentran publicados. 2.2. Crear diagrama Para crear el diagrama BPM simplemente debemos pulsar sobre el icono New. Nos aparecerá la página principal con todas las opciones que podemos realizar sobre el diagrama.
  6. 6. 6 Por Luis Peñarrubia IT Consultant El objetivo de este documento no es explicar todas las opciones que ofrece el mundo BPM, simplemente nos centraremos en las que nos interesan para la creación de nuestro diagrama. 2.2.1. Variables a nivel de Pool Definiremos una serie de variables que serán comunes a todas las tareas de nuestro diagrama. Para ello definiremos las variables a nivel de Pool, de forma que serán visibles en todo nuestro diagrama y evitaremos tener que crear las mismas variables en cada tarea. En concreto definiremos las siguientes variables:  endpoint: donde está publicado el Service Proxy de WSO2 ESB.  entity: listado de entidades de OpenBravo ERP que podremos consultar en nuestro Service Proxy.  id: identificador de la entidad de OpenBravo ERP que queremos consultar.  usuario: usuario de OpenBravo ERP con el que realizaremos las consultas.  password: password del usuario de OpenBravo ERP con el que realizaremos las consultas.  template_request_message: template del mensaje de request que se enviará al Service Proxy publicado en WSO2 ESB.  request_message: mensaje de request que se enviará al Service Proxy publicado en WSO2 ESB.  response_message: mensaje de response que nos devolverá el Service Proxy publicado en WSO2 ESB.  next_step: indica cual es la siguiente tarea que debe ejecutarse de nuestro diagrama. Para definir estas variables, deberemos seleccionar el Pool de nuestro diagrama y en la pestaña General, seleccionar el apartado Data.
  7. 7. 7 Por Luis Peñarrubia IT Consultant Definiremos todas las variables de tipo Text a excepción de la variable entity, que será una lista con todas las entidades de OpenBravo ERP que podremos consultar. El siguiente paso será diseñar el flujo de nuestro diagrama. 2.2.2. Flujo del diagrama Como hemos mencionado, necesitaremos dos formularios en nuestro diagrama:  Datos búsqueda: para especificar los datos concretos de la consulta.  Mostrar resultados: para mostrar los resultados de la consulta. Necesitaremos por tanto que un usuario rellene los datos de la consulta y visualice los resultados. Esto significa que en nuestro diagrama BPM deberemos crear dos tareas de tipo humanas: Datos búsqueda y Mostrar resultados. Además daremos la opción al usuario de una vez visualizados los resultados, volver a realizar una consulta o finalizar el proceso. Por tanto nuestro diagrama implementará el siguiente flujo:
  8. 8. 8 Por Luis Peñarrubia IT Consultant Como se puede ver en la imagen, desde la tarea Mostrar resultados podremos:  Finalizar el diagrama (opción por defecto).  Volver a la tarea Datos búsqueda. Para ello comprobaremos mediante un simple script Groovy4 si en el formulario de Mostrar resultados se ha informado la variable a nivel de Pool next_step con el valor Paso1 (hemos clicado sobre el botón de realizar nueva consulta). 4 http://groovy.codehaus.org/
  9. 9. 9 Por Luis Peñarrubia IT Consultant En este punto ya tenemos todo listo para poder entrar en el detalle de cada tarea de nuestro diagrama. 2.2.3. Datos búsqueda La tarea Datos búsqueda será de tipo humana (en la tarea se puede observar un icono de persona) e implementará el formulario donde introduciremos los datos de la consulta. Para crear el formulario deberemos seleccionar la tarea Datos búsqueda y en la pestaña Application, seleccionar el apartado Pageflow.
  10. 10. 10 Por Luis Peñarrubia IT Consultant En este caso seleccionaremos las variables endpoint, entity, id, usuario y password definidas a nivel de Pool y nos aparecerá un formulario con el siguiente aspecto. Para definir el detalle de cada campo del formulario, simplemente deberemos seleccionar el campo y nos aparecerán todas las opciones posibles. En este caso
  11. 11. 11 Por Luis Peñarrubia IT Consultant definiremos que todos los campos excepto id sean obligatorios, también indicaremos que el campo endpoint sea sólo de lectura. Por último, necesitaremos que en el botón Buscar del formulario se construya el mensaje de request con la información introducida por el usuario en el formulario. Este mensaje será el que se enviará al Service Proxy publicado en WSO2 ESB. Para ello seleccionaremos el campo Buscar y en el apartado Actions definiremos una acción que simplemente obtenga la variable de Pool template_request_message y sustituya los valores del template por los seleccionados por el usuario.
  12. 12. 12 Por Luis Peñarrubia IT Consultant Para hacer esto como se puede observar en la imagen hemos utilizado un simple script Groovy. 2.2.4. Mostrar resultados La tarea Mostrar resultados será de tipo humana (en la tarea se puede observar un icono de persona) e implementará el formulario donde podremos consultar los resultados de la consulta. Para crear el formulario deberemos seleccionar la tarea Mostrar resultados y en la pestaña Application, seleccionar el apartado Pageflow.
  13. 13. 13 Por Luis Peñarrubia IT Consultant En este caso seleccionaremos las variables endpoint, entity, usuario, password, request_message, response_message definidas a nivel de Pool y nos aparecerá un formulario con el siguiente aspecto.
  14. 14. 14 Por Luis Peñarrubia IT Consultant Como en esta tarea simplemente mostraremos los resultados de la consulta, definiremos que todos los campos sean sólo de lectura. Por último, necesitaremos que el botón Nueva Búsqueda del formulario nos retorne a la tarea Datos búsqueda. Para ello seleccionaremos el campo Nueva Búsqueda y en el apartado Actions definiremos una acción que simplemente asigne a la variable de Pool next_step el valor Paso1.
  15. 15. 15 Por Luis Peñarrubia IT Consultant 2.2.5. Crear conector Para acabar de diseñar el diagrama nos falta crear el conector que acceda al Service Proxy de WSO2 ESB en el que se encuentran publicados los “Business Services” de OpenBravo ERP. En este diagrama el mensaje de request se construye en el submit de la tarea Datos búsqueda, por lo que vamos a invocar el conector al inicio de la tarea Mostrar resultados. Para ello debemos seleccionar la tarea Mostrar resultado y en la pestaña General, apartado Connectors, añadiremos un conector de tipo WebService SOAP 1.2.
  16. 16. 16 Por Luis Peñarrubia IT Consultant Una vez creado el conector, aparecerá en la tarea un icono de identificativo. Nos aparecerá el wizard para la creación del conector. En este punto necesitaremos consultar la información del Service Proxy publicado en WSO2 ESB con los “Business Services” de OpenBravo ERP. Dicha información la podemos obtener desde el apartado Services  List de la consola de WSO2 ESB. En el primer paso del wizard definiremos los datos generales:  Name: nombre del conector.
  17. 17. 17 Por Luis Peñarrubia IT Consultant  Select event: cuando queremos que el conector se ejecute (inicio o fin de la tarea).  If connector fails: qué hacer si ocurre un error en el conector. En el segundo paso definiremos los datos de conexión al WebService:  Service NS: nombre del namespace.  Service name: nombre del servicio. En el tercer paso definiremos los datos de request del WebService:  Port name: nombre del puerto usado por el servicio.
  18. 18. 18 Por Luis Peñarrubia IT Consultant  End point address: donde se encuentra publicado el servicio. En este caso le asignamos la variable de Pool endpoint.  Binding: binding SOAP, en la mayoría de casos http://www.w3.org/2003/05/soap/bindings/HTTP/  Envelope: envelope del mensaje SOAP. En este caso le asignaremos la variable de Pool request_message. En el cuarto paso definiremos datos adicionales del request del WebService:  HTTP headers: Cabeceras HTTP, en este caso no son necesarias. En el quinto paso definiremos el response. En este caso nos interesa obtener el envelope y body.
  19. 19. 19 Por Luis Peñarrubia IT Consultant En el sexto y último paso definiremos las operaciones del Output. Es decir que hacer con la respuesta que obtiene el conector. En este caso asignaremos la respuesta obtenida a la variable de Pool response_message. Para ello crearemos un simple script Groovy.
  20. 20. 20 Por Luis Peñarrubia IT Consultant 3. Ejecutar diagrama BPM Una vez finalizado el diseño del diagrama, vamos a comprobar su correcto funcionamiento. Para ello simplemente desde el Visual Studio de Bonita debemos clicar sobre el icono Run. Automáticamente se desplegará el diagrama sobre el engine de Bonita BPM y nos abrirá un navegador con nuestro diagrama. En este caso como habíamos diseñado aparecerá el formulario de la tarea Datos búsqueda, donde deberemos introducir los datos de la consulta y clicar sobre el botón Buscar. A continuación aparecerá el formulario de la tarea Mostrar resultados, donde podremos consultar los resultados de la consulta y en caso de querer realizar otra consulta, podremos volver a la tarea Datos búsqueda clicando sobre el botón Nueva búsqueda.
  21. 21. 21 Por Luis Peñarrubia IT Consultant
  22. 22. 22 Por Luis Peñarrubia IT Consultant Autor: Luis Peñarrubia IT Consultant Chakray Consulting www.chakray.com  LinkedIn: http://www.linkedin.com/in/luispenarrubia Twitter: @LuisPenarrubia

×