Desenvolvimento para SAP Business One e HANA (in-memory)
- #SQL
- #Banco de dados relacional
O que é o SAP Business One?
É também popularmente chamado de SAP B1. É um sistema ERP desenvolvido e vendido para empresa alemã SAP. A empresa SAP é uma das maiores empresas de softwares do mundo. Estando espalhada em diversos países e abrangendo uma gama de área de implementações muito grande.
Obs: Existem outros produtos que também são vendidos pela SAP, por exemplo, o SalesForce. Mas nesse artigo irei falar apenas do SAP B1.
Os diferencias do SAP B1:
Customização, que permite a modificação do B1, tanto via softwares de terceiros quanto desenvolvimento dentro do próprio sistema, conhecidos como AddOn.
AddOn é o nome que damos a uma aplicação separada que conseguimos acoplar em um ERP que já está em funcionamento.
O SDK (System Development Kit):
É um conjunto de ferramentas de desenvolvimento de softwares. Usado para facilitar o desenvolvimento desses softwares, como uma framework ou DLL, por exemplo.
- Essa SDK roda sobre a plataforma .NET
- Podendo programar nas linguagens VB.net e C#.
API's:
Existem duas API's principais para se utilizar em várias linguagens de programação:
- UI API: Usada para manipular os dados do SAP B.
- DI API: Usada para manipular as telas e eventos do sistema.
O que é o SAP HANA?
O HANA é uma plataforma de banco de dados relacional e orientado a colunas. Desenvolvido e comercializado pela SAP.
Quais os diferencias do SAP HANA?
Permite a tomada de decisões de negócio de forma mais rápida:
- Trabalhando com com conceito de atualização de processos (in-memoy).
- Direcionando as atividades transacionais do usuário em aplicações (real-time), na memória de processamento RAM.
Vejamos o exemplo:
Em um banco de dados tradicional nós temos:
- A memória RAM
- Uma memória Cache
- E o disco físico
- Quando fazemos uma consulta nesse banco, seja um Select, executamos uma Procedure, View etc. O banco dá o comando e joga para a memória, essa memória vai para o disco e retorna os dados para o usuário, salvando a informação na memória cache para se caso solicitar essa informação recente.
Já no SAP HANA temos a seguinte abordagem:
- Ele tenta deixar todos os dados do banco salvos em memória.
- Mas se eu deixar esses dados salvos na memória eu vou precisar de um poder de memória muito grande, ter muita RAM para gerenciar tudo isso?
- E a verdade é que não é bem assim, pois o HANA trabalha dentro dessa memória com alguns diferenciais, tanto em hardware quando em software. No meio desse processo serão executados alguns trabalhos para não deixar essa memória pesar a sua máquina.
- Quando falamos que o HANA está trabalhando na memória, não significa que o dado está salvo na memória RAM. Ele está ali apenas temporariamente. Pegando um exemplo dos bancos tradicionais, é como se fosse uma Cache gigante.
- Ao invés de gravar apenas uma informação de onde está aquele dado, grava todos os dados na memória. Quando ver que não irar mais utilizar esses dados eles são descartados e jogados fora.