+1

Creole - Abstraindo o Acesso ao Banco de Dados

criado por Marlon Silva Carvalho em 24/02/2005 10:14pm
O lançamento da nova versão 5.0 da linguagem PHP alavancou o surgimento de uma nova gama de aplicações desenvolvidas a partir do paradigma da orientação a objetos. Isto porque esta nova versão incorpora de forma extensa os conceitos necessários para torná-la uma autêntica linguagem orientada a objetos. As vantagens advindas deste paradigma são muitas e bastante discutidas. Por este motivo, não entraremos neste mérito. O que vale ressaltar é que a orientação a objetos é, sem dúvidas, o alicerce para o desenvolvimento de aplicações robustas e, principalmente, reutilizáveis.

Aproveitando estas novas características da linguagem, temos atualmente uma solução robusta e estável para o acesso a banco de dados. Trata-se da biblioteca Creole, uma API para acesso a bancos de dados relacionais amplamente baseada no framework JDBC (Java Database Connectivity), para a linguagem Java. A utilização desta biblioteca possibilita a criação de código mais portável, além, logicamente, de permitir que o desenvolvedor construa aplicações puramente orientada a objetos.

Segundo os desenvolvedores desta aplicação, a mesma foi criada inicialmente para suprir as necessidades da aplicação Propel - Framework para Persistência de Objetos - mas ganhou força e hoje é um projeto separado. Para quem é acostumado a programar em Java, o Creole é uma solução que vai agradar e muito. Você encontrará os conhecidos objetos Connection, ResultSet, Statement, PreparedStatement entre outros. Importante também destacar que o Creole não é um pacote fechado, onde você não pode fazer mais nada além de usar. Esta solução dá o suporte necessário para que outros desenvolvedores criem novos drivers para bancos de dados que ainda não possuem suporte nativo. Até o momento, o Creole fornece suporte aos bancos de dados MySQL, MS SQL Server 2000, PostgreSQL, SQLite e uma versão preliminar para o Oracle.

Comentários:

Mostrando 1 - 9 de 9 comentários
Baruch Ramses disse:
Bom artigo! Parabéns pela exposição clara e eficiente.Estou implementando o Creole e caso necessite de ajuda já sei a quem recorrer.
29/06/2005 11:09am (~19 anos atrás)

Muito bom o artigo e o framework. É uma mão na roda, já que o php não tem a parte de banco muito boa e sempre temos que implementar. O creole pelo que eu vi aqui no artigo é bem fiel ao JDBC. Agora vou ali baixar e testar... vlw ae pela dica :))
13/06/2005 12:00am (~19 anos atrás)

Erick,
O Creole trata excecoes de forma bem parecida com o JDBC.
22/04/2005 3:23pm (~19 anos atrás)

Erick Melo disse:
Achei interessante essa API. Agora ficou uma dúvida:

No JAVA é necessário fazer um tratamento de exceções quando se trabalha com Banco de Dados.

No caso dessa biblioteca Creole, como são tratadas as excessões? Existe algum tratamento eficaz?
21/04/2005 3:21pm (~19 anos atrás)

Fico devendo uma resposta mais completa, entretanto, até onde conheco esta biblioteca, ela não suporta este tipo de transacão.

Isto principalmente devido à "natureza desconectada" do PHP, diferente dos Servlets do Java. Ainda não fiz nenhum teste sobre isso, mas pelo que conheco do PHP, tenho quase certeza que não é possível fazer o que você pretende. Também não sei se com conexões persistentes é possível.
28/02/2005 1:24pm (~19 anos atrás)

Kelvin Weiss disse:
Com esta biblioteca, temos um controle real de transações? Por exemplo, abrir uma transação na pagina cadastro_inicio.php e terminá-la na página cadastro_fim.php?

Isso no caso por exemplo de nota fiscal x item, onde um NF só pode ser gravada no momento em que um item for inserido.

obrigado.
28/02/2005 12:29pm (~19 anos atrás)

Sim, o ADODb é muito bom. Já o utilizei em um projeto grande e o rendimento dele foi satisfatório. Acredito que cada um deve usar o framework que atende melhor aos seus requisitos.
Imagine que você tenha uma equipe de bons programadores Java, e que precisam agora entrar em um projeto em PHP. Naturalmente, tempo é dinheiro, logo a solucão mais viável é utilizar algo similar e que os programadores já tem conhecimento, como o Creole.
Mas concordo sim que o ADODb é uma solucão excelente e que merece ser vista, o Creole é mais uma opcão e boa opcão. Cada um tem seus prós e contras, cabe a cada um avaliar a que melhor se adapta as suas necessidades.
25/02/2005 3:45pm (~19 anos atrás)

Marcelio Leal disse:
Achei interessante o artigo, não conhecia o framework, mas pelo que vi na documentação o ADODB ainda é bem melhor.

Na verdade eu acho a idéia do ADODB é melhor que a do JDBC, é muito show pq utiliza a mesma metodologia que o pessoal do PHP pensou tb.

PEAR::DB também é interessante.

Lá no site do ADODB tem uma comparação.
25/02/2005 3:36pm (~19 anos atrás)

parabéns Marlon, este artigo foi muito útil para mim!
25/02/2005 9:26am (~19 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)