miércoles, 27 de mayo de 2009

Como usar PICK (listener) en BPEL

Bueno en esta ocacion crearemos un Proceso Bpel que quedara a la espera de una respuesta para poder continuar, este elemento se llama PICK, es utilizado en los TaskManager...

ok para empezar ... desde new proyect escojeremos BPEL Process Project..


Luego escojeremos -->



Asynchronous BPEL Process.. luego presionamos Finish

Ahora formaremos la siguiente figura :



usando un Process activities llamado PICK, este process actitivities (PA), se utiliza para poder dejar detenido el proceso bpel a la espera de que una de las operaciones definidas en el wsdl del proyecto, sea iniciada.

para este ejemplo crearemos una nueva operacion y un nuevo message de respuesta, la cual usaremos para dejar en espera de una respuesta al proceso bpel..

primero modifiquemos el WSDL de la siguiente manera..
dentro de nuestro proyecto, seleccionaremos nuestro wsdl, luego en la vista de "Structure", en la pestaña de "Design" sobre el nodo "Messages" haremos click derecho y seleccionaremos "insert message", luego aparecera un pequeño formulario donde nos preguntara el nombre del nuevo mensaje, como lo muestra la siguiente imagen.



haremos click derecho sobre "message - RespuestaMessage", seleccionaremos sobre este menu las siguiente opciones : insert inside message - RespuestaMessager --> http://schemas.xmlsoap.org/wsdl/ --> part

y le ponderemos lo llenaremos como se muestra en la siguiente imagen..



ahora volvamos a la ventana de diseño del proceso Bpel..

haremos doble click sobre el unico PICK que definimos (cuando uno crea un pick siempre va acompañado de un pick de expiracion de tiempo, en este ejemplo lo he borrado solo trabajaremos con uno). al hacer doble click sobre este aparecera el siguiente formulario.



haremos click sobre la imagen de la linterna que esta asociado al parnert link, donde aparecera el siguiente formulario..



Selecionamos el parnert link de "client", y dentro de el seleccionaremos el PortType-BpelEspera, para poder agregar nuestra operacion de "listener" del proceso bpel en cuestion, para ello haremos click sobre el icono de la "varita magica". y llenaremos el formulario que aparece, de la siguiente manera, como se muestra en esta imagen..



asi nuestro parnert link quedara asi..



Ahora estamos listos para relacionar esta nueva operacion al PA de pick..
hacemos doblick sobre el y crearemos una variable para asociarla a nuestra nueva operacion ..



pare ello haremos click sobre la "varita magica" en donde aparece "variable" y le colocaremos a esta el nombre "respuesta_Input"...


ok ahora viene toda la gracia de esta rutina
haremos que el proceso Bpel quede a la espera de recibir un string y este se lo entregaremos con un Assign a la variable output del Bpel.. el codigo es el siguiente...

Lo cual en la vista de diseño se ve asi..



y listo , si tienes dudas y desean modificar esto, el codigo fuente lo pueden bajar desde aqui

No hay comentarios:

Publicar un comentario