Gostaria que alguém me esclarecesse isto: qual a melhor forma de usar a persistência de dados numa aplicação desktop?
Digamos que seja um software que não precise de se conectar a um servidor por exemplo, um aplicativo simples de controle de caixa de um supermercado. Qual a melhor forma de armazenar os dados? Usando arquivos? Banco de Dados? Tenho conhecimento básico de MySQL, mas, até onde aprendi para que um programa que utiliza o banco de dados consiga acessá-lo, é preciso instalar o banco de dados.Entretanto não me recordo de instalar um software em casa que precisasse da instalação de algo do tipo.
Então, essa é a minha dúvida… se a melhor jogada é usando banco de dados, como fazer para integrar isto ao Java, sem precisar instalar no computador do cliente.
Bom, pra uma aplicação comercial acho que você poderia usar banco de dados sem problemas. Mas caso não queira, você pode usar também XML. Dê uma pesquisada nisso. Uma api boa pra xml é o XStream, que é bem fácil de aprender.
Gostei muito do XStream, eu não conhecia essa API.
Mas, Arautus, o que eu posso fazer pra utilizar estes bancos de dados sem precisar instala-los no aplicativo cliente?
Ou, sempre que eu utilizar banco de dados eu tenho que instalar em cada máquina mesmo?
[quote=Jonathan_p]Gostei muito do XStream, eu não conhecia essa API.
Mas, Arautus, o que eu posso fazer pra utilizar estes bancos de dados sem precisar instala-los no aplicativo cliente?
Ou, sempre que eu utilizar banco de dados eu tenho que instalar em cada máquina mesmo?[/quote]
Bom acredito que a intenção de não precisar instalar banco de dados no cliente, acaba lhe tirando uma obrigação que é instalar o banco de dados no cliente. Mas se pensarmos um pouco mais longe a sua aplicação só vai poder se beneficiar de bancos stand-alone de baixa capacidade de armazenamento. Se é realmente essa a sua intenção pesquise sobre o Java DB e o HyperSonic SQL, esses dois bancos trabalham de forma stand-alone com poder de armazenamento razoável, nesse caso você trabalharia com um banco de dados relacional que poderia ser distribuido junto com a aplicação (ambos os bancos não passam de 5Mb), porém é como eu disse pense na sua aplicação à longo prazo com toneladas de dados para gerenciar.
Às vezes vale a pena passar o trabalho de ir configurar o banco no cliente colocando no mesmo um banco de dados mais “parrudo” (MySQL, PostGres), pois assim os dados são melhor gerenciados.