Comunidad de diseño web y desarrollo en internet online

Aplicación de escritorio conectada a la nube

Citar            
MensajeEscrito el 08 Feb 2012 10:13 pm
Hola a todos y a todas las mentes siniestras, macabras y brillantes de Cristalab.

Me remito a ustedes porque me ha saltado una duda bien particular, algo en lo que no había pensado antes, y esta es la cuestión:

Estoy haciendo un programa para administrar una empresa, en PHP y MySQL y que corre en la nube, es decir, en el hosting de mi cliente. La empresa tiene constante movimiento, por lo que es necesario estar a toda hora subiendo información para que el programa esté 100% al aire.

Sin embargo, me asalta una duda: si el internet se llega a caer, que pasa? la empresa se detiene? Es por eso que he pensado en crear una aplicación de escritorio que esté sincronizada con el servidor web, es decir, que en caso que el internet se llegara a caer, esa aplicación de escritorio tendrá la base de datos actualizada (constantemente) del servidor, así que en el momento que el servidor se caiga el programa va a tener la base de datos actualizada, y cuando el cliente vea que el servidor está caido, entonces recurrirá a la aplicación web que modificará y en el momento que el computador tenga nuevamente internet, este enviará la información a la base de datos en la nube. Así, el programa continúa funcionando sin problemas.

La pregunta mia es: como logro hacer una aplicación de escritorio que tenga esta caracteristica? Me hablaron de SOAP, de Webservices, pero por donde exactamente debo buscar?

Les agradecería mucho me echaran una mano con esto.

Por johnwmartinez

Claber

455 de clabLevel

5 tutoriales

Genero:Masculino  

Diseño, Desarrollo, Mercadeo

chrome
Citar            
MensajeEscrito el 09 Feb 2012 01:29 pm
Pues como tú tienes el control de la estructura de la base de datos no necesitas usar SOAP o esas cosas (que lo que en realidad hacen es aislar los detalles de implementación de un sistema hacia las aplicaciones que quieren usar sus recursos). Si el hosting de tu cliente admite conexiones remotas a la base de datos MySQL, lo que podrías hacer es que tu aplicación de escritorio sicronice directamente con MySQL en el hosting.

Para lograrlo deberías implementar algún mecanismo que te indique qué tablas y qué registros están desactualizados, por ejemplo podrías agregar un campo con la fecha de la última modificación. Tu aplicación de escritorio actualizaría los registros con fecha posterior a la última modificación.

El mayor problema viene cuando ocurre una concurrencia. Es decir, cuando dos clientes offline modifican el mismo registro y luego ambos intentan actualizar la base de datos remota. Ahí vas a tener que planear alguna estrategia dependiendo de las particularidades de tu sistema.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.