Arquitetura
A figura abaixo mostra a arquitetura do PIS.
Ref.000004
Podemos destacar 3 camadas que compõem o produto:
- Camada cliente (Client Layer)
Esta camada consiste numa aplicação (App) que representa a camada de apresentação. Dois tipos de usuários acessam esta camada: O usuário administrador e o que irá desenhar os modelos no PIS.
Esta aplicação é desenhada para ser executada em ambiente Windows e não requer uma instalação formal bastando apenas copiar os arquivos para um diretório específico (Apesar de existir um Setup e um aplicativo para instalar esta aplicação).
- Camada Web Services (Web Services Layer)
Esta camada faz a comunicação entre a aplicação cliente e o servidor. Ela é feita através de Web Services. Isso significa que a comunicação client-server não é por TCP/IP e sim por protocolo HTTP/HTTPS, através de uma intranet ou internet. O servidor de aplicação onde estes Web Services serão executados deve ser o Internet Information Services (IIS).
- Camada Servidor (Servidor Layer)
Esta camada é onde está a inteligência do produto. Através do servidor que os acessos às fontes de dados e ao Metadados dos modelos serão acessadas.
- Camada de Dados (Data Layer)
Podemos incluir sobre esta camada o banco de dados de Metadados. Ele deve ser implementado através do SQL Server. Caso não haja licença deste produto pode-se utilizar o SQL Server Express, já que o tamanho da base de Metadados não é tão grande. Mas, claro, se usarmos um banco SQL Server corporativo a performance aumenta consideravelmente.
Os dados de Metadados são armazenados no formato JSON simulando, no SQL SERVER, um banco de dados não estruturados (NOSQL). Esta forma de armazenamento do Metadados foi escolhida pois permite salvar a classe completa serializada dentro da base de dados.
Podemos incluir sobre esta camada, também, as fontes de dados que irão envolver os processos de ETL e Integração.