Histórico da Página
Índice
01. Visão Geral
02. Modelagem de Dados Protheus Insights
Estrutura Atual
A atual estrutura do Protheus Insights é constituída das seguintes tabelas:
- I14 - Controle de Msg Smartlink: Tabela de alertas de Insights (Permissão de Insight, Financeiros, Ruptura de Estoque, Demandas de Compras, Relatório de Previsão de Fluxo de Caixa);
- I16 - Insight Contabil: Tabela de matches de Insights Contábeis provenientes dos Alertas de Insights Contábeis;
Apesar desta estrutura estar funcional, ela foi criada como protótipo e apresenta diversas limitações no controle de recebimento e processamento de mensagens de insight provenientes do Smartlink e será descontinuada com a implementação da estrutura sugerida mais abaixo.
Algumas destas limitações são:
- Falta de visibilidade no recebimento de mensagens de insights por parte do cliente Protheus;
- Travamento da thread do consumer de mensagens devido ao processamento de regras de insights no recebimento;
- Limitação no desenvolvimento de novos insights tornando-os, aumentando os custos e requerimentos de recursos para o desenvolvimento dos mesmos;
- Pouco tolerante a falhas;
Estrutura Sugerida
Para a nova estrutura sugerida serão implementadas as seguintes tabelas:
- I19 - Controle Mensagens de Insights: Tabela utilizada para Controle de Recebimento e Status de Mensagens de Insights provenientes do Smartlink, para serem utilizadas em futuros processamentos de Regras de Negócios de Insight;
- I20 - Configurações de Insights: Tabela utilizada para armazenamento das configurações de Processamento de Insights;
- I21 - Insights Unificada: Tabela unificada utilizada para armazenamento do produto do processamento das regras de negócios de insights;
Nesta nova estrutura, existirá a possibilidade de monitorar o recebimento de mensagens e seu conteúdo real através da tabela I19, onde as mensagens serão armazenadas para análise e posterior processamento/re-processamento, liberando assim a thread do consumer do Smartlink para posteriores recebimentos, solicitando baixa quantidade de recurso e tempo de execução para o simples recebimento de mensagens de insights.
...
Este documento visa fornecer uma visão abrangente sobre a estrutura e funcionalidades do Protheus Insights, detalhando tanto a modelagem de dados quanto a infraestrutura backend, front-end, pipelines carol e data models carol. Seu propósito é esclarecer a arquitetura atual e sugerir melhorias para otimizar o processamento de mensagens de insights, aumentar a resiliência do sistema e facilitar o desenvolvimento de novas funcionalidades.
Estrutura e Componentes
A estrutura atual do Protheus Insights é composta por diversas tabelas que gerenciam alertas e insights. Embora funcional, essa estrutura foi inicialmente projetada como um protótipo e apresenta limitações significativas, como falta de visibilidade no recebimento de mensagens e travamentos no processamento. Este documento propõe uma nova estrutura mais eficiente, detalhando as novas tabelas (I19, I20, I21) e suas funções específicas para melhorar o controle, processamento e monitoramento de mensagens de insights. Além disso, descreve as atualizações necessárias no backend TOTVSApps e ADVPL, e sugere melhorias para o front-end, incluindo a implementação de uma nova biblioteca de serviços REST para suportar insights online de maneira mais eficiente.
02. Modelagem de Dados Protheus Insights
Estrutura Atual
A atual estrutura do Protheus Insights é constituída das seguintes tabelas:
- I14 - Controle de Msg Smartlink: Tabela de alertas de Insights (Permissão de Insight, Financeiros, Ruptura de Estoque, Demandas de Compras, Relatório de Previsão de Fluxo de Caixa);
- I16 - Insight Contabil: Tabela de matches de Insights Contábeis provenientes dos Alertas de Insights Contábeis;
Apesar desta estrutura estar funcional, ela foi criada como protótipo e apresenta diversas limitações no controle de recebimento e processamento de mensagens de insight provenientes do Smartlink e será descontinuada com a implementação da estrutura sugerida mais abaixo.
Algumas destas limitações são:
- Falta de visibilidade no recebimento de mensagens de insights por parte do cliente Protheus;
- Travamento da thread do consumer de mensagens devido ao processamento de regras de insights no recebimento;
- Limitação no desenvolvimento de novos insights tornando-os, aumentando os custos e requerimentos de recursos para o desenvolvimento dos mesmos;
- Pouco tolerante a falhas;
Estrutura Sugerida
Para a nova estrutura sugerida serão implementadas as seguintes tabelas:
- I19 - Controle Mensagens de Insights: Tabela utilizada para Controle de Recebimento e Status de Mensagens de Insights provenientes do Smartlink, para serem utilizadas em futuros processamentos de Regras de Negócios de Insight;
- I20 - Configurações de Insights: Tabela utilizada para armazenamento das configurações de Processamento de Insights;
- I21 - Insights Unificada: Tabela unificada utilizada para armazenamento do produto do processamento das regras de negócios de insights;
Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||
|
...
|
...
|
Vantagens da Estrutura Sugerida:
...
A estrutura de execução de um aplicativo de Front-End do Protheus Insights será remodelada e terá a adição de uma biblioteca de serviços REST que farão parte da biblioteca de Insights (ADVPL) disponibilizada pela equipe de BA.
Estas alterações visam remover a limitação imposta pela utilização do WebChannel como meio de comunicação e bem como habilitando a utilização de Insights On-Line de uma forma simples.
Uma biblioteca desenvolvida para o framework Angular será implementada para intermediar a comunicação com os serviços disponibilizados pelo disponibilizados pelo back-end Protheus de uma forma modular e simples.
06.
...
Arquitetura Carol
Esta seção está em desenvolvimento e será atualizada em breve.
07. Data Models Carol
...
Glossário
Customer Organization: Ambiente de administração geral que agrupa as várias Tenants de clientes.
Unified Tenant: Ambiente Unificado que recebe os dados de todos os clientes e faz o processamento dos insights.
Staging Area: Área de preparação, ou zona de aterrissagem, é uma área de armazenamento intermediária usada para armazenamento dos dados brutos, antes do processamento.
ERP Connectors: Conjunto de conectores responsáveis por receber os dados dos ERPs.
Insights Connector: Conjunto de conectores responsáveis por receber os dados de insights. Cada insight possui o seu conector.
Data Transformation Pipelines: Conjunto de pipelines responsáveis pela transformação dos dados dos ERPs em modelos de dados genéricos que serão consumidos pelos modelos de Machine Learning.
AI Process: Conjunto de Carol Apps (Batch e Online) responsáveis pelo processamento dos insights.
Batch Apps: Aplicativos responsáveis pelo processamento dos insights com execução agendada.
Service Account: Conta de serviço utilizada para comunicação com os serviços do GCP.
Data Validation: Batch App responsável pela validação dos dados.
BQ ML: Tecnologia utilizada para criar e executar modelos de machine learning (ML) usando consultas do GoogleSQL.
Vertex AI: Plataforma de desenvolvimento de IA unificada e totalmente gerenciada.
Workflow: Aplicativo utilizado para orquestração dos serviços de machine learning.
Terraform: Ferramenta de infraestrutura como código usada para provisionar recursos e permissões para vários serviços do Google Cloud, incluindo a Vertex AI.
Cloud Functions: Solução de computação sem servidor do Google para criar aplicativos baseados em eventos.
Alerts Management: Módulo de alertas da plataforma Carol que possibilita a monitorização de eventos na esteira de dados da plataforma.
Pipelines: Pipelines SQL utilizados para processamento dos dados e geração dos golden records.
Data Models: Estrutura e regras de dados que transformam staging tables em Golden Records;
Data Sync: Solução que tem como principal objetivo enviar registros armazenados em Data Models para bancos de dados de baixa latência e alta disponibilidade (como por exemplo o PostgreSQL).
Looker Studio: Ferramenta on-line para criação de relatórios e painéis informativos personalizáveis a partir de banco de dados, possui integração com o Big Query.
Totvs Apps: Plataforma de software para as aplicações cloud native da TOTVS.
07. Data Model (Unified Insights)
Tabela única responsável por armazenar os dados de todos os insights.
Campo | Tipo | Título | Descrição |
---|---|---|---|
branch | String | Branch | Empresa | Unidade de Negócio | Filial dos dados de origem do insight |
company_group | String | Company Group | Company Group dos dados de origem do insight |
insight | String | Insight | Identificador do Insight |
tenantid | String | Tenant Id | Tenant Id dos dados de origem do insight |
key | String | Key | Chave de negócio do insight |
jsoncontent | String | Json Content | Json contendo os dados do insight |