Apesar de ter ideia de que o Call Orchestration, ao contrário do Start Orchestration, não implica uma passagem pela MessageBox, nunca o tinha tirado a limpo. Para o comprovar, criei um cenário simples, com leitura de um XML de uma pasta e activação de uma orquestração que depois faz um call a uma segunda orquestração. Durante o teste, liguei o “good-old” Sql Profiler para ver o que se passava na base de dados (BizTalkMsgBoxDb). Além de inúmeras chamadas a bts_DeQueueMessages*, inerentes ao mecanismo pub/sub, registei as seguintes chamadas:

– bts_InsertProperty: uma chamada para cada promoted property do Xml, contendo o valor de cada property;
– bts_FindSubscriptions: uma chamada, depois de todos os InsertProperty, para verificar as subscrições;
– bts_InsertMessage: duas chamadas, a primeira para inserir atributos, a seguinda para inserir o binário da mensagem recebida.

Todas estas invocações ocorrem aquando da activação da orquestração inicial. Ao fazer o Call Orchestration… não acontece nada, mesmo quando a sub-orchestration recebe parâmetros.

Dúvida esclarecida, portanto: o Call Orchestration não passa pela MessageBox, daí também a sua rapidez.

[Cross-Posted de http://www.arquitecturadesoftware.org/blogs/joaomartins]

LEAVE A REPLY

Please enter your comment!
Please enter your name here