Utilizando Classes .NET em Projetos Magic xpi

Aprenda como reaproveitar regras de negócio existentes, já codificadas em classes .NET, dentro de fluxos de integração dos projetos Magic xpi e com isso expandir ainda mais os recursos disponíveis na plataforma.

 

Um dos recursos que mais destacam o Magic xpi nos ecossistemas de integrações, sem dúvida, é a sua biblioteca de componentes/conectores.

Estes componentes são unidades autônomas e especializadas em uma determinada API ou tecnologia que, através de assistentes visuais de configuração, facilitam incrivelmente o acesso a estes recursos.

Entre eles existem 3 conectores em especial que às vezes passam despercebidos por serem, por assim dizer, mais “genéricos”:

  • Java Class Conector Utility (permite acessar classes Java e executar seus métodos)
  • .NET Utility (permite acessar classes .NET e executar seus métodos)
  • Magic xpa (também conhecido como Magic xpi SDK, permite contruir e encapsular lógicas complexas dentro de um único componente)

Estes conectores, quando utilizados adequadamente, multiplicam exponencialmente os recursos do Magic xpi em relação a reaproveitamento de lógicas existentes, integração com legados e acesso a mais APIs e mais tecnologias.

Neste post vamos então abordar o acesso às classes .NET.

.NET Utility

Como desenvolvedor de projetos Magic xpi, para poder utilizar o .NET Utility é necessário ter também instalado o MS Visual Studio na mesma máquina onde está o Magic xpi Studio.

Em um fluxo de integração do nosso projeto, apenas arrsastamos e soltamos este conector:

Na sequência devemos informar um “nome de classe”, sem conter acentuação ou caracteres especiais, e clicar no botão Generate:

Esta ação gera (cria) um projeto MS Visual Studio novo e vazio, exclusivo para esta classe que acabamos de definir.

Voltando a esta tela de configuração do componente, clicamos no botão Edit e neste momento é aberto o MS Visual Studio para trabalharmos no código desta classe:

Já dentro do MS Visual Studio, veremos que nossa nova classe herda características de uma classe padrão do Magic xpi, disponível na biblioteca iBOLT.Framework. Esta biblioteca é disponibilizada no momento da instalação do Magic.

Dos métodos existentes (nenhum deve ser removido ou ter sua assinatura alterada), dois são os que realmente vão nos interessar:

  • Invoke = É o método acessado pelo Magic xpi Server, durante a execução do fluxo, para executar o código ali existente.
  • Emulate = Também acessado pelo Magic xpi Server, mas apenas quando executando em modo debug. Por padrão ele apenas faz uma chamada ao método Invoke, mas permite adicionar lógicas diferenciadas antes ou depois desta chamada, uma necessidade relevante para as tarefas de depuração.

Neste projeto exemplo aqui mostrado, bem simples, começamos com a atualização das váriáveis de contexto C.UserCode e C.UserString no fluxo de integração, com dados aleatórios (fictícios):

Após, dentro de nossa classe .NET nós podemos receber (capturar) estes dados:

Implementamos a seguir, através de código C# (mas poderia ser VB.NET se assim fosse desejado), regras de negócio específicas, usando estes e outros dados disponíveis, incluindo qualquer outra classe .NET padrão do .NET Framework ou mesmo de um assembly privado.

Neste exemplo, vamos pegar os dados das variáveis Magic xpi e salvá-los em um arquivo de texto:

Com a mesma classe IBFlowContext que usamos para acessar variáveis e ambiente do fluxo de integração, podemos usar seus métodos para também atualizar estes dados (devolver informações) antes da conclusão da execução do método Invoke:

Fazemos o build do nosso projeto MS Visual Studio ao final da codificação, para que seja produzido um assemply com o código compilado de nossa classe (este assembly será acessado pelo Magic xpi Server durante a execução do fluxo de integração).

Como próximo passo, podemos pegar as informações retornadas da classe .NET e usá-las nas próximas etapas do nosso fluxo de integração:

Executando nosso projeto de integração Magic xpi, podemos conferir que o código .NET neste fluxo está totalmente funcional, encapsulado e integrado ao restante da nossa lógica de integração:

Você pode obter este projeto exemplo com o Magic xpi 4.11 a partir deste link.

 

Manoel Frederico Silva – Gerente de Tecnologia e Evangelista MAGIC – Magic Brasil
Manoel Frederico Silva – Gerente de Tecnologia e Evangelista MAGIC – Magic Brasil

 

Para receber os artigos do Blog Magic Brasil em primeira mão no seu email, registre-se aqui

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *