SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
1
Elaborado por: Jorge Infante Osorio.
En este documento queremos mostrarles cómo implementar un servicio de proceso con la
suite de WSO2 usando BPEL como lenguaje, el WSO2 Developer Studio como IDE y el WSO2
BPS como herramienta para el despliegue del proceso.
Usaremos un proceso que por su sencillez lo encontramos ideal para mostrar lo básico de la
implementación que realizaremos. El diseño del proceso se puede apreciar en la siguiente
imagen:
Este proceso representa la ejecución de la siguiente ecuación matemática:
f(x) = [(a * b) - (a + b) ]^2
Y lo hemos tomado de esta entrada y su segunda parte:
http://thiliniishaka.blogspot.com/2012/10/develop-ws-bpel-process-using-wso2.html
2
Elaborado por: Jorge Infante Osorio.
La acción 1 es implementar los servicios que serán consumidos desde el proceso.
Tendremos los siguientes:
1. AdderService: se encarga de recibir 2 números y devolver el resultado de su suma.
2. MultiplyService: se encarga de recibir 2 números y devolver el resultado de su
multiplicación.
3. SubtractService: se encarga de recibir 2 números y devolver el resultado de su resta.
4. SquareService: se encarga de recibir 1 número y devolver su cuadrado.
Estos servicios se implementan en axis2 y para ello abrimos el WSO2 Developer Studio y
creamos un proyecto “Axis2 Service Project” seleccionando la opción desde el Dashboard.
Luego seleccionamos la primera opción:
Damos siguiente y procedemos a llenar la información que nos piden.
3
Elaborado por: Jorge Infante Osorio.
Al dar Finish se nos creará un proyecto axis2 y una clase con el nombre que le especificamos.
En el caso de nuestros servicios quedan como sigue:
Servicio Subtract:
Servicio Adder:
4
Elaborado por: Jorge Infante Osorio.
Servicio Multiply:
Servicio Square:
Luego de tenerlos implementamos solo nos queda dar clic encima de cada proyecto,
seleccionar la opción “Export Project as Deployable Archive”
5
Elaborado por: Jorge Infante Osorio.
Ahí seleccionamos la opción de que se guarden en
[AS_HOME]repositorydeploymentserveraxis2services y levantamos el AS para desplegar
los servicios axis2 recién implementados.
Ahora solo queda probarlo y eso lo pueden hacer con el SOAPUI para garantizar que funcionan
correctamente. Un ejemplo lo mostramos a continuación con el servicio de Square:
La acción 2 es crear un proyecto BPEL en el mismo WSO2 Developer Studio.
Seleccionamos en el Dashboard la opción de “BPEL Workflow”
6
Elaborado por: Jorge Infante Osorio.
Marcamos la primera opción y damos siguiente:
En la siguiente ventana introducimos los datos solicitados, en nuestro caso son los siguientes:
7
Elaborado por: Jorge Infante Osorio.
Damos Finish y seleccionamos “Yes” cuando se nos pide cambiar de perspectiva. El proceso
creado, su esqueleto, será el siguiente:
Ahora debemos comenzar a definir el WSDL del servicio BPEL que será lo que estará expuesto
para que sea consumido. En este caso el servicio recibirá 2 números y devolverá un resultado.
Automáticamente cuando se crea un proceso BPEL se crea su WSDL y como seleccionamos un
proceso síncrono la operación es del tipo In/Out, como se puede ver en esta imagen.
Para modificar sus esquemas basta con dar clic en las flechas que aparecen al lado de los
elementos Request y Response.
El esquema de entrada queda como sigue luego de modificado:
8
Elaborado por: Jorge Infante Osorio.
El esquema de salida queda como sigue luego de modificado:
En la vista “Source” este cambio se puede ver como sigue:
Si vamos a la definición del proceso BPEL dando doble clic sobre el fichero que termina en
.bpel y pasando a la vista de “Source” veremos cómo se importa el WSDL del cliente para este
servicio:
9
Elaborado por: Jorge Infante Osorio.
Luego de terminada esta acción debemos definir la estructura del proceso. Los pasos son los
siguientes:
Paso 1: removemos el componente empty “FIX_ME-Add_Business_Logic_Here”.
Paso 2: agregamos un elemento de tipo Actions “Assign” seleccionándolo desde la paleta y
arrastrándolo hasta el lugar en que queremos que quede y poniéndole un nombre.
Paso 3: como hay 2 actividades que se pueden realizar en paralelo agregamos un elemento de
tipo Control2 “Flow”. De esta manera indicamos que se pueden ejecutar en paralelo y no
secuencialmente, pues no depende una actividad de la otra.
10
Elaborado por: Jorge Infante Osorio.
Paso 4: agregamos dentro del elemento flow 2 elementos de tipo Actions “Invoke”. Este
elemento es usado para invocar un servicio web.
11
Elaborado por: Jorge Infante Osorio.
Aquí nos detenemos porque eliminaremos los errores que van apareciendo debido a que no
estamos llenando la información que se requiere.
Comenzaremos por los Invoke, para ello damos clic encima del Invoke con nombre
“Invoke_AdderService”, vamos a sus propiedades y buscamos la opción que se muestra en la
siguiente imagen para crear un partner link, dando doble clic sobre la misma.
Un Partner Link será el mecanismo que nos permitirá consumir un servicio web, en este caso el
de AdderService.
Al dar doble clic nos pide un nombre para el PL:
12
Elaborado por: Jorge Infante Osorio.
Ahora debemos especificar el WSDL del servicio a consumir.
Aquí debemos dar clic en el botón “Add WSDL” ya que no hemos creado los Partner Link aun.
13
Elaborado por: Jorge Infante Osorio.
Seleccionamos el WSDL importado anteriormente que queremos usar y damos clic en OK.
Luego nos muestra ya el WSDL incluido.
NOTA: en la implementación inicial de este ejemplo se usó la URL del wsdl del servicio para no tener que
importarlo, esto implicó algunos errores que conllevaron a la decisión de primero importar los WSDL de
los servicios a consumir y ponerlos al mismo nivel que el WSDL del proceso BPEL.
14
Elaborado por: Jorge Infante Osorio.
Y damos OK.
Nos pide definir un Type para este Partner Link.
15
Elaborado por: Jorge Infante Osorio.
Y un rol también.
Al dar Finish volvemos a ver las propiedades de la actividad “Invoke” lo que ya con el partner
link definido.
Para definir la operación debemos dar doble clic en la sección de “Quick Pick” encima de “add”
para que nos liste la operación y además nos visualice los elementos de entrada y salida.
16
Elaborado por: Jorge Infante Osorio.
Ahora lo mismo que hicimos para el invoke del servicio AdderService, lo debemos repetir para
el servicio de MultiplyService.
Una vez que ambos PL han sido creados, vamos a la actividad superior, la de asignar los valores
de entrada y vamos a sus propiedades.
Ahí debemos dar clic en New y seleccionamos los elementos como se muestra a continuación.
Una vez hecho esto damos “CTRL + S” para guardar y se nos preguntará si generamos un
inicializador para la variable a lo que respondemos “YES”.
Esto que se acaba de hacer es una asignación del valor numA al valor a. así que debemos
volver a dar clic en New para realizar la asignación del valor numB a b.
17
Elaborado por: Jorge Infante Osorio.
Luego hacemos lo mismo pero para el servicio de Multiply quedando como sigue:
Llegados a este punto ya el proceso no nos marca errores:
18
Elaborado por: Jorge Infante Osorio.
Ahora debemos ir al paso 5 y agregar un elemento Assign para asignar los resultados de las 2
invocaciones anteriores como entradas al servicio de SubtractService.
El proceso es el mismo, agregamos el assign, luego agregamos el invoke al servicio. Creamos
un PL para ese servicio y procedemos a realizar las asignaciones. Esto no lo documento pues ya
se hizo para los 2 servicios anteriores.
Quedaría inicialmente así:
La asignación queda como sigue:
Como ven se mapea el resultado de la operación de adición con el parámetro a del servicio de
substracción. Lo mismo se hace con la operación de multiplicación.
19
Elaborado por: Jorge Infante Osorio.
En el paso 6 debemos agregar un elemento assign y un invoke para consumir el servicio de
SquareService pasándole como entrada la salida del servicio SubstractService.
20
Elaborado por: Jorge Infante Osorio.
La asignación queda como sigue:
Paso 7: solo queda asignar el resultado de la invocación al servicio SquareService al output del
servicio BPEL.
21
Elaborado por: Jorge Infante Osorio.
El proceso finalmente queda como sigue:
La acción 3 es realizar el despliegue.
Primero vamos al fichero deploy.xml dentro del proyecto, le damos doble clic y garantizamos
que quede así:
22
Elaborado por: Jorge Infante Osorio.
Luego podemos dar clic derecho en el proyecto, seleccionar la opción de “Export Project as a
Deployable Archive” y podemos guardarlo en:
[BPS_HOME]repositorydeploymentserverbpel
Una vez iniciado el WSO2 BPS, nos autenticamos y vamos a la sección “Home >
Manage>Processes> List”
Pinchamos en el nombre del paquete y luego en el nombre del proceso hasta llegar a esta
vista.
Aquí pueden seleccionar la opción “Try it” y probar.
23
Elaborado por: Jorge Infante Osorio.
Y eso es todo.
Como ven el WSO2 BPS nos sirve para el desarrollo de orquestaciones de servicios y en
próximos documentos estaremos explorando más funcionalidades relacionadas con esta
herramienta.
Esperamos les resulte de utilidad.

Más contenido relacionado

Similar a WSO2 BPS: Desarrollando un proceso de negocio con BPEL

Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresConfigurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresIvan Luis Jimenez
 
Manual web service.
Manual web service.Manual web service.
Manual web service.xxxxxxxx
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datosRafael Quintero
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basicsantiagomario8
 
Laboratorio GXflow GX23
Laboratorio GXflow GX23Laboratorio GXflow GX23
Laboratorio GXflow GX23GeneXus
 
tutorial de instalación de visual basic.
tutorial de instalación de visual basic.tutorial de instalación de visual basic.
tutorial de instalación de visual basic.albertelectronica
 
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerConsumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerIsildurMaC
 
Base de datos desde vb 6.0
Base de datos desde vb 6.0Base de datos desde vb 6.0
Base de datos desde vb 6.0WendyMendez30
 
3 -manual_de_usuario_final_ps (1)
3  -manual_de_usuario_final_ps (1)3  -manual_de_usuario_final_ps (1)
3 -manual_de_usuario_final_ps (1)Alan Almeida
 
Reportes y graficos en .net
Reportes y graficos en .net Reportes y graficos en .net
Reportes y graficos en .net Juan Villena
 
Taller de koha fin (1).ppsx
Taller de koha fin (1).ppsxTaller de koha fin (1).ppsx
Taller de koha fin (1).ppsxBibliotecaImbiv
 
Tutorial de instalacion de vb 6.0 y entorno de trabajo
Tutorial de instalacion de vb 6.0 y entorno de trabajoTutorial de instalacion de vb 6.0 y entorno de trabajo
Tutorial de instalacion de vb 6.0 y entorno de trabajoismaelelectricista
 
Informe costo por ordenes
Informe costo por ordenesInforme costo por ordenes
Informe costo por ordenesJulio Huamán
 
PRESENTACION UNO
PRESENTACION UNOPRESENTACION UNO
PRESENTACION UNOmirofa
 
Practica de Domotica con Logo! de Siemens
Practica de Domotica con Logo! de SiemensPractica de Domotica con Logo! de Siemens
Practica de Domotica con Logo! de Siemensxendika2
 

Similar a WSO2 BPS: Desarrollando un proceso de negocio con BPEL (20)

cursoTutorialBPEL.pdf
cursoTutorialBPEL.pdfcursoTutorialBPEL.pdf
cursoTutorialBPEL.pdf
 
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresConfigurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
 
Manual web service.
Manual web service.Manual web service.
Manual web service.
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Reportes estadiscos visual studio 2010
Reportes estadiscos visual studio 2010Reportes estadiscos visual studio 2010
Reportes estadiscos visual studio 2010
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Laboratorio GXflow GX23
Laboratorio GXflow GX23Laboratorio GXflow GX23
Laboratorio GXflow GX23
 
tutorial de instalación de visual basic.
tutorial de instalación de visual basic.tutorial de instalación de visual basic.
tutorial de instalación de visual basic.
 
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerConsumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API Manager
 
Base de datos desde vb 6.0
Base de datos desde vb 6.0Base de datos desde vb 6.0
Base de datos desde vb 6.0
 
Programacion2
Programacion2Programacion2
Programacion2
 
3 -manual_de_usuario_final_ps (1)
3  -manual_de_usuario_final_ps (1)3  -manual_de_usuario_final_ps (1)
3 -manual_de_usuario_final_ps (1)
 
Reportes y graficos en .net
Reportes y graficos en .net Reportes y graficos en .net
Reportes y graficos en .net
 
Taller de koha fin (1).ppsx
Taller de koha fin (1).ppsxTaller de koha fin (1).ppsx
Taller de koha fin (1).ppsx
 
Tutorial de instalacion de vb 6.0 y entorno de trabajo
Tutorial de instalacion de vb 6.0 y entorno de trabajoTutorial de instalacion de vb 6.0 y entorno de trabajo
Tutorial de instalacion de vb 6.0 y entorno de trabajo
 
Informe costo por ordenes
Informe costo por ordenesInforme costo por ordenes
Informe costo por ordenes
 
PRESENTACION UNO
PRESENTACION UNOPRESENTACION UNO
PRESENTACION UNO
 
Programa 2 en Eclipse
Programa 2 en Eclipse Programa 2 en Eclipse
Programa 2 en Eclipse
 
Practica de Domotica con Logo! de Siemens
Practica de Domotica con Logo! de SiemensPractica de Domotica con Logo! de Siemens
Practica de Domotica con Logo! de Siemens
 
Lazarus
LazarusLazarus
Lazarus
 

Último

Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Leonardo J. Caballero G.
 
Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++luzgaray6
 
Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.CeteliInmaculada
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Leonardo J. Caballero G.
 

Último (6)

Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024
 
Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++
 
Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024
 

WSO2 BPS: Desarrollando un proceso de negocio con BPEL

  • 1. 1 Elaborado por: Jorge Infante Osorio. En este documento queremos mostrarles cómo implementar un servicio de proceso con la suite de WSO2 usando BPEL como lenguaje, el WSO2 Developer Studio como IDE y el WSO2 BPS como herramienta para el despliegue del proceso. Usaremos un proceso que por su sencillez lo encontramos ideal para mostrar lo básico de la implementación que realizaremos. El diseño del proceso se puede apreciar en la siguiente imagen: Este proceso representa la ejecución de la siguiente ecuación matemática: f(x) = [(a * b) - (a + b) ]^2 Y lo hemos tomado de esta entrada y su segunda parte: http://thiliniishaka.blogspot.com/2012/10/develop-ws-bpel-process-using-wso2.html
  • 2. 2 Elaborado por: Jorge Infante Osorio. La acción 1 es implementar los servicios que serán consumidos desde el proceso. Tendremos los siguientes: 1. AdderService: se encarga de recibir 2 números y devolver el resultado de su suma. 2. MultiplyService: se encarga de recibir 2 números y devolver el resultado de su multiplicación. 3. SubtractService: se encarga de recibir 2 números y devolver el resultado de su resta. 4. SquareService: se encarga de recibir 1 número y devolver su cuadrado. Estos servicios se implementan en axis2 y para ello abrimos el WSO2 Developer Studio y creamos un proyecto “Axis2 Service Project” seleccionando la opción desde el Dashboard. Luego seleccionamos la primera opción: Damos siguiente y procedemos a llenar la información que nos piden.
  • 3. 3 Elaborado por: Jorge Infante Osorio. Al dar Finish se nos creará un proyecto axis2 y una clase con el nombre que le especificamos. En el caso de nuestros servicios quedan como sigue: Servicio Subtract: Servicio Adder:
  • 4. 4 Elaborado por: Jorge Infante Osorio. Servicio Multiply: Servicio Square: Luego de tenerlos implementamos solo nos queda dar clic encima de cada proyecto, seleccionar la opción “Export Project as Deployable Archive”
  • 5. 5 Elaborado por: Jorge Infante Osorio. Ahí seleccionamos la opción de que se guarden en [AS_HOME]repositorydeploymentserveraxis2services y levantamos el AS para desplegar los servicios axis2 recién implementados. Ahora solo queda probarlo y eso lo pueden hacer con el SOAPUI para garantizar que funcionan correctamente. Un ejemplo lo mostramos a continuación con el servicio de Square: La acción 2 es crear un proyecto BPEL en el mismo WSO2 Developer Studio. Seleccionamos en el Dashboard la opción de “BPEL Workflow”
  • 6. 6 Elaborado por: Jorge Infante Osorio. Marcamos la primera opción y damos siguiente: En la siguiente ventana introducimos los datos solicitados, en nuestro caso son los siguientes:
  • 7. 7 Elaborado por: Jorge Infante Osorio. Damos Finish y seleccionamos “Yes” cuando se nos pide cambiar de perspectiva. El proceso creado, su esqueleto, será el siguiente: Ahora debemos comenzar a definir el WSDL del servicio BPEL que será lo que estará expuesto para que sea consumido. En este caso el servicio recibirá 2 números y devolverá un resultado. Automáticamente cuando se crea un proceso BPEL se crea su WSDL y como seleccionamos un proceso síncrono la operación es del tipo In/Out, como se puede ver en esta imagen. Para modificar sus esquemas basta con dar clic en las flechas que aparecen al lado de los elementos Request y Response. El esquema de entrada queda como sigue luego de modificado:
  • 8. 8 Elaborado por: Jorge Infante Osorio. El esquema de salida queda como sigue luego de modificado: En la vista “Source” este cambio se puede ver como sigue: Si vamos a la definición del proceso BPEL dando doble clic sobre el fichero que termina en .bpel y pasando a la vista de “Source” veremos cómo se importa el WSDL del cliente para este servicio:
  • 9. 9 Elaborado por: Jorge Infante Osorio. Luego de terminada esta acción debemos definir la estructura del proceso. Los pasos son los siguientes: Paso 1: removemos el componente empty “FIX_ME-Add_Business_Logic_Here”. Paso 2: agregamos un elemento de tipo Actions “Assign” seleccionándolo desde la paleta y arrastrándolo hasta el lugar en que queremos que quede y poniéndole un nombre. Paso 3: como hay 2 actividades que se pueden realizar en paralelo agregamos un elemento de tipo Control2 “Flow”. De esta manera indicamos que se pueden ejecutar en paralelo y no secuencialmente, pues no depende una actividad de la otra.
  • 10. 10 Elaborado por: Jorge Infante Osorio. Paso 4: agregamos dentro del elemento flow 2 elementos de tipo Actions “Invoke”. Este elemento es usado para invocar un servicio web.
  • 11. 11 Elaborado por: Jorge Infante Osorio. Aquí nos detenemos porque eliminaremos los errores que van apareciendo debido a que no estamos llenando la información que se requiere. Comenzaremos por los Invoke, para ello damos clic encima del Invoke con nombre “Invoke_AdderService”, vamos a sus propiedades y buscamos la opción que se muestra en la siguiente imagen para crear un partner link, dando doble clic sobre la misma. Un Partner Link será el mecanismo que nos permitirá consumir un servicio web, en este caso el de AdderService. Al dar doble clic nos pide un nombre para el PL:
  • 12. 12 Elaborado por: Jorge Infante Osorio. Ahora debemos especificar el WSDL del servicio a consumir. Aquí debemos dar clic en el botón “Add WSDL” ya que no hemos creado los Partner Link aun.
  • 13. 13 Elaborado por: Jorge Infante Osorio. Seleccionamos el WSDL importado anteriormente que queremos usar y damos clic en OK. Luego nos muestra ya el WSDL incluido. NOTA: en la implementación inicial de este ejemplo se usó la URL del wsdl del servicio para no tener que importarlo, esto implicó algunos errores que conllevaron a la decisión de primero importar los WSDL de los servicios a consumir y ponerlos al mismo nivel que el WSDL del proceso BPEL.
  • 14. 14 Elaborado por: Jorge Infante Osorio. Y damos OK. Nos pide definir un Type para este Partner Link.
  • 15. 15 Elaborado por: Jorge Infante Osorio. Y un rol también. Al dar Finish volvemos a ver las propiedades de la actividad “Invoke” lo que ya con el partner link definido. Para definir la operación debemos dar doble clic en la sección de “Quick Pick” encima de “add” para que nos liste la operación y además nos visualice los elementos de entrada y salida.
  • 16. 16 Elaborado por: Jorge Infante Osorio. Ahora lo mismo que hicimos para el invoke del servicio AdderService, lo debemos repetir para el servicio de MultiplyService. Una vez que ambos PL han sido creados, vamos a la actividad superior, la de asignar los valores de entrada y vamos a sus propiedades. Ahí debemos dar clic en New y seleccionamos los elementos como se muestra a continuación. Una vez hecho esto damos “CTRL + S” para guardar y se nos preguntará si generamos un inicializador para la variable a lo que respondemos “YES”. Esto que se acaba de hacer es una asignación del valor numA al valor a. así que debemos volver a dar clic en New para realizar la asignación del valor numB a b.
  • 17. 17 Elaborado por: Jorge Infante Osorio. Luego hacemos lo mismo pero para el servicio de Multiply quedando como sigue: Llegados a este punto ya el proceso no nos marca errores:
  • 18. 18 Elaborado por: Jorge Infante Osorio. Ahora debemos ir al paso 5 y agregar un elemento Assign para asignar los resultados de las 2 invocaciones anteriores como entradas al servicio de SubtractService. El proceso es el mismo, agregamos el assign, luego agregamos el invoke al servicio. Creamos un PL para ese servicio y procedemos a realizar las asignaciones. Esto no lo documento pues ya se hizo para los 2 servicios anteriores. Quedaría inicialmente así: La asignación queda como sigue: Como ven se mapea el resultado de la operación de adición con el parámetro a del servicio de substracción. Lo mismo se hace con la operación de multiplicación.
  • 19. 19 Elaborado por: Jorge Infante Osorio. En el paso 6 debemos agregar un elemento assign y un invoke para consumir el servicio de SquareService pasándole como entrada la salida del servicio SubstractService.
  • 20. 20 Elaborado por: Jorge Infante Osorio. La asignación queda como sigue: Paso 7: solo queda asignar el resultado de la invocación al servicio SquareService al output del servicio BPEL.
  • 21. 21 Elaborado por: Jorge Infante Osorio. El proceso finalmente queda como sigue: La acción 3 es realizar el despliegue. Primero vamos al fichero deploy.xml dentro del proyecto, le damos doble clic y garantizamos que quede así:
  • 22. 22 Elaborado por: Jorge Infante Osorio. Luego podemos dar clic derecho en el proyecto, seleccionar la opción de “Export Project as a Deployable Archive” y podemos guardarlo en: [BPS_HOME]repositorydeploymentserverbpel Una vez iniciado el WSO2 BPS, nos autenticamos y vamos a la sección “Home > Manage>Processes> List” Pinchamos en el nombre del paquete y luego en el nombre del proceso hasta llegar a esta vista. Aquí pueden seleccionar la opción “Try it” y probar.
  • 23. 23 Elaborado por: Jorge Infante Osorio. Y eso es todo. Como ven el WSO2 BPS nos sirve para el desarrollo de orquestaciones de servicios y en próximos documentos estaremos explorando más funcionalidades relacionadas con esta herramienta. Esperamos les resulte de utilidad.