Zitat von
eddie11:
Hallo allerseits,
wir haben einen Webshop mit Delphi Dotnet entwickelt, soweit alles ok. Nun müssen wir die Daten des Warenkorbes per OCI-Protokoll an den Server des Kunden übertragen. Das haben wir erst mal mit
Indy gelöst, funtioniert auch soweit, wenn der Kundenserver aus dem Web erreichbar ist. Ist der Kundenserver aber nur lokal auf der Kundenseite aus dem Netzwerk des Kunden erreichbar, dann geht das natürlich nicht, denn unser Webserver kann ja den (dort lokalen) Kundenserver nicht erreichen. Das müsste als irgendwie browserseitig beim Kunden geschehen, geht das denn überhaupt mit
Indy oder müssen wir das irgendwie anders lösen?
Vielen Dank im voraus für Eure Hilfe.
Je nach den sonstigen Rahmenbedingungen kann man hier auch einen kleinen Message Broker (ActiveMQ, OpenMQ oder xmlBlaster) einsetzen. Die Nachrichten werden dabei auf einer Message Queue zwischengespeichert, und können von dieser an Clients ausgeliefert werden.
Clients für Message Broker gibt es für viele Programmiersprachen, für ActiveMQ zum Beispiel auch als Open Source für Delphi.
Zwischen Kundenserver und Message Broker würde also eine Delphi Anwendung stehen, an die der Message Broker aktiv neue Nachrichten sendet. Verarbeitete Nachrichten kann der Client dann beim Message Broker als 'erledigt' kennzeichnen.
Der Message Broker garantiert, dass die Clients die Nachrichten erhalten. Die Clients müssen nicht ständig online sein, falls sie ausfallen, puffert der Broker die Nachrichten und kann sie auch in einer Datenbank persistent machen, für den Fall eines Serverausfalls - je nach Anforderungen an Ausfallsicherheit.
Die Open Source Message Broker ActiveMQ, OpenMQ und xmlBlaster sind schnell installiert und sehr performant, und für den Einsatz in Unternehmensanwendungen geeignet.
Mehr dazu steht z.B. in der Wikipedia:
http://de.wikipedia.org/wiki/Message...ted_Middleware