Foros del Web » Programación para mayores de 30 ;) » Java »

¿ Distribuir programa Java con Base de datos ?

Estas en el tema de ¿ Distribuir programa Java con Base de datos ? en el foro de Java en Foros del Web. Hola! Para poder distribuir una "pequeña" aplicación realizada con Java y distribuirla después a varios usuarios diferentes: 1- ¿Qué base de datos me recomendáis?¿Mysql o ...
  #1 (permalink)  
Antiguo 11/06/2017, 14:21
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
¿ Distribuir programa Java con Base de datos ?

Hola!

Para poder distribuir una "pequeña" aplicación realizada con Java y distribuirla después a varios usuarios diferentes:

1- ¿Qué base de datos me recomendáis?¿Mysql o SQlite?
2- ¿Como hacerlo?

Mil gracias a todos!
  #2 (permalink)  
Antiguo 11/06/2017, 22:38
Avatar de detective_jd  
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Hola, tendríamos que empezar por que cosas debería realizar tu aplicación.....
La base de datos sería indiferente aunque sqlite no es una muy buena opción:

https://ajbalmon.wordpress.com/2011/...sql-vs-sqlite/

Saludos.
  #3 (permalink)  
Antiguo 12/06/2017, 07:26
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
Respuesta: ¿ Distribuir programa Java con Base de datos ?

sé que mysql es superior, sin embargo, según parece, a la hora de distribuir una aplicación sqlite "no necesita" instalación..

Esta es la gran duda.. si uso mysql, será más compleja la distribución e instalación de la base de datos verdad (en comparación con sqlite?

Gracias!
  #4 (permalink)  
Antiguo 12/06/2017, 09:19
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Cita:
Iniciado por davidj Ver Mensaje
sé que mysql es superior, sin embargo, según parece, a la hora de distribuir una aplicación sqlite "no necesita" instalación..

Esta es la gran duda.. si uso mysql, será más compleja la distribución e instalación de la base de datos verdad (en comparación con sqlite?

Gracias!
SQLite es adecuado como base local del lado del cliente para datos que no se necesitan centralizar, o un repositorio temporario de información que luego se sube a un server o backend centralizado. Nada que ver con MySQL que en general se usa del lado del server.

La verdadera pregunta es a quien se le puede ocurrir hacer una aplicacion cliente (desktop) en java en 2017, y encima meterle una base de datos local.
  #5 (permalink)  
Antiguo 12/06/2017, 11:59
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Buenas,

MySQL no esta pensada para instalada en cada puesto.
MySQL es una base de datos de servidor. La instalas en un servidor y los puestos cliente se conectan a ella por red.
Como bien deduces, es complicado instalarla y configurarla correctamente. No quiero pensar, si ademas luego tienes que actualizarla en cada puesto.

SQLite ,sin embargo, esta pensada para distribuirse embebida en una aplicacion. Se trata de un simple fichero, por lo que el despliegue es muy basico.

Como alternativa te recomiendo H2, que es una excelente base de datos para este proposito desarrollada enteramente en Java: http://www.h2database.com/html/main.html
https://github.com/h2database/h2database

Aqui tienes un ejemplo de una aplicacion de escritorio muy sencilla que accede a H2 mediante JPA: http://www.javaquizplayer.com/exampl...A-example.html
Es de 2017.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #6 (permalink)  
Antiguo 12/06/2017, 12:11
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Hola:

Depende un poco de lo que quieras y del objetivo de tu aplicación.

Si es una aplicación "seria", lo normal es no imponer al cliente ninguna base de datos en concreto. Tu aplicación debería ser capaz de funcionar con bases de datos que el cliente ya tenga instaladas (cuantos más tipos mejor) y simplemente debería configurar tu aplicación diciéndole dónde está la base de datos (servidor, puerto, usuario, password, etc, etc). Tu aplicación, en un primer arranque/configuración debería ser capaz de crear las tablas y todo lo necesario para funcionar.

En estos casos y para que el cliente pueda probar rápidamente tu aplicación, tu aplicación puede venir con una base de datos embebida que no necesite instalación, de forma que el cliente sin configurar nada y sin instalarse una base de datos ya pueda usarla. Para estos casos suelo usar bases de datos que son puramente java, así van junto con los jar de mi proyecto y no necesitan instalación ninguna (apache derby, h2, ...) SQLite también es una opción. Este tipo de base de datos en general solo es adecuado para un arranque y pruebas rápidas. Para un uso serio de la aplicación, siempre se recomiendan bases de datos en condiciones (oracle, posgresql, mysql, ...).

Otro tema es que no necesites tanto "invento". Entonces la que más rabia te dé. MySQL es mejor base de datos que SQLite, pero requiere instalación. También sería interesante saber si todos los clientes quieres que compartan los mismos datos, o cada uno va a tener los suyos propios.

Saludos.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 12/06/2017, 13:23
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Aqui tienes un ejemplo de una aplicacion de escritorio muy sencilla [...] Es de 2017.
Cita:
Iniciado por Profesor_Falken Ver Mensaje
muy sencilla
Cita:
Iniciado por Profesor_Falken Ver Mensaje
sencilla
10 clases y 1075 lineas de codigo para guardar 2 strings en una base de datos local. Cada dia me sorprende mas la idiotez suprema de java.

Última edición por agleiva; 12/06/2017 a las 13:35
  #8 (permalink)  
Antiguo 12/06/2017, 15:30
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
Respuesta: ¿ Distribuir programa Java con Base de datos ?

gracias por vuestros consejos.

Se trataría de una sencilla aplicación cliente para distribuirla a usuarios de diferentes ciudades y que no tienen nada que ver entre si... además con no muchos conocimientos de informática... por eso he pensado que sqlite tal vez sea una de las mejores opciobes..
  #9 (permalink)  
Antiguo 12/06/2017, 17:34
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Cita:
Iniciado por davidj Ver Mensaje
gracias por vuestros consejos.

Se trataría de una sencilla aplicación cliente para distribuirla a usuarios de diferentes ciudades y que no tienen nada que ver entre si... además con no muchos conocimientos de informática... por eso he pensado que sqlite tal vez sea una de las mejores opciobes..
Sigo sin entender por qué no haces una aplicación web y te ahorras todo el dolor de cabeza de tener que deployar / updatear individualmente la aplicación en cada cliente (sin mencionar el hecho de que así le ahorrarías a tus clientes la enorme molestia de tener que tener instalado java en su sistema, lo cual de por si es bastante indeseable ya que java está repleto de vulnerabilidades de seguridad por todos lados y encima te llena la computadora de crapware)

Sin mencionar que una aplicación web con mínimo esfuerzo es compatible con dispositivos móviles, mientras que una aplicacion en java / swing claramente no.
  #10 (permalink)  
Antiguo 12/06/2017, 17:40
Avatar de detective_jd  
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: ¿ Distribuir programa Java con Base de datos ?

En todo caso davidj aegurate que hacer hibrida la base de datos, asegurándote de que sin el gestor funcione igual la bd independientemente de cual sea.

http://arquitecturashibridas.blogspo...ridos-una.html

Saludos
  #11 (permalink)  
Antiguo 13/06/2017, 00:24
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Cita:
Iniciado por agleiva Ver Mensaje
10 clases y 1075 lineas de codigo para guardar 2 strings en una base de datos local. Cada dia me sorprende mas la idiotez suprema de java.
Tanto que te molesta Java y no haces más que entrar a la sección de Java para publicar comentarios fuera de lugar que no aportan nada. El próximo comentario así, sea en esta sección o en otra, será el último.
__________________
Aviso: No se resuelven dudas por MP!
  #12 (permalink)  
Antiguo 13/06/2017, 06:16
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Buenas,
Cita:
Se trataría de una sencilla aplicación cliente para distribuirla a usuarios de diferentes ciudades y que no tienen nada que ver entre si... además con no muchos conocimientos de informática... por eso he pensado que sqlite tal vez sea una de las mejores opciobes..
En ese caso, adelante con SQLite. Es muy sencillo integrarla en una aplicacion Java.
Aqui tienes un pequeno tutorial de conexion & CRUD usando JDBC: https://www.tutorialspoint.com/sqlite/sqlite_java.htm

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #13 (permalink)  
Antiguo 14/06/2017, 17:36
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 2 meses
Puntos: 11
Respuesta: ¿ Distribuir programa Java con Base de datos ?

Bueno ya saben, del odio al amor solo hay un paso.
  #14 (permalink)  
Antiguo 21/06/2017, 03:58
 
Fecha de Ingreso: noviembre-2015
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 2
Respuesta: ¿ Distribuir programa Java con Base de datos ?

SQLite para una aplicación de escritorio no está mal y menos dolores de cabeza, por otro lado si te decantas por MySQL está la opción de descargar el XAMP portable, eliminas lo que no necesites configuras (eliminar contraseñas por defecto...) y listo. Junto con el arranque de la aplicación tendrías que arrancar el servicio mysql y al cerrar obviamente pararlo.
Incluye un servidor apache + phpmyadmin para que puedas gestionar la base de datos de forma visual directamente en el ordenador del cliente y no instalar el mysql workbench.

Etiquetas: mysql, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:54.