Criando aplicações multi-banco com o ZeosDBO
Sempre que temos a missão de desenvolvermos um software, devemos fazer um processo minucioso de análise de todos os fatores que irão contribuir e influenciar na qualidade do nosso produto final. Na maioria dos casos, nós desenvolvedores nos preocupamos com fatores como: arquitetura na qual será aplicada, banco de dados ideal para o projeto, tecnologias que serão envolvidas, entre inúmeras outras. Destes fatores que citamos, podemos perceber que todos estão diretamente relacionados. Neste caso surgem algumas questões como: Qual componente de conexão devo utilizar? É possível integrar este projeto com outros bancos de dados? O que devo fazer para manter minha aplicação multi-bancos sem a necessidade de ter que reescrevê-la? Muitos desenvolvedores poderiam citar a utilização do DBExpress, por exemplo, porém, alguns desenvolvedores preferem utilizar outros componentes, que possuem qualidade tão boa quanto esta citada.
Neste artigo, iremos abordar e responder a estas e muitas outras questões relativas à multi-conectividade, dicas de desenvolvimento para múltiplos bancos de dados, compatibilização da aplicação, preparação do ambiente. Tudo isso utilizando uma solução Open Source denominada de ZeosDBO.
O ZeosDBO (Zeos DataBase Objects), consiste em uma coleção de componentes para bancos de dados de grande qualidade, e atualmente é mantida por desenvolvedores do mundo todo. A grande vantagem deste componente (além de ser Open Source) se deve a alta quantidade de bancos de dados compatíveis com a biblioteca. Entre eles podemos citar: Firebird (versões 1.0, 1.5, 2.0 e 2.1), Interbase 5 e 6, MySQL, Oracle9i, PostgreSQL e SQLLite.
Exibiremos neste artigo, um passo a passo de como instalar o componente no Delphi, bem como sua utilização em conjunto com a tecnologia DataSnap. Estaremos substituindo o papel anteriormente desempenhado pelo DBExpress, por esta nova biblioteca de componentes, ilustrando algumas dicas importantes para manter esta conectividade entre os bancos de dados selecionados para o exemplo. Mãos a obra!
Preparando o ambiente
Para o nosso exemplo iremos utilizar dois bancos de dados distintos, bem como duas ferramentas de administração dos mesmos. Primeiramente iniciaremos pelo Firebird. Boa parte dos desenvolvedores que utilizam Delphi já conhecem este excelente banco de dados, porém, para quem ainda não conhece ou não utilizou, o Firebird é um banco de dados robusto, gratuito, de fácil instalação e manutenção. Utilizaremos em nosso artigo a versão 2.0.5 que está disponível para download no link. Em seguida, faremos o download da ferramenta de administração. Para o meu caso, escolhi o IBExpert Personal que é gratuito e está disponível no link, mas existem outras ferramentas muito interessantes como o IBOConsole e o FlameRobin que são tão boas quanto esta que me refiro. Siga os passos indicados na página e faça a instalação da ferramenta. Passaremos agora para o MySQL. O MySQL assim como o Firebird, também é um excelente banco de dados que possui as mesmas características, sendo robusto, de fácil instalação e manutenção. A versão que utilizaremos será a 5.0. A ferramenta de administração que utilizarei para este banco de dados será o HeidiSQL, que também é gratuita e está disponível no link. Por último iremos baixar a versão do ZeosDBO que será mostrada no exemplo. Vale lembrar que já existe uma versão Alpha dos componentes para o Delphi 2009, porém como já é de nosso conhecimento, uma versão Alpha não deve ser utilizada em produção, portanto, iremos utilizar a última versão 6.6.5 Stable, na qual é um Release e será instalada no Delphi 2007.
Instalando o componente
Após ter feito o download do componente, crie uma pasta no diretório de sua preferência. Estarei me baseando em C:\Componentes\D2007\ZeosDBO para realizar sua extração. Descompacte os componentes na pasta anteriormente criada e em seguida abra seu RAD Studio 2007. Acesse o menu Tools<Options<Environment Options<Delphi Options&çt;Library - Win32<… Na tela que é exibida, selecione o botão com três pontilhados para indicar o caminho das Unit's. Selecione a pasta src e adicione os caminhos correspondentes à component, core, dbc, parsesql e plain conforme ilustra a Figura 1.
Após ter adicionado estas Unit's, iremos abrir o package de instalação do componente. Volte ao diretório inicial onde foram extraídos os arquivos e acesse a pasta packages e em seguida entre na pasta correspondente à versão do seu Delphi, que no nosso caso será delphi11 (RAD Studio 2007). Por último, abra o arquivo ZeosDbo.bdsproj. Compile todos os projetos, e ao concluir o processo de compilação, selecione o pacote ZComponentDesign110.bpl com o botão direito do mouse e escolha a opção Install. Se o processo for bem sucedido, você terá a exibição de uma mensagem semelhante à da Figura 2.
Após a instalação, você terá uma nova paleta de componentes conforme mostra a ...