Pular para o conteúdo principal
Versão: 2.2.3

Arquitetura da aplicação

Arquitetura SoftExpert Suite Linux

A base para a instalação do produto SoftExpert Suite é um servidor Linux compatível com múltiplos sistemas operacionais, os quais podem ser consultados nos requisitos de instalação. Neste servidor, é instalado o serviço do Docker, onde são executados múltiplos containers, que serão responsáveis pelo funcionamento do SoftExpert Suite.

Os requisitos necessários também são instalados, como a instalação do Docker, por exemplo.

Finalizada a configuração do ambiente, é feito o download das imagens "sesuite", "baseclassprod", "macheteprod", "sesuite-search" e "memcached"; estas serão responsáveis por diversos serviços do SoftExpert Suite.

Finalizado o download das imagens citadas acima, será inicializado o SoftExpert Suite, com seus respectivos containers. A execução de aplicações será feita internamente, com um servidor web NGINX que atenderá as requisições Web nas portas 80 e 443; este, por sua vez, repassará internamente para outros serviços, sendo:

  • Web Server NGINX para o Container Baseclass PHP-FPM - Atende a requisições para a camada em PHP para operações do sistema
  • Web Server NGINX para o Container Machete PHP-FPM - Atende a requisições para a camada em PHP para operações do sistema
  • Web Server NGINX para o Serviço NodeJS - Redireciona para o serviço Node.js, onde responde ao Reactor para as interfaces gráficas do sistema
  • Web Server NGINX para o Serviço Apache Tomcat/Java - Direcionado para o Apache Tomcat, onde a camada em Java responde as requisições da camada de lógica.
  • Container Baseclass para o Container memcached - Busca de dados em cache armazenados anteriormente pelos processos do PHP
  • Container Machete para o Container memcached - Busca de dados em cache armazenados anteriormente pelos processos do PHP
  • Apache Tomcat/Java para o Container sesuite-search - Busca de dados em serviço de indexação que aprimora a performance do SoftExpert Suite.

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).

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.

Esse novo formato foi desenvolvido para trazer vantagens com o empacotamento da aplicação em containers Docker, facilitando 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 uma dependência, isso é feito internamente nas imagens dos containers.