Java DB e dispositivos móveis
O número atual de SGBD´s que os desenvolvedores podem usar é extenso, porém, se filtrarmos por SGBD´s que também possam ser usados no ambiente móvel, este número cai drasticamente.
Java DB e dispositivos móveis
O número atual de SGBD´s que os desenvolvedores podem usar é extenso, porém, se filtrarmos por SGBD´s que também possam ser usados no ambiente móvel, este número cai drasticamente. Neste pequeno texto, iremos falar brevemente do Java DB, um banco de dados 100% Java que pode ser usado na plataforma Java SE, Java EE e, inclusive na Java ME. O Java DB começou em 1996, com o projeto Cloudscape, em 2004 foi incorporado ao projeto Apache. Sua idéia tem muitos pontos em comum com o DB2, tendo limites e características semelhantes.
Para quem já utiliza a linguagem Java, esta pode ser uma ótima opção, porque o Java DB é construído 100% Java, além de ser recomendado pela Sun. Outras características importantes do banco de dados:
- Suporte ao JDBC 4;
- Simples de embarcar em uma aplicação (basta colocar o derby.jar no classpath de sua aplicação);
- Administração zero para dispositivos móveis e muito simples para uso desktop;
- Tamanho médio de 2MB
E sobre a possibilidade de sua utilização com o Java ME? Porque o RMS ainda existe? Calma, infelizmente o Java DB ainda não está disponível para a configuração CLDC, somente para a CDC, versão 1.1. Há alguns pontos importantes que precisam ser conhecidos. Se a versão do seu Java DB é menor que a 10.1.1, não existe suporte para a Java ME. Se a versão é maior que a 10.1.1 e menor que a 10.3.1.4, CDC/FP 1.0 também é suportado. O Java DB tem suporte ao perfil Foundation Profile (FP) da CDC, sendo assim, ela também oferece suporte aos perfis que são subconjuntos da FP, como o Personal Basis Profile.
A codificação é mais próxima do uso JDBC no Java SE, do que a persistência de dados com o Record Management System. Veja a Listagem 1 com um pequeno trecho de código:
1: EmbeddedSimpleDataSource ds = new EmbeddedSimpleDataSource();
2: String dbName = "simpleMobileDB";
3: ds.setDatabaseName(dbName);
4: ds.setCreateDatabase("create");
5:
6: Connection conn = null;
7: Statement s = null;
8: PreparedStatement ps = null;
9: ResultSet rs = null;
10:
11: try {
12: conn = ds.getConnection();
13: s = conn.createStatement();
14:
15: s.execute("create table streetaddr(num int, addr varchar(40))");
16:
17: s.execute("insert into streetaddr values (1956, 'Dado')");
18:
19:
ps = conn.prepareStatement("update streetaddr set num=?,
addr=?
where num=?");
20:
21: ps.setInt(1, 180);
22: ps.setString(2, "Grand Ave.");
23: ps.setInt(3, 1956);
24: ps.executeUpdate();
25:
26: } catch (SQLException e) {}
O uso do Java DB no Java SE permite o uso da classe java.sql.DriverManager, porém, no Java ME, é necessário utilizar a classe EmbeddedSimpleDataSource (linha 1). A linha 2 especifica o nome do database, a linha 3 configura o nome da base de dados que será acessada pelo Java DB. A linha 4 permite que o database seja criado automaticamente se ele não existir.
As linhas seguintes do código servem apenas para mostrar que o uso do Java DB no ambiente ME se assemelha em muito com o ambiente desktop, inclusive utilizando chamadas SQL.
Infelizmente, o Java DB ainda não está disponível na configuração CLDC, então, teremos que conviver com o RMS mais algum tempo, ou, com o Floggy e outros frameworks que facilitam a persistência de dados. Porém, assim como o uso de smartphones cresce exponencialmente, a implementação da CDC pode ser implementada em um número de dispositivos bem maior do que o atual. Sendo assim, é interessante, como programadores Java ME, conhecermos, ao menos que a essência, deste banco de dados chamados Java DB.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Vídeo