Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | RM | Módulo: Integração (EAI) |
|
Segmento Executor | Framework | ||
Projeto1 | R_FRW004 | IRM1 : PCREC-9634 |
|
Requisito1 | PCREC-9644 | Subtarefa1: PDR_FRW_FRW002-22 |
|
Chamado2 |
| ||
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Objetivo
Permitir que o usuário final (cliente da integração) customize um adapter e não a mensagem.
Definição da Regra de Negócio
1) - Modelo atual
Características:
- O EAI comunica diretamente com extensions (códigos fontes c# responsáveis pela manipulação da mensagem);
- Diferentes extensions podem ser ligados a uma única mensagem no processo de configuração de integração. Para isso, basta criar um mapeamento entre a integração x mensagem conforme figura 1.
- Extensions são desenvolvidos e mantidos pelas equipes dos produtos (segmentos).
- Extensions podem ser modificados nos clientes em ambiente de teste e produção, visto que os mesmos são abertos para alteração.
- É utilizado um editor de código fonte c# para escrita e compilação conforme a figura 2.
- Esses fontes são armazenados no banco de dados na tabela "GSourceCode".
Vantagens:
a) - Flexibilidade no processo de customização;
Desvantagens:
a) - Possibilita a duplicação de fontes para manipulação de uma mesma mensagem;
b) - Modificações realizadas no fonte para uma determinada integração podem não ser replicadas para outras integrações;
c)- No recebimento de uma determinada mensagem, se existir mais de uma integração cadastrada, o EAI seleciona a primeira integração e executa o código fonte correspondente a essa integração / mensagem.
d) - Ao executar novamente o configurador em ambiente do cliente, os extensions alterados serão substituídos pela versão atual;
e) - Dificuldade na detecção e análise de erros desses códigos visto que o Editor c# do EAI não oferece suporte para debugger.
2) - Modelo proposto
Adapters:
- Estrutura a ser utilizada para implementação de regras específicas para manipulação de uma mensagem de integração.
- O EAI comunicará diretamente com os adapters (de responsabilidade das equipes de segmentos);
- Uma mensagem / versão estará ligada a um único adapter;
- Regras específicas da mensagem em uma determinada integração devem ser tratadas diretamente no adapter.
- Devem ser mantidos pelas equipes dos produtos (segmentos).
- Não poderão ser modificados pelos clientes pois o código será compilado dentro das dlls nativas do produto;
- Estarão localizados na mesma estrutura das solutions dos segmentos no TFS;
b) - Extensions
- Estrutura utilizada para implementação de regras customizadas para um cliente em específico;
- O Editor de código do EAI deve ser usado pelos clientes para implementação de customizações nos adapters dos produtos;
- Esses códigos (extensions) devem ser implementados no contexto da integração em questão.
Sendo assim, o cadastro de "Mapa de integração" será usado para gravação das regras customizadas a serem implementadas no cliente (customização de integração). - Os entryPoints das customizações serão disparados imediatamente após a execução do método (de mesmo nome e interface) do adapter;
- Esses recurso permitirá que alterações possam ser feitas nos objetos logo após a execução do código do adapter;
2.1) - Exemplos de implementação do novo modelo.
ex: Manipulação da mensagem COSTCENTER.
a) Criação do adapter.
- As regras de negócio escritas atualmente no extension para manipulação da mensagem COSTCENTER devem ser transferidas para classes que herdam de AdapterBase, conforme print abaixo.
- Conforme exemplo abaixo, o método DoAfterTransformDataSet será chamado no momento da transformação da mensagem única para o formato nativo do centro de custo.
a) Criação do extension.
- O recurso de extension pode ser usado para inclusão de códigos customizados no ambiente do cliente;
- Após execução do método DoAfterTransformDataSet" localizado no adapter acima, o método "AfterTransformDataSet" localizado abaixo no extension será chamado.
- Esse mecanismo possibilitará a implementação de códigos customizados a serem disparados imediatamente após a execução do adapter.
2.3) - Modelagem de classes.
a) - CustomBase - classe ancestral usada para definir métodos e propriedades genérico para as classes concretas para manipulação das mensagens;
b) - AdapterBase - classe ancestral usada para definir regras comuns para todos os adapters;
c) - ExtensionBase - classe ancestral usada para definir regras comuns para todos os extensions (estruturas a serem usadas para inclusão de códigos customizados pelos clientes).
3) - Modelo proposto para os adapters de recebimento (CustomHandle).
- Adapters de recebimento são estruturas utilizadas para implementar toda a regra de negócio de manipulação da mensagem de recebimento.
- Eles são ligados diretamente na mensagem e não na mensagem / integração (como ocorre com os extensions) conforme figura 3.
- São estruturas menos utilizadas, visto que a maioria das mensagens de recebimento são manipuladas por dataServers;
- Eles devem ser migrados para estruturas de adapters da mesma forma que o extensions;
- Caso exista um extension cadastrado no cliente para esse adapter de recebimento, o mesmo será usado pela engine do EAI substituindo assim o adapter localizado na dll;
Opcional
Protótipo de Tela
Figura1 - Mapeamento mensagem x integração
figura2: Editor de código fonte do EAI
figura 3: Adapter de recebimento
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|