Ich habe drei eingehende Projekte, die ein gemeinsames Problem haben:
Sie benötigen die Logik auf einem Websystem und eine lokale Anwendung (z. B. eine Verkaufsstelle), die über einen RESTful-Webservice mit einem solchen System kommuniziert.
Meine Lösung
Die Lösung, die ich gefunden habe, besteht darin, die Nachrichtenwarteschlange der Desktopanwendung zu implementieren , um Vorgänge zu speichern, während der Dienst offline ist, genauer gesagt, die asynchrone Nachrichtenwarteschlange . Dies ist jedoch der einfache Teil (falls dies die beste Lösung ist). Ich beschäftige mich auch mit Datensynchronisation und Konfliktlösung.
Das Hauptsystem muss webbasiert sein, da für die Berichte und die Überwachung durch die Beteiligten eine Web-App erforderlich ist und die Webservices Anfragen für mehrere Einrichtungen bearbeiten würden.
Die Desktop-Clients (vorzugsweise Thin) werden mit Java (genauer Netbeans) und das Web-System mit Symfony2 implementiert. Zwei der Projekte erfordern eine Hardwareintegration für den Client, sodass die Desktop-Anwendung mit Web-Technologie (z. B. Appcelerator Titanium) zu einem großen Problem werden kann.
Meine Frage
Was ist eine bessere skalierbare Lösung, die maximale Effizienz bei minimalem Aufwand bedeutet (und möglichst keine zusätzlichen Kosten wie den Kauf eines Backup-Servers für den lokalen Betrieb)?
Wer hat sich sonst noch damit beschäftigt? Wie haben Sie Ihr Problem gelöst? Welche Lektionen kannst du teilen?
Wie sind Sie mit der Synchronisation umgegangen?
Bearbeiten: Ein fehlender Teil wurde zu meiner Frage in Punkt 3 hinzugefügt