Jeder Auftrag muss alleine verarbeitet werden, da es ja Änderungen am Auftrag sind.
Man kann es sich so wie Events vorstellen: AuftragStauts = "Angenommen" wäre dann ein Event. Wird er aber während keine Verbindung zum Server besteht auch noch "Erledigt", wäre das ein nächstes Event.
Wie das Ganze verarbeitet wird ist eigentlich egal. Das müsste ja dann das Backend machen. Ob du da alle Queue Aufträge mittels
XML oder nur einzlene senden kannst, bestimmt das Backend und nicht du im Client. Die Verarbeitung passiert ja dann auch im Backend und wie das da gemacht wird, muss dich nicht intressieren. Du musst ihm nur die Daten so anliefern wie er sie erwartet.
In deinem Fall wäre es aber schon einfacher, wenn das Backend nur einzelne Aufträge verarbeitet, da du so pro Webaufruf auch gleich die eindeutige Antwort bekommen kannst, ob die Verarbeitung geklappt hat. Diese Info wirst du vom Webserver als Antwort auf deine Webanfrage zurück bekommen. Aber auch im anderen Fall müsstest du dann halt vom Server eine
XML Datei mit allen Infos zur Verarbeitung retour bekommen. Darin würden dann die Auftragsnummer und das Resultat der Verarbietung drin stehen. Diese würdest du dann auswerten und deine lokale
DB entsprechend aktualisieren.
Mal noch eine andere Frage die mir nicht ganz klar ist: Wie bekommst du die Aufträge vom Backend? Hast du da eine
DB-Verbindung zum Backend (per
TCP) und wenn ja, wieso muss das dann per Umweg über HTTP passieren?