Arquitetura de serviços do SoftExpert Suite
Arquitetura SoftExpert Suite Windows
Este novo modelo de instalação foi totalmente escrito a partir de um estudo e criado em um novo projeto, buscando resolver questões que traziam complexidade em versões anteriores, reunindo os serviços em uma única imagem docker que contém todos os requisitos e configurações necessários para o funcionamento do SoftExpert Suite para a versão Windows.
O novo formato traz vantagens com o empacotamento da aplicação, mapeando todas as configurações dos serviços internos, facilitando, assim, a atualização para novas versões. A redução de instalação de dependências também é uma vantagem, visto que, caso seja preciso instalar ou atualizar alguma dependência, isso é feito internamente na imagem do container, sem a necessidade de intervenção ou ajuste por conta do cliente.
A base para a instalação do produto SoftExpert Suite é um servidor Windows Server 2019 ou 2022. Nesse servidor, é instalado o serviço do Docker, onde é executado um único container com a solução de aplicativos empacotada.
O script de instalação executa as validações, como versão do Sistema Operacional, atualizações pendentes, e orienta o progresso com base nessas validações.
Os requisitos necessários também são instalados, como a instalação do Docker e a ativação de execução desses containers no Sistema Operacional.
Após a instalação do Docker, é feito o download da imagem "engine-windows", que será a responsável por diversos serviços do SoftExpert Suite.
Após seguir os passos para instalação e configuração e iniciar o container, a execução de aplicações será feita internamente, com um servidor Microsoft Internet Information Serviçes (IIS), que atenderá as requisições Web na porta 443; este, por sua vez, repassará internamente para outros serviços, sendo:
- FastCGI para o PHP-FPM - Atende a requisições para a camada em PHP, para operações do sistema.
- Reverse proxy / rewrite / redirect - Direcionado para o Apache Tomcat, onde a camada em Java responde as requisições da camada de lógica.
- Reverse proxy / rewrite / redirect - Redireciona para o serviço Node.js, onde responde ao Reactor para as interfaces gráficas do sistema.
A camada de persistência de dados é conectada pelo PHP e Java através de um cliente nativo. Essa comunicação é feita diretamente em um banco de dados instalado juntamente ao Sistema Operacional ou disponível na rede. Os bancos PostgreSQL, SQL Server e Oracle podem ser usados (consulte a documentação a respeito de versões).
ElasticSearch (Full Text Search) é um serviço que está embarcado juntamente à imagem do SoftExpert Suite e, internamente, é acessado pelo protocolo HTTPS.
Caso haja serviços adicionais, como PDF Converter, a conexão é feita através do protocolo HTTPS. Esse serviço pode ser instalado no mesmo Sistema Operacional ou disponibilizado via Rede para conexão pela camada do Java. Caso haja persistência de arquivos, tem-se a opção de usar uma unidade de rede NFS, ou a conexão via API do AWS S3.
A comunicação com os serviços de diretório (Active Directory), autenticação (SSO), APIs e e-mail é feita usando os protocolos nativos de cada aplicação.