sábado, 6 de setembro de 2008

Você conhece o Java DB ?

A partir do JDK 6 a SUN incorporou um banco de dados 100% em Java, chamado Java DB. Neste post coloquei um pouco da história desse banco e os passos iniciais para a utilização do mesmo.

Apache Derby

O Java DB é baseado no código aberto de outro banco escrito em Java, mantido hoje pela Apache, chamado Derby. O Derby inicialmente se chamava Cloudscape e era mantido pelas empresas  Cloudscape, Informix, e IBM sendo doado posteriormente como projeto aberto para a Apache. O projeto está em produção desde 1997 e é utilizado por muitos produtos (lista). Um outro ponto é que o projeto  Apache Derby possui uma comunidade que vem crescendo e se tornando forte e que inclui desenvolvedores de grandes empresas como a SUN e a IBM bem como contribuintes individuais.

SUN + Apache Derby = Java DB

Todo o desenvolvimento do Java DB é feito no projeto Apache Derby, mas possui suporte completo pela SUN (para quem estiver disposto a pagar o preço é claro) o que ao meu ver é um ponto muito forte para a adoção do mesmo. Até a data deste post a SUN incorpora o Java DB nos seguintes produtos:

  • JDK 6;
  • Java Enterprise System;
  • Java System Application Server;
  • Java System Portal Server;
  • Service Registry;
  • Project Glassfish;
  • Java Studio Creator.

Com isso a SUN tenta tornar o Java DB o banco de dados padrão do Java, o que traz benefícios, como:

  • facilidade de configuração e utilização (é carregado com a JVM);
  • flexibilidade (cliente/server ou embarcado);
  • suporte das principais IDE's (Netbeans e Eclipse).

Características do Java DB

Apesar do pequeno tamanho (engine de 2MB) o Java DB possui completo funcionamento da SQL que inclui views, triggers, stored procedures e foreing keys. Além disso suporta transações multi-usuário, utilizando os principais níveis de isolação e de propriedades ACID. O Java DB implementa a segurança com a utilização de encriptação de dados, autenticação no lado do cliente e com comandos GRANT e REVOKE. Segue padrões como Java DataBase Connectivity (JDBC) 4.0 e SQL92/99/2003/XML.

Instalação e Configuração

Deve-se efetuar o download no site da SUN da versão adequada ao sistema operacional do instalador. Após instalar o Java DB o diretório escolhido deve possuir a seguinte estrutura de pastas:

  • Sub-diretório demo onde se encontra dois programas de demonstração.
  • Sub-diretório frameworks contém utilitários que ajudam a configurar variáveis de ambiente e a criar e trabalhar com as bases de dados.
  • Sub-diretório javadoc contém toda a documentação da API.
  • Sub-diretório docs contém documentação sobre o Java DB em si: configuração, administração e guias de referência.
  • Sub-diretório lib onde se encontra a biblioteca de pacotes no formato de arquivo JAR.
  • Sub-diretório bin contém os scripts para execução de utilitários e de configurações do ambiente.

Após a instalação é necessário configurar a variável de ambiente DERBY_HOME apontando para o diretório raiz da instalação do Java DB.

Arquitetura do Java DB: Embarcado (em 3 Passos)

 

1 - Coloque o derby.jar no classpath da sua aplicação;

2 - Inicialize o Java DB (opcional no JDK 6):

1: Class.forName("org.apache.derby.jdbc.EmbeddedDriver");

3- Crie uma nova base de dados:

1: Connection conn = DriverManager.getConnection(“jdbc:derby:dbName; “ + 2: “create=true”);

 

Arquitetura do Java DB: Cliente-Servidor  (em 4 passos)

  1. Inicialize o network server do Java DB: java -jar %DERBY_HOME%\lib\derbyrun.jar server start
  2. Utilize a ferramenta ij administrar a base de dados: java -jar %DERBY_HOME%\lib\derbyrun.jar ij
  3. Para carregar o driver utilize a seguinte sintaxe:
    1: Class.forName("org.apache.derby.jdbc.org.apache.derby.jdbc.ClientDriver");
  4. Para conectar ao banco utilize:
    1: Connection conn = DriverManager.getConnection(“"jdbc:derby://localhost:1527/"2: + dbName + ";create=true";

Exemplos de Utilização

O Java DB pode ser utilizado em diversos tipos de aplicação o que o torna bastante flexível:

  • Persistência de dados para desktop, browser ou dispositivos móveis.
  • Possibilita o deployment de aplicações persistentes em celulares, laptops ou mainframe.
  • Persiste dados no lado cliente, em middlewares ou no lado servidor.

Para Saber Mais

Technorati Marcas: ,,

Esse post teve como objetivo mostrar uma promissora alternativa de banco de dados chamada Java DB e mostrar como iniciar a utilização da mesma. Para achar tutorias detalhados e uma documentação completa sugiro que visite os seguintes sites:

Technorati Marcas: Java DB,SUN,Apache,Banco,Persistência

0 comentários: