J'ai trois projets entrants qui partagent un problème commun:
ils doivent avoir la logique sur un système Web et ils ont besoin d'une application locale (par exemple point de vente) qui communique avec un tel système via un service Web RESTful.
Ma solution
La solution que j'ai réussi à trouver consiste à implémenter dans la file d' attente de messages de l' application de bureau pour stocker les opérations alors que le service est hors ligne, plus précisément, la file d'attente de messages asynchrone . Cependant, c'est la partie facile (si telle est la meilleure solution). Je m'intéresse également à la synchronisation des données et à la résolution des conflits.
Le système principal doit être basé sur le Web, car une application Web est requise pour les rapports et le suivi par les parties prenantes, et les services Web traiteraient les demandes de plusieurs établissements.
Les clients de bureau (de préférence légers) seront implémentés avec Java (plus spécifiquement Netbeans) et le système web avec Symfony2. Deux des projets nécessitent une intégration matérielle pour le client, donc rendre l'application de bureau avec la technologie Web (par exemple Appcelerator Titanium) pourrait être une douleur majeure.
Ma question
Quelle est une meilleure solution qui évolue, ce qui signifie une efficacité maximale avec un minimum d'effort (et de préférence sans frais supplémentaires, comme l'achat d'un serveur de sauvegarde pour un fonctionnement local)?
Qui d'autre s'en est occupé auparavant? Comment avez-vous résolu votre problème? Quelles leçons pouvez-vous partager?
Comment avez-vous géré la synchronisation?
Edit: Ajout d'une partie manquante à ma question au point # 3