Definições importantes

Objetivo

O configurador RM deve fornece recursos genéricos que se utilizam das informações definidas nos adapters e 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 modulos 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 contendo classes a serem utilizadas no processamento do configurador e diagnostico.

Criação dos projetos:

Os projetos a serem criados nessas solutions 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


[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 compartilhamentos, compatíveis, incompatíveis e recomendadas. 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:

    /// <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.