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

Arquitetura lógica

O SoftExpert Suite é uma solução 100% web, ou seja, é acessado através de um navegador, baseado em uma arquitetura de três camadas, sendo elas:

As camadas são desenvolvidas e mantidas independentemente, permitindo que o sistema opere em um ou mais servidores, possibilitando o balanço de carga. Veja o diagrama desta arquitetura abaixo:

Figura 1 - Arquitetura lógica utilizada no SE Suite

Figura 1 - Arquitetura lógica utilizada no SE Suite

Camada de apresentação

Esta camada é responsável por controlar a interatividade entre o usuário e o sistema, bem como expor a lógica do negócio ao usuário através de componentes gráficos. No SoftExpert Suite o usuário interage diretamente com o sistema através de um browser da estação, mediante a uma autenticação.

O SoftExpert Suite faz uso de um conjunto de tecnologias como JavaScript, CSS (Cascading Style Sheets), HTML e Java na interface para proporcionar ao usuário final uma experiência rica (rich internet application) e interativa.

É importante salientar que não é necessário fazer a instalação de qualquer aplicativo cliente do SoftExpert Suite nas estações de trabalho, ou seja, apenas é necessário acessar a URL da aplicação através do browser, desta forma todos os componentes e serviços que o usuário necessitar serão executados pelo navegador ou, se for necessário, serão baixados automaticamente. Exceto o PDF Viewer .NET que depende apenas da instalação do .NET Framework e os visualizadores de DWG dependem da instalação do SEPreview.msi.

cuidado

Para correto funcionamento da solução, a estação de trabalho deverá atender aos requisitos mínimos listados no documento SoftExpert Suite - Requisitos do Sistema.

perigo

O uso de terminais remotos (Citrix, Microsoft Terminal Services) é transparente para a solução. Para um perfeito funcionamento, o servidor deverá estar devidamente dimensionado ao uso.

Camada de negócio

Esta camada possui componentes responsáveis pelas regras de negócios do sistema e por implementar a lógica da aplicação.

Nesta camada, o SoftExpert Suite possui um conjunto de aplicações Java dispostos em forma de serviços, responsáveis pela execução de funções de negócio compartilhadas entre os diversos componentes que compõem o SoftExpert Suite.

Tecnologias

As tecnologias utilizadas para o desenvolvimento do SoftExpert Suite são compostas por duas plataformas de desenvolvimento, quais são:

  • PHP;
  • Java.

O SoftExpert Suite foi concebido para fornecer todas as funcionalidades através da internet, permitindo aos usuários trabalharem em qualquer lugar desejado. Todas as telas (camada de apresentação) foram desenvolvidas em PHP e AJAX e as camadas de serviços, em JAVA.

perigo

Alguns componentes de visualização e integração com outros aplicativos podem utilizar tecnologias diferentes (.NET, C++). Estes componentes são de terceiros e tem uso restrito a algumas funções do sistema.

Camada de persistência

A camada de persistência é utilizada pelo SoftExpert Suite como repositório de informações, armazenando e consultando registros, através da utilização de um gerenciador de banco de dados.

Além do armazenamento dos registros de sistema em banco de dados, o SoftExpert Suite pode ser configurado para armazenar documentos e arquivos eletrônicos em banco de dados, servidor de arquivos ou servidor externo. Abaixo são listadas as principais vantagens de cada tipo de armazenagem de documentos:

Banco de dados

O armazenamento de documentos em banco de dados tem como principal vantagem a centralização de todas as informações do sistema em um único local, facilitando a realização de backup, administração e monitoramento dessas informações, além de não necessitar de várias rotinas de backup.

perigo

As rotinas de backup são de responsabilidade do cliente. É recomendável que a rotina de backup seja executada diariamente.

Servidor de arquivos

O SoftExpert Suite permite parametrização para o armazenamento de documentos e anexos em um diretório, o qual somente o SoftExpert Suite tem permissão de leitura e gravação, isso permite uma maior segurança, já que os usuários não interagem diretamente com os documentos armazenados no servidor de arquivos.

A vantagem do armazenamento de documentos e anexos em diretório é de não sobrecarregar o banco de dados com grandes volumes de informações, possibilitando a redução de custos com dispositivos de armazenagem, já que não necessita de um tempo de acesso tão otimizado, assim como é necessário nos dispositivos de armazenagem utilizados pelo banco de dados.

Servidor externo/distribuído

Servidores externos ou distribuídos são utilizados quando a filial de uma empresa necessita armazenar documentos de tamanho expressivo como, por exemplo, projetos e plantas de engenharia. Neste caso, todo o controle é realizado por uma aplicação desenvolvida em Java, a qual é instalada no servidor de arquivos da filial. Neste caso, o usuário deve possuir acesso ao servidor externo.

cuidado

O procedimento de instalação desta aplicação Java pode ser consultado no documento 'SoftExpert Suite - Guia de Instalação', no tópico 'Serviço para diretório em servidor externo'.

Servidores externos ou distribuídos permitem que o cliente acesse documentos em diferentes regiões geográficas, agilizando a visualização dos arquivos eletrônicos no ambiente onde estes são mais utilizados. Neste caso, o arquivo de um servidor externo não é salvo temporariamente no web server, e sim, baixado diretamente na estação de trabalho do usuário. Desta forma não ocorrerá o tráfego entre o web server e a estação de trabalho do usuário, mas sim entre o servidor externo e a estação.

Figura 2 - Cenário de uso de servidor de arquivos externo

Figura 2 - Cenário de uso de servidor de arquivos externo

Esse diagrama mostra que o usuário da Matriz consegue acessar os arquivos da Filial A e da Filial B, pois o usuário possui acesso nesses servidores.

Veja também os seguintes subtópicos:

perigo

Mesmo que os documentos sejam armazenados em um servidor local, qualquer usuário poderá ter acesso a esses documentos, independentemente de sua localização física (desde que o usuário tenha permissão para visualizar o documento).

cuidado

A comunicação entre a estação de trabalho e o servidor de arquivos é feita através do protocolo HTTPS.

Instâncias de banco de dados

O SoftExpert Suite permite o uso de instâncias de banco de dados, o que permite utilizar vários bancos com uma única instalação. Para utilizar esse recurso é necessário criar diferentes domínios e associá-los para cada banco de dados no sistema.

O SoftExpert Suite será acessado somente pela URL configurada, por exemplo, http://<domaindatabase.com/se> e http://<domaindatabase2.com/se>, caso haja duas bases. Se você tiver apenas um banco de dados configurado, o SoftExpert Suite pode ser acessado pelo hostname ou endereço IP, nesse caso o domínio será ignorado. Veja o diagrama abaixo:

Figura 3 - Diagrama de instâncias de Banco de Dados

Figura 3 - Diagrama de instâncias de Banco de Dados

cuidado

No cenário demonstrado na Figura 3, os usuários de uma instância, ou em uma filial, não tem acesso aos registros de outra instância.

Balanço de carga

O SoftExpert Suite possui suporte ao balanceamento de carga em banco de dados, desta forma oferecendo alta escalabilidade e disponibilidade, bem como um excelente desempenho no acesso às informações.

Figura 4 - Diagrama de balanceamento de carga de Banco de Dados

Figura 4 - Diagrama de balanceamento de carga de Banco de Dados

O gerenciamento do balanço de carga é realizado totalmente pela interface middleware(1). O SoftExpert Suite irá conectar-se ao client do banco de dados, tornando o balanço de carga transparente para a aplicação. Essa interface middleware é responsável pela conexão com os servidores de banco de dados, por distribuir entre os servidores ativos as requisições feitas pelos usuários e por manter a escalabilidade sempre que um servidor for inserido ou removido do balanceamento.

nota

1 - Aplicação de terceiros com o objetivo de realizar o balanceamento de dados sendo transparente para o SoftExpert Suite.

O uso de mais de um servidor de banco de dados melhora no desempenho do SoftExpert Suite, pois o tempo de resposta é proporcional ao número de usuários fazendo requisições ao banco de dados, então quando existe um balanceamento de carga, as requisições são divididas entre os servidores ativos, aumentando o desempenho do SoftExpert Suite, garantindo um tempo de resposta menor.

Métodos de conexão

Para conectar com o banco de dados o SoftExpert Suite utiliza os seguintes métodos de conexão:

  • JDBC: utilizado pelos serviços e aplicações JAVA;
  • Native Client: utilizado pelas aplicações PHP;