ContinuationToken
Un token de continuación se usa para correlacionar información heterogénea dentro de la infraestructura de BAM. Considere un proceso empresarial que construye los siguientes tipos de mensajes:
Pedido de compra identificado por un número de pedido de compra
Pedido de venta identificado por un número de pedido de venta
Pedido de envío identificado por un número de pedido de envío
En este proceso, hay tres identificadores importantes: id. de pedido de compra, id. de pedido de venta y id. de pedido de envío. Cada uno de estos identificadores señalan un evento importante en el período de vida del pedido original, pero no pueden correlacionarse directamente. Para realizar un seguimiento de los eventos relacionados con un pedido de compra, la información común entre los mensajes debe identificarse para ayudar a la infraestructura de seguimiento de BAM a correlacionar de forma precisa los eventos.
Formato
Un token de continuación consta de un elemento de expresión y de una o varias operaciones:
<ic:ContinuationToken>
<ic:Expression>
<!-- Operations -->
</ic:Expression>
</ic:ContinuationToken>
Comentarios
En expresiones de ContinuationToken, no se permiten las operaciones comunes siguientes:
And
Equals
[El encabezado de la sección de operaciones de WF/WCF debe tener gráficos similares y otros gráficos según sea necesario]
Ejemplo
En este ejemplo, se recupera un token de continuación para un proceso wf desde el flujo de trabajo mediante GetWorkflowProperty
. Aquí el programador ha decidido proporcionar asistencia para la continuación en el flujo de trabajo mediante el uso de código personalizado, probablemente porque el proceso para la determinación del token de continuación implica más de dos o tres expresiones y puede depender de los datos externos.
<ic:ContinuationToken>
<ic:Expression>
<wf:Operation Name="GetWorkflowProperty">
<wf:Argument>ContinuationToken</wf:Argument>
</wf:Operation>
</ic:Expression>
</ic:ContinuationToken>
Puede elegir proporcionar funcionalidades similares en sus nuevas aplicaciones WF o WCF, o bien, si el token es fácil de establecer mediante el uso de operaciones de expresiones, puede evitar escribir el código adicional.
En el ejemplo siguiente se establece un token de continuación para un proceso WCF mediante una operación XPath para recuperar el número de tarjeta de crédito del mensaje actual y las operaciones constantes y concatenadas para anteponer la cadena "CID_" al número recuperado:
<ic:ContinuationToken>
<ic:Expression>
<ic:Operation Name="Constant">
<ic:Argument>CID_</ic:Argument>
</ic:Operation>
<wcf:Operation Name="XPath">
<wcf:Argument>//Purchase/Payment/CreditCardNumber</wcf:Argument>
</wcf:Operation>
<ic:Operation Name="Concatenate" />
</ic:Expression>
</ic:ContinuationToken>