Páginas filhas
  • Desenvolvimento de Pacote EAI 2 - Plataforma RM

Versões comparadas

Chave

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

Definições importantes

  • As regras atuais de manipulação de adapters devem ser escritas e mantidos pelas equipes responsáveis pela entidade no RM
  • O projeto Eai TotvsMessage deve fornecer API's genéricas utilizadas para o desenvolvimento
  • Não devem ser criados códigos com condicionais dentro do configurador conforme pacotes de integrações.

Objetivo

O configurador RM deve fornece recursos genéricos que se utilizam das informações definidas nos adapters

...

ou pacotes para a automatização da configuração das integrações bem como do diagnostico de ambiente, configurações e parâmetros.

Definições:

1) Pacotes de integrações:

Pacote de integração é um conjunto de configurações, parâmetros e adapters que são necessários para a integração de determinado

...

módulos do RM com outros sistemas. Exemplos de Pacotes: TOP x Protheus, TIN x Protheus, Folha de Pagamento x Protheus e etc.

1.1 Desenvolvimento de Pacote de Integração:

As equipes dos produtos deverão criar projetos nas suas solutions suas soluções contendo classes a serem utilizadas no processamento do configurador e diagnostico.

1.1.1 Criação dos projetos:

Os projetos a serem criados

...

 

...

deverão seguir o seguinte padrão de nomenclatura:

RM.{Segmento}.TotvsMessage.Adapter.dll,        Onde:  Segmento = Sigla do segmento
               Exemplo:  RM.Prj.TotvsMessage.Configurator.Server.dll

Criação da classe:

a) - Extensão de códigos:

       -  Herdar da classe: EaiPacoteConfiguratorBase

        - Uso do atributo:  ConfiguratorPacoteAttribute

Image Modified

EXEMPLO:

Bloco de código
languagec#
titleExemplo
[ConfiguratorPacoteAttribute(typeof(Properties.Resources), "d3593c4e-1a4c-58fb-b9c8-feaf13c2fa8b", nameof(Properties.Resources.sPrjCaptionPacoteEAI2))]
public class PrjPacoteConfiguratorEai : EaiPacoteConfiguratorBase

...

2) Diagnostico de Conexão

Nesta etapa o configurador realizara a validação das informações de Servidor Portas bem como da disponibilidade de serviços necessários para a integração, como por exemplo EAIService que é um Web Service básico para integração bem como demais serviços que serão definidos no Pacote de integração.

Para a validação de Serviço o pacote devera implementar o método GetApiServicesRequired


3) Diagnostico de Compartilhamentos

Para o correto funcionamento de integrações que envolvem Protheus com RM existem um conjunto de configurações de compartilhamentoscompatíveis, incompatíveis e

...

 recomendados. No EAI 2.0 cada adapter pode possuir um conjunto de configurações.

...

 Para isto os adapters devem implementar os seguintes métodos

...

:

ValidateLevelCompanyBranch - Responsável por validação se uma dada configuração é valida, inválida e retornar a configuração recomendada. Este método alem de ser utilizado pelo Configurador também é utilizado no recebimento de mensagens.


Exemplo:

Bloco de código
languagec#
titleExemplo Validate
collapsetrue
    /// <summary>
    /// Valida o nível de compartilhamento da tabela.
    /// Não é permitido a utilização de modo Exclusivo por Filial
    /// Não é recomendado a utilização de registro compartilhado por empresa. (Replica)
    /// </summary>
    /// <param name="parms">EAIValidatedSharedModeParams</param>
    /// <param name="result">EAIValidatedSharedModeResult</param>
    /// <param name="sharedModeColigada">SharingModeEnum</param>
    /// <param name="sharedModeFilial">SharingModeEnum</param>
    /// <returns>Retorna EAIValidatedSharedModeResult</returns>
    public override EAIValidatedSharedModeResult ValidateLevelCompanyBranch(EAIValidatedSharedModeParams parms, EAIValidatedSharedModeResult result, SharingModeEnum sharedModeColigada, SharingModeEnum sharedModeFilial)
    {
      string tableProtheus = "TV0"; // doNotLocalize

      if (sharedModeColigada != SharingModeEnum.smCompartilhado)
      {
        result.ValidationMessage = string.Format(Properties.Resources.sPrjsharedModeValidated, tableProtheus);
      }

      if (sharedModeFilial == SharingModeEnum.smExclusivo)
      {
        result.ValidationMessage += string.Format(Properties.Resources.sPrjsharedModeValidated, tableProtheus);
        result.Validated = false;
      }

      return result;
    }


AliasSharedMode

Este método define o conjunto de tabelas que devem ter seu compartilhamento validado pelo adapter, a partir destas tabelas o framework de configuração buscara seus compartilhamentos no Protheus e realizara a chamada do método de validação de compartilhamento do respectivo adapter.