Hoje vamos conversar sobre o TOTVS DBaccess e entender um pouco mais sobre o que ele é e como funciona para juntos tentarmos concluir se o DBAccess é ou não um ORM?
O que é?
O DBAccess faz parte do conjunto de soluções desenvolvidas para uso com o ecosistema TOTVS Protheus, sendo o responsável pela conectividade com variados Sistemas Gerenciadores de Bancos de Dados (SGBDs). Dentre os principais SGBDs compatíveis, podemos listar:
PostgreSQL
MSSQL Server
Oracle
Inicialmente com o nome TopConnect, foi projetado para para possibilitar ao TOTVS Protheus a conexão com bancos de dados do tipo SQL - Structured Query Language, retirando assim a limitação e dependência com o mais lento e antigo sistema de arquivos DBase.
Além de prover a interface de conexão com o SGBD, o DBAccess possibilita o gerenciamento de informações relevantes por meio uma ferramenta chamada DBMonitor, como:
Relação de usuários conectados;
Monitoramento de registros reservados para edição (lock);
Monitoramento de consultas realizadas em tempo real de execução.
O TOTVS DBAccess é um ORM?
Eh... essa é que questão meio controversa e que irá variar com a interpretação de cada profissional, já um ORM possui como principal objetivo a aproximação da manipulação de dados (comumente chamada de camada DAO - Data Access Object por diversos padrões de projeto existentes) com os paradigmas da Programação Orientada a Objetos (POO). E este é o "ponto fraco" do DBAccess, ou seja, ele é totalmente procedural.
Contudo, o DBAccess cumpre muito bem com outros objetivos propostos por um ORM, por exemplo, a abstração da sintaxe específica entre cada SGBD, dando ao time técnico a liberdade de mudar o banco de dados de um projeto sem muito esforço.
Outros pontos fortes do TOTVS DBAccess é (i) a capacidade de se conectar simultaneamente à diversos bancos de dados, tornando a integração entre diferentes sistemas algo simples e trivial, e (ii) a performance bem satisfatória (que já foi um ponto problemático no passado).
Existem também frameworks mais simplificados disponíveis no mercado, normalmente possuem foco em performance e são denominados de micro-ORM, que é o caso do Dapper (dotNet).
Por estes motivos que considero o DBAccess como um ORM ou no mínimo, um micro-ORM.
Exemplo de uso
No código acima, localizamos o produto de código "000123" na tabela "SB1" correspondente ao Cadastro de Produtos, no TOTVS Protheus e exibimos no console do sistema o texto: "PRODUTO 000123 - PRODUTO TESTE LOCALIZADO COM SUCESSO!".
Conclusão
Bem pessoal, o DBAccess é sem dúvidas, uma ótima solução de conectividade desenhada para o TOTVS Protheus e que ampliou em muito as capacidades do sistema.
Futuramente estaremos falando sobre como podemos "destravar" os conceitos de POO no TOTVS DBAccess e assim trazer novos recursos interessantes do ponto de vista de produtividade, manutenibilidade e reusabilidade de código.
Dúvidas
Deixe sua dúvida ou sugestão na área de comentários, teremos prazer em ajudar.
Referências
(1) TOTVS DBAccess. https://tdn.totvs.com/display/tec/DBAccess.
(2) Sobre TOTVS DBAccess. https://tdn.totvs.com/display/tec/DBAccess+-+Sobre.
(3) Perguntas Frequentes. https://tdn.totvs.com/display/tec/DBAccess+-+Perguntas+frequentes.
Comments