Esse artigo faz parte da revista Clube Delphi edição 11. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.

Kylix Project

DBEXPRESS - A nova BDE

 

O Delphi nunca sofreu uma mudança tão radical em sua estrutura. O Delphi para Linux e o Delphi 6 para Windows estão trazendo uma quantidade enorme de novidades para os desenvolvedores. A maior delas, talvez se deva ao fato da  VCL ser substituída por uma nova classe de objetos, denominada CLX (leia 'clicks'). O CLX é uma camada de componentes portável entre as plataformas Windows ,Linux e, futuramente, as distribuições do Delphi para outros sistemas operacionais. Isto significa que um aplicativo escrito em Delphi 6 para windows poderá ser portado para o Linux com uma grande facilidade, e vice-versa.

 

A camada CLX está dividida em quatro categorias básicas:

 

BaseCLX      - As classes-pai desta biblioteca

VisualCLX     - As classes de interface, os controles visuais;

DataCLX        - Componentes de acesso à dados

NetCLX        - Objetos voltados para a Internet - a atual palheta FastNet será substituída por esta camada.

 

         A VisualClx, que contém as classes-pai para os objetos de interface, foi construída a partir da biblioteca Qt (leia "kíuti"), uma GUI interplataforma - está disponível para Windows e Linux. O Qt é fornecido pela trolltech e pode ser conferido com detalhes no endereço www.trolltech.com.

         O papel de uma GUI (graphics user interface) é especificar regras de exibição e funcionamento para os objetos visuais. Por exemplo, a GUI de um sistema  especifica se as janela serão tridimensionais ou não, ou como elas serão minimizadas. A GUI padrão do Windows é representada pela Win32 - um conjunto de APIs comuns ao Win9x e ao WindowsNT. Os objetos padronizados, como botões, listboxes, radiogroups e outros, foram reconstruídos a partir desta biblioteca e serão transparentes para o desenvolvedor. Veja   a seguir uma figura que ilustra os objetos da camada VisualClx:

 

IDE do Kylix, exibindo objetos VisualCLX

 

         A camada NetClx, além de substituir todos os componentes hoje encontrados para a Internet (diga adeus à FastNet!) traz além da manipulação de dados em XML, a interação com o servidor de web Apache - um fator fundamental para o desenvolvimento de CGIs no Linux.

 

DataClx e DbExpress - A nova BDE

 

         A nova camada de objetos para acesso a dados, dataCLX, foi totalmente baseada na tecnologia MIDAS, ou seja, recursos como caching, cursors, n-tier e outros, estarão encapsulados nos objetos DataClx. Quem hoje utiliza o MIDAS para desenvolver seus aplicativos, terá uma portabilidade maior do que os sistemas baseados somente em tables ou queries.

         A Inprise ainda não divulgou como será o licenciamento do MIDAS para aplicativos construídos a partir da camada DataClx.

         A Bde (Borland Database Engine), que acompanhou o Delphi desde sua primeira versão,  não estará mais presente. Os objetos DataClx irão interfacear com uma nova camada de acesso à dados, denominada dbExpress. Esta nova camada foi reconstruída a partir do zero, não aproveitando a estrutura da BDE. Veja agora as principais diferenças entre a BDE e a DbExpress:

         A camada DbExpress é  muito mais simples e leve, deixando muitos recursos a serem controlados pela própria aplicação.  Por exemplo, o caching de dados. A dbExpress retornará os dados somente de forma unidirecional, ou seja, não criará um handle de edição (live result set). A camada Midas, encapsulada nos objetos DataCLX, será a  responsável pelo cache dos dados retornados.

         A API desta camada é mais simples, baseada em apenas quatro objetos- SQLDriver, SQLConnection, SQLCommand e SQLCursor - comumente chamados de SQLObjects.

         A movimentação de registros, a indexação, ou qualquer outro tipo de manipulação dos dados retornados serão controlados pelo MIDAS ClientDataSet, livrando a DbExpress deste trabalho.

         A dbExpress também não implementará o Cached Updates, RequestLives ou reprocessamento de querys dinamicamente, o que irá incrementar a performance de acesso.

         Em suma, a nova camada promete um considerável aumento de performance para aplicações que manipulem massas de dados. Vejamos os principais pontos oferecidos pela DbExpress:

 

- Incremento  considerável de velocidade, visto que a DbExpress é muito simples, eliminando toda a carga de processamento realizada pelo BDE;

- Maior praticidade para distribuição do aplicativo, pois a complexidade de configuração e instalação da BDE não estará mais presente:

- Alocação de recursos dinâmicos no cliente será muito menor.

Até a data de fechamento deste artigo, a Borland já havia confirmado o acesso ao Interbase e ao MySQL através desta camada.

 

CLX - O Delphi não é o mesmo?

 

         As propriedades, métodos e eventos dos novos objetos são  muito parecidos com a VCL. Portanto, os desenvolvedores não terão o que se preocupar, já que o desenvolvimento será praticamente transparente. Já os construtores de componentes  sentirão um pouco de diferença, pois a estrutura dos novos objetos seguem novos conceitos. Veja alguns exemplos:

 

- As mensagens (messages) do Windows não estão presentes;

- Objetos derivados de TwinControl, irão descender de TwidgetControl;

- OwnerDraw não mais existe. Um novo conceito surge, chamado Styles (estilos).O uso de estilos permite a um controle assumir uma aparência completamente diferente, sem interferir no restante do código, de forma parecida com as interfaces gráficas do Linux.

         Há pouco tempo, a Borland divulgou um componente totalmente escrito sobre a plataforma CLX, para seus parceiros de desenvolvimento de componentes. Este objeto é  uma simples calculadora. As figuras abaixo demonstram o componente rodando sob a plataforma Windows e Linux, respectivamente:

 

Objeto Calculadora CLX sob o Windows

 

O mesmo objeto sob o Red Hat

 

         Para facilitar a migração de aplicativos para a nova plataforma CLX, a borland disponibilizou um aplicativo que informa as classes mais utilizadas em seu sistema. O VCLScanner pode ser baixado, com fontes,  no endereço: ftp://ftpc.inprise.com/pub/vcl_scanner/vclscanner-v1.zip

 

 

O Scanner listando os objetos mais utilizados pelo aplicativo CD-VENDAS