Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   Crear aplicación multiplataforma con base de datos en la nube (https://www.clubdelphi.com/foros/showthread.php?t=87197)

cocute 27-11-2014 13:50:29

Crear aplicación multiplataforma con base de datos en la nube
 
Cual creeis que es el mejor método para
crear aplicación multiplataforma (android, windows, ios)
que tenga una base de datos personal alojada en la nube.
Vamos la base de datos sea independiente para cualquiera que usase el programa,
pero que sea el mismo fichero independiente si corro el soft en android, windows....
Imagino que lo más simple sería alojar la base de datos en dropbox, drive ...
o existe algún modo mejor de hacer esto.

mamcx 27-11-2014 14:38:39

Para ello, debes usar un motor de bases de datos, no el archivo directo (y ponerlo en dropbox!).

Si usas delphi, investiga sobre DataSnap (es funcional para tu caso solo en las versiones mas modernas de Delphi).

Como motor de sql que te ande en la nube, PostgreSQL seria un buen candidato. Microsoft tambien provee Sql Server en su plataforma Azure.

cocute 28-11-2014 09:25:46

gracias,
pero no entiendo bien,
se pueden instalar cosas en la nube?
aunque en principio el programa es para uso personal, la cosa es que el que corra el programa no tenga que instalar nada extra,
no sería más simple usar una memtable con el fichero de la base de datos en una carpeta de dropbox, drive.....¿?

Neftali [Germán.Estévez] 28-11-2014 10:02:51

Revisa sobre Enterprive Mobility Services de Embarcadero.
Tambíen puedes revisar otros servicios como Google Cloud SQL (MySQL), o los comentados, azure, Amazon,...

Casimiro Notevi 28-11-2014 10:05:32

Todo depende, como siempre, de lo que quieras hacer exactamente, algo que no sabemos.
Si lo que quieres es tener una base de datos a la que accedan desde distintos sitios, necesitarás un servidor de bases de datos.
Un "disco en la nube" es como si le conectas un disco duro usb a tu ordenador, no sirve de servidor porque necesitas un servidor de bases de datos funcionando en tu ordenador (postgresql, firebird, mysql, etc.)
En "la nube" tienes un disco, no tienes un ordenador.
Para ello necesitas un servidor, un hosting, un lugar donde puedas instalar o tenga instalado un servidor de bases de datos.

EDITO: se me adelantó Neftali por unos segundos.

chaosego 28-11-2014 11:08:52

Tiene Salvador Jover, una série de artículos (enlace), donde explica facilmente como implementar un servidor datasnap en la nube, concretamente en los servidores virtuales de Amazón. Y que pueden ser aplicados a cualquier servidor virtual que tengas, sea de pago o gratuito, bajo windows, eso sí.

Te recomiendo que leas además la serie de artículos de Neftali (enlace) donde explica otra forma de realizar el servido de datos, que está explicado con vistas desde un proveedor donde solo tengas servicio de hosting (cualquiera sirve mientras ejecute php). Indíca como crear además tanto el cliente de windows, como para dispositivos móviles.

Ambos dos, desde mi punto de vista, son imprescindibles modelos a seguir como punto de partida para la creación de servidores de datos en la nube.

cocute 28-11-2014 13:40:55

Gracias a todos por responder, le echare in vistazo a todo.

Cita:

Empezado por Casimiro Notevi (Mensaje 485739)
Todo depende, como siempre, de lo que quieras hacer exactamente, algo que no sabemos.
.

Lo que pretendo hacer es un programa con una base de datos, pongamos por ejemplo una agenda, que tenga el mismo fichero de base de datos sincronizada independientemente si corres la app en android como en pc, pero esa base de datos es personal para el que la usa, no es una base de datos común para todo el que corra el programa, y no quiero que el programa dependa de un servidor común de pago sino que se aloje en la nube del usuario (que es lo único que se me ocurre).

Los artículos que veo de Neftali son exactamente lo que busco, pero no quiero depender de un servidor ni mio ni de pago,
con lo cual sólo se me ocurre lo de alojar un fichero de una memtable en la nube.

Casimiro Notevi 28-11-2014 14:04:14

Si necesitas una base de datos, no te queda más remedio que usar un servidor de bases de datos.
Salvo que uses ficheros de texto, o cosas así.

mamcx 28-11-2014 15:23:35

Cita:

Empezado por cocute (Mensaje 485743)
pero no quiero depender de un servidor ni mio ni de pago,
con lo cual sólo se me ocurre lo de alojar un fichero de una memtable en la nube.

Todo cuesta, tarde o temprano. Pero hay muchas opciones si estas dispuesto a las limitaciones.

Heroku provee una capa gratuita:

https://www.heroku.com/pricing

Amazon da 1 año gratis:

http://aws.amazon.com/es/free/

Tambien MS:

https://azure.microsoft.com/en-us/pr...ails/websites/

Pero con todos eventualmente te toparas con limitaciones.

Lo mas economico y bueno ahora es:

https://www.digitalocean.com/

Pero es linux, aunque sirve para poner solo la BD y acceder en 2 niveles...

chaosego 29-11-2014 10:52:51

Si solo necesitas acceder a los datos para leer, puede pasar la solución de un fichero en la nube. Si necesitas acceder con varios dispositivos a los datos, al mismo tiempo, para leer o escribir, el sistema no te sirve. Piensa en una línea temporal, en la que hay dos usuarios, A y B. A (lee) y modifica un dato, pero no lo guarda inmediatamente (problemas de conexion, esta con el cafe,...), ahora mientras tanto, B si que modifica y guarda el archivo. A se termina el cafe y termina de guardar los datos, evidentemente, al subir a la nube el archivo, machaca el trabajo de B.

Yo te puedo decir que llevo años trabajando con 1&1 (a nivel de hosting) y con STRATO (a nivel de servidor virtual), los precios son muy asequibles, si usas los ejemplos de neftali, en 1and1 el pack basico esta muy bien con 2-3€ mes... o el pack basico de strato, tambien a un precio bastante bueno y por lo que veo con buenas caracteristicas.

cocute 29-11-2014 11:27:35

realmente en la sencillita aplicación que pretendo no hace falta estar conectado a la base de datos al mismo tiempo en varios dispositivos,
me conformo con por ejemplo leer el fichero con los datos al abrir el programa y guardar al cerrar.
Por eso decía que la mejor opción podría ser guardar/recuperar un simple fichero en la nube.

namco04 06-04-2015 00:02:59

Hola

Yo estoy buscando lo mismo.
Tengo rad studio xe7 y dos app, una en el pc y otra en el movil.
Quiero que lean y escriban en una base de datos en internet, aunque no veo muy claro como hacerlo.

He mirado esos tutoriales, voy a intentar hacer lo de amazon aunque tengo un nivel muy bajo de este lenguaje.

Neftali [Germán.Estévez] 07-04-2015 10:48:59

Además de los ya comentados anteriormente, en esta serie de artículos tienes otra opción (dentro también se comentan algunas diferentes) utilizando en este caso MySQL.

EDITO: Veo que han puesto el link antes.
Con esta opción puedes buscar un servidor gratuito en internet que te de PHP y MySQL (que los hay), siempre y cuando tus necesidades de banda y tráfico no seanmuy grandes (o para realizar pruebas).
Si el tema es más serior, también te han dado opciones de servidores de pago que por 3 euros al mes te darán un servicio más fiable.


La franja horaria es GMT +2. Ahora son las 10:38:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi