Árvore de páginas







Índice


01. Objetivo

Essa documentação visa explanar de forma visual e descritiva  as camadas do produto Datasul for THF. Essa documentação foi escrita durante o desenvolvimento da 12.1.2305 e a última release entregue ao mercado foi a versão 12.1.2403. 


02. Visão Geral

O gráfico abaixo mostra as camadas do produto bem como as versões de tecnologias utilizadas em cada uma delas. Vale lembrar que a camada de infraestrutura foi minimizada no gráfico para facilitar o entendimento do produto.

No produto temos a divisão das camadas de FrontEnd, Middleware, BackEnd e Persistência. Cada camada possui tecnologias semelhantes e também específicas para garantir a integridade do sistema e seus componentes.

  1. FrontEnd: FrontEnd é acamada que é utilizada pelos usuários do produto em qualquer dispositivo ou plataforma, ou seja, camada responsável pela apresentação dos dados tanto em tecnologia web (HTML), client/server (Progress) e apps mobile.
  2. Middleware: Middleware é a camada do DSS responsável pelos serviços e fornecedores de conteúdo estático (WebServers), Middleware é a porta de entrada para o acesso ao backEend e posterior acesso aos dados. Além disso, essa camada é responsável por manter serviços de rota, autenticação e autorização, licenciamento TOTVS, servir conteúdo estático, parsers, validadores e verificadores de acesso, ou seja, verifica e valida tudo antes de conceder acesso ao backEnd. No produto Datasul for THF o Middleware é orquestrado pelo Tomcat na versão 9.
  3. Backend: Backend é a camada responsável por executar os objetos de negócio (BusinessLayer), toda a regra de negócio dos módulos envolvidos ou instalados no produto devem rodar obrigatoriamente na camada Backend fazendo desta camada o chamado motor de negócio. Essa camada é controlada pelo componente Pasoe desenvolvido e mantido pela Progress.
  4. Persistent: Persistence é a camada responsável por manter os dados de produto para dar valor à camada de negócio. Essa camada também conhecida como motor de dados é gerenciada por componentes OpenEdge Database Progress. Para acesso a outras marcas de banco de dados diferentes do normal, como Oracle e SQLServer utilizamos o componente OpenEdge DataServer que realiza a transpilação dos comandos 4GL para o banco de destino.

O Produto Datasul possui um alto acoplamento, devido ao middleware ter sido planejado como uma aplicação monolítica, ou seja, qualquer alteração no middleware é necessário bloquear o acesso pelos usuários à todas as funcionalidades. Além disso, como o sistema monolítico o appserver, responsável pela execução de negócio (BO) concorre diretamente com a execução de outros tipos de acesso como LOGIN, SOAP, REST CUSTOMIZAÇÕES dentre outras.

Com o objetivo de minimizar o problema de concorrência no appserver e atender outras demandas de ofertas de APPs, surgiu o Broker Escalável para dividir a demanda no Pasoe e impedir que cenários do ERP concorram com as integrações e outras requisições REST e SOAP. 

Com o broker escalável é possível dividir a demanda e inclusive escalar brokers para determinado cenário para uma maior vazão, vale lembrar que a funcionalidade do broker escalável prevê brokers iguais para uma mesma funcionalidade e nesse caso é realizado o balanceamento das requisições. No entanto, o middleware ainda estabelece uma estratégia monolítica como o anterior.



03. Infraestrutura x Versionamento

O produto Datasul for THF possui alguns requisitos de versionamento de software associados, como Progress, Java, Tomcat entre outros. É mantido e disponibilizado uma matriz de compatibilidade destes softwares através do documento Ciclo Vida Datasul e Tecnologias Associadas.


04. License Server Virtual

O License Server Virtual é uma ferramenta Cross desenvolvida para atender a todas as linhas da TOTVS provendo o licenciamento dos respectivos produtos. O License Server possui comunicação com a camada do FrontEnd e também com a camada BackEnd para a devida liberação da funcionalidade. Para obter detalhes complementares do License Server, sugerimos a leitura do documento TOTVS License Server Virtual.