Arquitetura do BIS: mudanças entre as edições
Sem resumo de edição |
|||
Linha 9: | Linha 9: | ||
O BIS é montado em cima de três camadas 'básicas' de arquitetura: | O BIS é montado em cima de três camadas 'básicas' de arquitetura: | ||
[[File:ArquiteturaCamadas_1. | [[File:ArquiteturaCamadas_1.png|center]] | ||
* '''Camada de Persistência''' - é a responsável por 'guardar' os objetos no banco de dados. É a única parte do sistema que "conhece" o banco de dados. Sabe como guardar e recuperar os objetos solicitados pela camada de lógica. | * '''Camada de Persistência''' - é a responsável por 'guardar' os objetos no banco de dados. É a única parte do sistema que "conhece" o banco de dados. Sabe como guardar e recuperar os objetos solicitados pela camada de lógica. | ||
* '''Camada de Lógica''' - é a responsável por armazenar a lógica do sistema. Aqui encontram-se as rotinas que validam e processam os dados do sistema. | * '''Camada de Lógica''' - é a responsável por armazenar a lógica do sistema. Aqui encontram-se as rotinas que validam e processam os dados do sistema. | ||
* '''Camada de Apresentação''' - é a camada onde estão configuradas as interfaces entre o sistema e o usuário. Nesta camada temos apenas a programação da própria interface (botões, listas, combos, cores, etc.) Embora seja possível ter alguma validação para agilizar e impedir o usuário de entrar dados inválidos, TODAS AS VALIDAÇÕES devem constar na camada de lógica. | * '''Camada de Apresentação''' - é a camada onde estão configuradas as interfaces entre o sistema e o usuário. Nesta camada temos apenas a programação da própria interface (botões, listas, combos, cores, etc.) Embora seja possível ter alguma validação para agilizar e impedir o usuário de entrar dados inválidos, TODAS AS VALIDAÇÕES devem constar na camada de lógica. | ||
= Modularidade = | = Modularidade = |
Edição das 16h26min de 19 de maio de 2019
O BIS (ou BISERP) é um sistema focado em atender de forma ampla as necessidades de uma empresa. Com esse objetivo a arquitetura do BIS precisa ter uma organização que permita escalabilidade a medida que sua abrangência se torna mais ampla, o desenvolvimento e organização do código não devem ser comprometidas.
Para entender a arquitetura é imprescindível algum conhecimento básico em J2EE
Camadas
O BIS é montado em cima de três camadas 'básicas' de arquitetura:

- Camada de Persistência - é a responsável por 'guardar' os objetos no banco de dados. É a única parte do sistema que "conhece" o banco de dados. Sabe como guardar e recuperar os objetos solicitados pela camada de lógica.
- Camada de Lógica - é a responsável por armazenar a lógica do sistema. Aqui encontram-se as rotinas que validam e processam os dados do sistema.
- Camada de Apresentação - é a camada onde estão configuradas as interfaces entre o sistema e o usuário. Nesta camada temos apenas a programação da própria interface (botões, listas, combos, cores, etc.) Embora seja possível ter alguma validação para agilizar e impedir o usuário de entrar dados inválidos, TODAS AS VALIDAÇÕES devem constar na camada de lógica.
Modularidade
O BIS apresenta uma organização interna de módulos. O Módulo nada mais é do que uma parte do sistema responsável por cuidar de algum assunto específico da necessidade da empresa. Por exemplo:
- Módulo de Items - Módulo responsável por cadastrar e gerencias os itens do sistema. Itens são os produtos vendidos ou comprados, serviços prestados ou recebidos, material comprado para consumo ou ativo da empresa, e assim por diante.
- Módulo de Fluxo de Caixa - Módulo responsável por gerenciar a parte financeira da empresa. Contas a pagar e de receber, caixas e orçamentos locais ou bancários, etc.
- Módulo de Vendas/PDV - Módulo que permite a venda em checkouts, emissão de cupons SAT/NFCe, etc..
Apesar dessa divisão em módulos, o sistema não permite o destacamento dos seus módulos (como plugins). A separação de módulos é feita em relação aos 'packages' do java, mas todo o código, ou seja, todos os módulos andam juntos e estão presentes.
![]() |
|
Serviços do BIS
Serviços do BIS são como pequenos módulos (as vezes não tão pequenos) mas que muitas vezes não tem uma funcionalidade própria além de prover agilidade ou de centralizar as informações para outros módulos. Por exemplo:
- Cadastro de Pessoas - O BIS oferece o cadastro de pessoas, que podem ser utilizadas como clientes, fornecedores, funcionários, contatos, etc. por qualquer outro módulo.
- Localização - Há uma base de dados com País, Estado, Cidade e Endereços que permite que qualquer módulo obtenha localidades de forma organizada sem ter de implementar todos esses dados de forma autônoma.
- Mail Boxes - O serviço de e-mail permite que caixas de e-mail sejam configuradas, e posteriormente os módulos as utilizem tanto para enviar quanto para receber e-mails.
Empacotamento
Empacotamento da aplicação é o arquivo para distribuição e execução da aplicação. Por ser uma aplicação J2EE o BIS é distribuido em um arquivo EAR. Atualmente dentro dele, de forma simplificada, encontramos os seguintes conteúdos:
- 'BISEJB - Pacote da camada de lógica do BIS e camada de Persistência. Por conta da camada de persistência simplificada do BIS, ela acabou sendo unificada dentro do próprio pacote da camada de lógica. Mas embora empacotada de forma diferente, a camada continua existindo de forma lógica e organizacional no código.
- BISVaadin - Pacote contendo a camada de apresentação do BIS destinada a WEB para Desktops.
- Bibliotecas - Bibliotecas de terceiros necessárias para execução do BIS. Como conectores de banco de dados, ferramentas de Logs, manipulação de equipamentos, etc.