Introdução
O objetivo desse estudo foi o de identificar como os portais de documentação atuais foram construídos, suas semelhanças e padrões, afim de melhorá-los e aplicá-los em um site de arquitetura TOTVS. A pagina que será construída é onde guardaremos as documentações de decisões realizadas durante reunião de microsserviços.
Portal de Arquiteturas TOTVS
Arquitetura
Figura 1 - Arquitetura do portal de arquitetura TOTVS, após publicado
Na figura acima, verificamos que o Ingress irá rotear para o portal adequado de acordo com a rede na qual o cliente se encontra.
Acesso realizado na rede da TOTVS será direcionado para o portal interno, caso contrário, DMZ/externo (Este não apresentará documentos que contém informações com maior grau de sensibilidade).
É importante notar que o portal não acessa nenhum recurso externo, o conteúdo completo do site encontra-se no HTML dos componentes Angular.
Os repositórios, builds e releases se encontrarão no Azure Devops.
Estrutura Esperada
- Home: Apresenta o propósito do portal. Indica quais conteúdos podem ser encontrados.
- Conceitos (Menu Superior)
- Microsserviços (Menu Lateral)
- DDD (Menu Lateral)
- Integrações de Aplicações (Menu Lateral)
- Definições (Menu Superior)
- Orquestração (Menu Lateral)
- Mensageria (Menu Lateral)
Engine de Criação de portais TOTVS
Arquitetura
Figura 2 - Arquitetura do gerador de portais
A engine gerador de portais é uma imagem que possui um programa com a missão de gerar um portal completo, seguindo os padrões da TOTVS, a partir de arquivos .md.
A mesma poderá ser utilizada através de CLI (localmente) ou através de sua imagem docker, que estará em um pipeline.
Exemplo do dockerfile utilizado no repositório de conteúdos para invocar a engine:
#Utilizando a imagem padrão do portalBuilder
FROM docker.totvs.io/frame/portalBuilder:1.0.0 as builder
ENV THEME=totvs
ADD ./docs /docs
#Essa parte deve ser substituída pelo uso do programa CLI
#RUN build.sh
#Fazer o build do projeto gerado
#ng build --prod
#Colocando a pasta 'dist' no seu servidor web
FROM docker.totvs.com.br/frame/proxy
COPY --from=builder /dist /sources
Hierarquia de Componentes
Figura 3 - Hierarquia dos componentes envolvidos no gerador de portais
Atividades Identificadas
Novas issues foram abertas no Jira com o épico "Knowledge Portals".