Como chamar orquestrações desenvolvidas em diferentes solução do Visual Studio

No passado, desenvolvi uma demo explicando como chamar uma orquestração de outro projeto ou de uma outra aplicação BizTalk, que poderás ler aqui.

No entanto, efectuaram-me algumas perguntas sobre como podemos conseguir este comportamento usando duas diferentes soluções do Visual Studio... bem, é exatamente o mesmo processo, mas para ajudar a esclarecer este tema e para melhor ajudar os membros da comunidade decidi criar uma demonstração diferente.

Nesta demonstração, iremos criar duas soluções do Visual Studio:

  • CallExternalOrchestrationCommonSolution que irá conter uma orquestração comum que será chamada ou invocada apartir de outras orquestrações através da shape “Call Orchestration”
    • Esta solução será publicada numa aplicação BizTalk chamada “CallExternalOrchestration.Common
  • E uma segunda solução CallExternalOrchestrationMainSolution com uma orquestração principal que irá chamar a orquestração comum usando a shape “Call Orchestration”.
    • Esta solução será publicada numa aplicação BizTalk chamada “CallExternalOrchestration

Em ambos as soluções eu irei descrever os passos básicos (ou as tarefas mais importantes) para obtermos o pretendido.

Criando a solução comum: CallExternalOrchestrationCommonSolution

Este projeto contém uma orquestração que irá receber duas string de entrada (no entanto, você pode definir outros tipos de entrada como mensagem ou diferentes tipos) e irá construir uma mensagem que será enviada para a pasta no file system.

common-orchestration

O que é importante aqui é que na orquestração que você deseja invocar a partir das outras orquestrações, definir a propriedade "Type Modifier" como "Public", caso contrário a mesma não será visível para outros projetos ou soluções.

Isto na realidade é similar ao que acontece com as classes e atributos em linguagens comuns como o C#: public, private, protected and internal. Uma orquestração pode ser do tipo Public, Private ou Internal:

  • Public: é visível para qualquer orquestração que interagir com ela independetemente do projecto (solução) ou namespace.
  • Private: é visível para outras orquestrações dentro do mesmo projeto e namespace.
  • Internal: a orquestração só é visível dentro do seu projeto.

Para definir a propriedade "Type Modifier" da orquestração para "Public" que você necessita de:

  • Abrir a orquestração no Microsoft Visual Studio;
  • Ir às propriedades da orquestração e definir a propriedade "Type Modifier" como "Public";

common-orchestration-type-modifier-public

 

Compilar e publicar a solução.

Criando a solução principal: CallExternalOrchestrationMainSolution

O segundo projeto, basicamente contém uma orquestração que irá receber uma mensagem de entrada a partir de uma pasta no fil system e irá chamar uma orquestração comum (ou externa).

main-orchestration

 

O que é importante nesta solução  é importar a referência (DLL) que contêm a orquestração comum que deseja chamar.

Para importar a referência para o projeto, você necessita de:

  • No Solution Explorer, clique com botão direito em "References" e seleccione "Add Reference".
  • Na janela "Add Reference", seleccione a tag "Browse" que irá permitir que você navegue no file system para a pasta onde se encontra a DLL que queremos importar.
  • Selecione a DLL que deseja fazer referência, e, em seguida, clique em OK

O proximo passo será arrastar uma "Call Orchestration" shape para a orquestração, e nas propriedades de configuração da shape você será capaz de selecionar a orquestração comum que criamos anteriormente, como você pode ver na imagem abaixo:

call-orchestration-configuration

Mais uma vez deverá compilar e publicar a solução.

 

Poderá efetuar download do código fonte aqui:

How to Call Orchestrations developed in a different Visual Studio Solution (277.1 KB)
Microsoft | MSDN Code Gallery

Seja o primeiro a comentar ;)

Postar um comentário

BizTalk 360

Visitas

Arquivo do blog