ContinuationToken
Un jeton de liaison permet de corréler des informations hétérogènes au sein de l'infrastructure BAM. Prenons l'exemple d'un processus d'entreprise qui construit les types de messages suivants :
bon de commande identifié par un numéro de bon de commande ;
ordre d'achat identifié par un numéro d'ordre d'achat ;
bordereau d'expédition identifié par un numéro de bordereau d'expédition.
Dans ce processus, il existe trois identificateurs importants : l’ID de bon de commande, l’ID de commande client et l’ID de commande d’expédition. Chacun de ces identificateurs signale un événement important dans la durée de vie de l’ordre d’origine, mais ils ne peuvent pas être directement corrélés. Pour suivre les événements associés à un bon de commande, les informations communes aux messages doivent être identifiées pour aider l'infrastructure de suivi BAM à corréler les événements avec précision.
Format
Un jeton de liaison est constitué d'un élément d'expression et d'une ou plusieurs opérations :
<ic:ContinuationToken>
<ic:Expression>
<!-- Operations -->
</ic:Expression>
</ic:ContinuationToken>
Remarques
Les opérations communes suivantes ne sont pas autorisées dans les expressions ContinuationToken :
And
Égal à
[L'en-tête de section des opérations dans WF/WCF doit avoir un graphique similaire et d'autres graphiques au besoin]
Exemple
Dans cet exemple, un jeton de continuation pour un processus WF est récupéré à partir du workflow à l’aide GetWorkflowProperty
de . Ici le développeur a décidé de prendre en charge la continuation dans le flux de travail en utilisant du code personnalisé, probablement parce que le processus d'identification du jeton de liaison implique plusieurs expressions et peut reposer sur des données externes.
<ic:ContinuationToken>
<ic:Expression>
<wf:Operation Name="GetWorkflowProperty">
<wf:Argument>ContinuationToken</wf:Argument>
</wf:Operation>
</ic:Expression>
</ic:ContinuationToken>
Vous pouvez choisir d'inclure des fonctionnalités similaires dans vos nouvelles applications WF ou WCF ou, si le jeton est simple à établir à l'aide d'opérations d'expression, vous pouvez éviter d'écrire du code supplémentaire.
L’exemple suivant établit un jeton de continuation pour un processus WCF à l’aide d’une opération XPath pour récupérer le nombre de crédit carte du message actuel et les opérations de constante et de concaténer pour ajouter la chaîne « CID_ » au nombre récupéré :
<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>