Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Informações
titleEstrutura geral de um adapter de negócio

 

Características:

  • Cabeçalho importa duas bibliotecas:
    • Engine do EAI;
    • Classe de mensagem de negócio.
  • Classe implementa as interfaces de envio e recebimento, além da interface de adapter de negócio;
  • Propriedade da classe:
    • TransactionName: Nome da transação. No exemplo a transação é a "whois";
    • TransactionVersion: Versão da transação. É recomendável que esse campo utilize a mesma versão da classe da mensagem de negócio, como está no exemplo;
  • Métodos da classe:
    • processMessage(BusinessMessage): Este método é responsável por receber uma mensagem de integração de um sistema externo. O retorno desse método será um ResponseMessage com ou sem erros;
    • processMessage(ResponseMessage): Em uma integração de envio assíncrono, a resposta do processamento do sistema externo será recebido neste método. Seu retorno será apenas lógico, informando erro ou não;
    • sendMessage(CHARACTER): Na verdade, esse método pode ser definido com nome, parâmetro e retorno de acordo com o programador. Para enviar a mensagem para o sistema externo, deve-se invocar o método dispatchMessage do EAIEngine, passando a mensagem (BusinessMessage) por parâmetro. No caso de uma integração assíncrona, seu retorno será nulo (?), no caso de uma integração síncrona, o retorno será um ResponseMessage com ou sem erros.

Desenvolvendo método para envio

...

Antes de desenvolver o adapter de negócios, deve-se atentar ao tipo de integração que será desenvolvida: síncrona e/ou assíncrona. Essa informação determina a dinâmica da integração, por exemplo, em uma integração assíncrona, a resposta não será imediata e o retorno do envio será nulo, logo, cabe ao adapter de negócio ou a própria tela tratar esse tipo de integração.

Características de uma classe de envio:

  • Importar classes do EAI;
  • Importar classes da mensagem de negócio;
  • Implementar IBusinessAdapter;
  • Implementar ISenderAdapter;
  • No método criado para envio, invocar método dispatchMessage do EAIEngine.

Para criação do objeto BusinessMessage para envio ao EAI através do método dispatchMessage, deve ser utilizada a classe da mensagem de negócio. Exemplo:

Informações

Image Added

 

Depois de preenchido os atributos de negócio da mensagem, o objeto deve ser enviado ao EAI para integração:

Informações

Image Added

 

Nesse momento, deve se atentar ao tipo de integração definido no atributo DeliveryType da mensagem de negócio: síncrono (sync) ou assíncrono (async).

No caso de uma integração síncrona, a resposta (oResponse - RespondeMessage) virá preenchida com ou sem erro na integração e deve ser tratada pelo adapter logo após a chamada do método dispatchMessage.

Em uma integração assíncrona, a resposta (oResponse – ResponseMessage) virá com o valor nulo (?). O tratamento do retorno dessa integração, deverá ser tratada no método processMessage(ResponseMessage), que será invocado automaticamente pelo EAI posteriormente.