
O objetivo deste guia é ajudar os membros da equipe a entender a composição do projeto e como nos organizamos para planejar e desenvolver o TAF TSI. A documentação oficial publicada para os clientes consta em TSI - TAF Service Integration.
Projeto Interno
O projeto consta no diretório: .../Master/Fontes/TAF/Integração/TSI, sendo composto por fontes na raiz (genéricos) , subpasta ERP (extração dos módulos do protheus) e subpasta TAF (APIS que fazem operações nas tabelas legados do TAF).
O controle com o nome dos fontes fica no docs.google \Tabelas TAF
Atualmente o pacote centralizador do TSI no AtuSx é o 009134( release 33). Pacote release anterior 007859.
Pontos de melhorias, dúvidas ou discussões sobre a execução, podem ser colocados no dontpad do TSI, para posterior criação de issues\inovações no produto.
Divisão na execução
Quando é necessário criar um novo leiaute no TSI, precisamos trabalhar em alguns pontos, são eles:
- Extração do ERP
Aqui é contemplado a regra de extração apenas do ERP Protheus, que em muitos casos a(s) regra(s) consta(m) nos extratores:
extrator fiscal (...\Master\Fontes\Livros Fiscais\Extrator\ExtFisxTaf.prw),
extrator financeiro(...\Master\Fontes\Adm\FINA989.prw) ou
extrator contábil (...\Master\Fontes\Adm\ECD\CTBS001.prw e CTBS103.prw).
1.1. Entender e elaborar a regra de extração.
1.2. Nessa etapa são levantados todos os campos necessários na extração, planilha interna com layout drive.google \ Layout TAF.xlsx
1.3. Aqui também é necessário utilizar o pacote centralizador do TSI no atusx, para criar o campo STAMP na tabela legado do SIGATAF.
1.4. Conforme DOD dessa tarefa, aqui também é esperado a geração do JSON com o conteúdo dos campos do layout nas tags pré definidas para integração.
1.5. Controle do Stamp criado na Tabela do ERP e Mecanismo de validação do STAMP entre Protheus x TAF finalizado.
- Integração TAF (+ Hash )
Etapa onde o layout já está sendo extraído pelo TSI (geração do json mencionado na etapa 1.4) e agora será construído a integração das informações para o TAF.
2.1. Construir Hash do JSON para o TAF (pai, filho e netos).
2.1. Realizar o processo de gravação dos dados através de um mecanismo que irá receber o JSON e realizar a integração com o TAF.
Colocar aqui os motores << >> #todo
- Construção de APIS
- Open API
- Schedule
Execução
Os procedimentos abaixo devem ser executados após publicação de nova versão da aplicação. Existem duas alternativas, utilizando os artefatos gerados na própria publicação do projeto, ou manualmente, sincronizando o repositório do servidor em sua máquina local:
Utilizando artefatos da publicação
- Passo 1: Na sua plataforma de desenvolvimento, baixar/atualizar do repositório remoto a branch master do projeto TAF-THF.
- Passo 2: Substituir os arquivos da pasta coverage ( Imagem 1 ) em sua máquina local com os arquivos contidos em coverage.zip ( Imagem 2 ) gerado na expedição da última versão do projeto.
Imagem 1 - Diretório coverage, localizada ao mesmo nível que a pasta do projeto TAF-THF, e que deve ser atualizada com os arquivos do coverage.zip da última publicação. 
Imagem 2 - Arquivo coverage.zip da última publicação, que deve ser utilizado para substituir os arquivos no diretório coverage da sua máquina local. 
|
- Passo 3: Executar o analisador do projeto para coleta e envio das métricas ao Sonarqube ( npm run sonar ).
Caso esta operação seja realizada com sucesso, deve ser apresentado uma mensagem similar a imagem abaixo: 
Consultando Dashboard TAF do Futuro é possível analisar os dados atuais do projeto. 
|
Sincronizando repositório do servidor
- Passo 1: Na sua plataforma de desenvolvimento, baixar/atualizar do repositório remoto a branch master do projeto TAF-THF.
- Passo 2: Remover as dependências ( rm -r .\package-lock.json ) e a pasta node_modules ( rm -r .\node_modules\ ).
- Passo 3: Restaurar as dependências e a pasta node_modules ( npm i, npm i protheus-lib-core --registry https://npm.totvs.io, npm i angular-erp-integration --registry https://npm.totvs.io ), assim garantimos que nosso pacote local está atualizado de acordo com as dependências do repositório remoto.
- Passo 4: Executar os testes automatizados ( ng test ou ng test --source-map --code-coverage --no-watch ).
Após a execução dos testes, caso sejam bem sucedidos, a pasta coverage, localizada ao mesmo nível que a pasta do projeto TAF-THF, será atualizada com os arquivos de métricas. 
|
- Passo 5: Executar o analisador do projeto para coleta e envio das métricas ao Sonarqube ( npm run sonar ).
Caso esta operação seja realizada com sucesso, deve ser apresentado uma mensagem similar a imagem abaixo: 
Consultando Dashboard TAF do Futuro é possível analisar os dados atuais do projeto. 
|