quarta-feira, 17 de outubro de 2007

IBM common client





A IBM tem vários motores de bases de dados. Os mais conhecidos são o DB2 e o Informix.
Para lhes aceder tinha, até aqui, de manter diferentes produtos de conectividade. Por exemplo o Informix tinha um driver de JDBC e o DB2 outro. A mesma coisa para PHP e .NET.
Claro que grande parte da lógica é igual e viram aqui uma forma de poupar umas massas em desenvolvimento e suporte. Para tal resolveram fazer clientes que consigam aceder às diferentes bases de dados.

O que permitiu esta estratégia foi a adopção no Informix e clouscape do DRDA como protocolo de acesso à base dados. Até à versão 11 o Informix tinha um protocolo próprio que vinha desde os primeiros tempos em que o suporte de rede foi adicionado.
A partir da versão 11 pode-se aceder à base de dados com um dos protocolos iNet (antigo) ou DRDA (standard e novo) em simultâneo.

O DRDA define a arquitectura distribuída de uma base de dados incluindo a forma como um cliente comunica pela rede com o servidor e até as API(s). É um standard publicado e gerido pelo Open Group. É assim uma espécie de SOAP para as bases de dados (na medida em que define uma forma standard de um cliente se ligar e interagir com o fornecedor de serviços).

Se mais SGBD(s) adoptassem o standard poderíamos ver uma enorme redução na quantidade de diferentes implementações de clientes ou então usar o mesmo cliente em todas as base de dados reduzindo curvas de aprendizagem ou podendo escolher entre o que melhor resolve os nossos problemas em vez de ter clientes completamente comprometidos com o SGBD.

Voltando à IBM, por aquilo que ouvi escolheram o que de melhor existia em cada um dos drivers e implementaram-no no driver comum. Todas as funcionalidades a partir de agora serão implementadas para todos os SGBD(s). Um exemplo é o novo produto da IBM : IBM Data studio que promete uma forma fácil de gerir os dados durante todo o ciclo de vida (modelação, implementação, qualidade, arquivo).