PDF de programación - Sesión 4: Procesos BPEL síncronos y asíncronos - Servicios Web

<<>>
Imágen de pdf Sesión 4: Procesos BPEL síncronos y asíncronos - Servicios Web

Sesión 4: Procesos BPEL síncronos y asíncronos - Servicios Webgráfica de visualizaciones

Publicado el 21 de Enero del 2019
702 visualizaciones desde el 21 de Enero del 2019
267,1 KB
19 paginas
Experto Universitario Java Enterprise

Servicios Web

Sesión 4: Procesos BPEL
síncronos y asíncronos



Experto Universitario Java Enterprise

Puntos a tratar
• Procesos BPEL síncronos
• Procesos BPEL asíncronos
• Ciclo de vida de los procesos BPEL
• Correlations
• Conjuntos de correlación
• Pasos a seguir para usar correlación en BPEL
• Conjuntos de correlación con Netbeans

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

2



Experto Universitario Java Enterprise

Invocación de servicios Web
• Invocación SECUENCIAL

<process...>
...
<sequence>
<!-- espera una petición-->
<receive.../>

<!--invocación secuencial -->
<invoque.../>
<invoque.../>
<invoque.../>
...
</sequence>
</process>

• Invocación CONCURRENTE
<process...>
...
<sequence>
<!-- espera una petición-->
<receive.../>
<!--invocación concurrente -->
<flow>
<invoque.../>
<invoque.../>
<invoque.../>
</flow>
...
</sequence>
</process>

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

3



Experto Universitario Java Enterprise

Invocación síncrona vs. asíncrona (I)
• Invocación síncrona (Operación request-reply)

Sender
(client)

1: request

2: response

Receiver

(Web service)

• Invocación asíncrona (Operación one-way)

1: Async one-way

Sender
(client)

Sender
(client)

Receiver

(Web service)

Receiver

(Web service)

1: Callback

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

4



Experto Universitario Java Enterprise

Mensaje de entrada

<variable>

Invocación de un servicio
síncrono

Aplicación

Cliente

PartnerL
inktype

Proceso BPEL

preparamos sIn

d1

<receive>

PartnerL
inktype

Servicio
síncrono

sIn
d3

d4
sOut

WSDL

leemos
sOut

<assign>

<invoque>

<assign>

<reply>

file.bpel

Mensaje de salida

<variable>

d2

WSDL

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

5



Experto Universitario Java Enterprise

Mensaje de entrada

<variable>

Invocación de un servicio
asíncrono

Aplicación

Cliente

PartnerL
inktype

Proceso BPEL

d1

<receive>

WSDL

<assign>

<invoque>

<receive>

<assign>

sIn

d3

sOut
d4

Mensaje de salida

<variable>

d2

<reply>

file.bpel

preparamos

sIn

PartnerL
inktype

Servicio
asíncrono

WSDL

esperamos
el callback
leemos
sOut

puerto
callback

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

6



Experto Universitario Java Enterprise

Proceso BPEL síncrono (II)
<!-- Estructura de un proceso BPEL síncrono -->
<process>
<receive partnerLink="pLinkA" portType="portA"


operation="opA" variable="invarA">

...... realizar procesamiento ......

<reply partnerLink="pLinkA" portType="portA"

operation="opA" variable="outvarB">
</process>

• La respuesta se devuelve al cliente de forma

inmediata

• Operación tipo request-response

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

7



Experto Universitario Java Enterprise

Proceso BPEL asíncrono (II)
<!-- Estructura de un proceso BPEL asíncrono -->
<process>
<receive partnerLink="pLinkA" portType="portA" operation="opA"
variable="invarA">

...... realizar procesamiento que consume mucho tiempo ......
<!-- Realizar una invocación sobre el cliente para devolver
los resultados -->
<invoque partnerLink="pLinkA" portType="callBackportA"
operation="opCallBackB" variable="outvarB">
</process>

• El cliente no se queda bloqueado en la llamada
• El cliente implementa una interfaz callback
• El proceso BPEL invoca a la interfaz callback sobre el

cliente. Operación tipo one-way

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

8



Experto Universitario Java Enterprise

Partner Links en procesos asíncronos
• Los partner links definen las relaciones con los

partners:
• el partner invoca al proceso BPEL (2)
• el partner es invocado por el proceso BPEL (1)
• el partner invoca y es invocado por el proceso BPEL (2-1)

1: Invoque

portType

A

Proceso BPEL

Servicio WEB

portType

B

2: CallBack

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

9



Experto Universitario Java Enterprise

Partner Link Types en procesos asíncronos

• Los partner link types permiten modelar las

relaciones entre un servicio Web y un proceso BPEL
mediante el uso de roles
• Cada partner link type debe tener como mucho dos roles
• Para cada rol se especifica qué portType se utilizará para

la interacción

• Un proceso asíncrono implementará dos roles, definidos

en un PartnerLinkType

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

10



Experto Universitario Java Enterprise

Ciclo de vida de los procesos BPEL
• Para procesos de negocio, es necesario utilizar

procesos con estado
• Los procesos BPEL siguen un modelo con estado y

soportan interacciones que llevan mucho tiempo

• Para cada interacción, se crea una instancia del

proceso
• La creación se realiza de forma implícita cuando el proceso

BPEL recibe el mensaje inicial (a través de actividades
receive o pick, con el atributo createInstance=yes)

• Esta instancia, "vive" durante la ejecución del proceso

de negocio

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

11



Experto Universitario Java Enterprise

Correlación
• Es el proceso de hacer corresponder un mensaje de

entrada a la máquina BPEL con un proceso
específico

• Las llamadas síncronas NO necesitan correlación
• BPEL utiliza datos específicos del negocio para

mantener referencias a instancias específicas del
proceso de negocio
• Conjuntos de correlación

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

12



Experto Universitario Java Enterprise

Conjuntos de correlación

• Un conjunto de

correlación está formado
por propiedades
(concepto abstracto)
• Cada propiedad es

mapeada con un
elemento en uno o más
tipos de mensajes
mediante property
aliases (aspecto
concreto)

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

13



Experto Universitario Java Enterprise

Uso de correlación

Proceso BPEL

incluye correlación basada en
los contenidos del mensaje

[2:05] receive
[2:06] process…
[2:22] callback

Iniciar servicio

<invoque>

d3

Esperar callback

<receive>

file.bpel

Servicio

PartnerLinktype

sIn

d4

WSDL

Servicio
asíncrono

puerto
callback

incluye correlación basada en
los contenidos del mensaje

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

14



Experto Universitario Java Enterprise

Pasos a seguir para usar correlación (I)
• Definimos una propiedad en nuestro WSDL

<bpws:property name="correlationData" type="xsd:int"/>

CONCEPTO
 ABSTRACTO

• Definimos una propertyAlias para cada elemento de

los datos de la correlación
<bpws:propertyAlias messageType="CoreBankingP2P:CallbackType"


<bpws:propertyAlias messageType="CoreBankingP2P:ServiceRequestType"

propertyName="CoreBankingP2P:correlationData"/>

part="accountNumber"
propertyName="CoreBankingP2P:correlationData"/>

part="accountNumber" !



Relacionamos
 el
 concepto
 abstracto
 con
 “partes”
 CONCRETAS
 de
 los
 mensajes
 
mediante
 ALIAS

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

15



Experto Universitario Java Enterprise

Pasos a seguir para usar correlación (II)
• Definimos el conjunto de correlación en el fichero

BPEL (antes de cualquier secuencia de actividades)

<correlationSets>
<correlationSet name="CS1"
properties="CoreBankingP2P:correlationData"/> </
correlationSets>

• Referenciamos el conjunto de correlación dentro de

la secuencia BPEL

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

16



Experto Universitario Java Enterprise

Pasos a seguir para usar correlación (II)

<!- - secuencia BPEL: referencia a conjuntos de correlación - ->
.......
<receive name="receiveRequest" partnerLink="Client"
portType="CoreBankingP2P:CoreBankingP2PPortType"
operation="applyForCC" variable="ServiceRequest"
createInstance="yes">
<correlations>
<correlation initiate="yes" set="CS1"/>
</correlations>
</receive>
.......
<receive name="P2Pcallback" partnerLink="CoreBankingP2PPLT"
portType="CoreBankingP2P:CoreBankingCallbackP2PPortType"
operation="callback" variable="CallbackRequest">
<correlations> <correlation set="CS1"/> </correlations>
</receive>
.......

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

17



Experto Universitario Java Enterprise

Conjuntos de correlación con Netbeans
• Definir las propiedades y alias en los ficheros WSDL
• Utilizamos la vista del Navegador: Windows > Navigator

• Definimos los conjuntos de correlación en el proceso

BPEL
• Utilizamos la vista de diseño del proceso BPEL

• Añadimos el conjunto de correlación a las actividades

• Utilizamos la vista de diseño del proceso BPEL

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Procesos BPEL Sincronos/Asincronos

18



Experto Universitario Java Enterprise

¿Pregunt
  • Links de descarga
http://lwp-l.com/pdf14933

Comentarios de: Sesión 4: Procesos BPEL síncronos y asíncronos - Servicios Web (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad