Seite 1 von 1

SOAP - Push-Verfahren

Verfasst: Mo Sep 05, 2011 8:30 am
von Only86
Hello World,

Ich nutze derzeit SOAP für die Umsetzung eines Webservices. Soweit Alles kein Problem, bis auf dass ich mich gerade etwas durch das Request/Response-Modell eingeschränkt fühle.

Ich möchte Folgendes erreichen:
Mein Webservice bietet das Abonnieren eines Service an bei dem der Server fortan immer dann, wenn eine bestimmtes Ereignis eintritt, eine Botschaft an den Client abschickt. Das geschieht solange bis der Client diesen Service wieder abmeldet. Das ist eine Art Push-Service. Da der Client nicht weiss, wann dieses Ereignis eintritt, muss der Server die Initiative ergreifen und dann schicken, wenn es passiert. Ein zyklisches Abfragen durch den Client ist nicht vorgesehen und nicht sonderlich effektiv.

Die Frage:
Gibt es mit SOAP die Möglichkeit ein solches Verfahren zu realisieren? Also, das Senden vom Server zum Client ohne dessen vorherige Anfrage? Ist der SOAP multicast in diesem Bereich vielleicht hilfreich. Ich habe ein paar Dokumentationen gelesen und da wurde dieser erwähnt aber nicht erklärt? Oder muss man einen Workaround anwenden?

Vielen Dank schonmal

Re: SOAP - Push-Verfahren

Verfasst: Di Sep 06, 2011 9:18 pm
von Xin
Only86 hat geschrieben:Gibt es mit SOAP die Möglichkeit ein solches Verfahren zu realisieren? Also, das Senden vom Server zum Client ohne dessen vorherige Anfrage? Ist der SOAP multicast in diesem Bereich vielleicht hilfreich. Ich habe ein paar Dokumentationen gelesen und da wurde dieser erwähnt aber nicht erklärt? Oder muss man einen Workaround anwenden?
Wenn ich recht informiert bin, ist SOAP nichts weiter als ein XML-Container, der üblicherweise über HTML abgefragt wird.

Grundsätzlich müsste für Push ein Server beim Empfänger laufen. Stelle ich mir jedenfalls so vor. :-)
Noch nicht ausprobiert.

Re: SOAP - Push-Verfahren

Verfasst: Di Sep 06, 2011 11:53 pm
von bbbl
Only86 hat geschrieben:Die Frage:
Gibt es mit SOAP die Möglichkeit ein solches Verfahren zu realisieren? Also, das Senden vom Server zum Client ohne dessen vorherige Anfrage? [...]
Stichwort: Comet

Re: SOAP - Push-Verfahren

Verfasst: Mi Sep 07, 2011 12:22 am
von Xin
Hmm... da sehe ich nur erneute Anfrage oder long-Polling, also eine Anfrage nicht zu beenden, bevor der Server was schickt.
Also nix neues, außer ein neues Buzzword. :-)

Aber ich würde gerne wissen, wie Google die Ankunft neuer Postings organisiert.

Re: SOAP - Push-Verfahren

Verfasst: Mi Sep 07, 2011 11:30 am
von Only86
Erneute Anfragen möchte ich nicht abschicken, da der Client den richtigen Zeitpunkt nicht kennt und so unnötige Anfragen versendet werden würde. Aus der soll das Versenden durch den Server bei Eintritt des Ereignisses geschehen. Long Polling beschränkt sich auf eine einzige Antwort und nicht eine variable Anzahl von Botschaften zum Client. Ausserdem müsste eine Timeoutausnahme definiert werden, da ich einen gewissen Timeout für die Antworten des Servers festlegen.

Comet scheint hauptsächlich für Webbrowser gedacht. In Zusammenhand mit SOAP habe ich auch noch keine Details gefunden. Aber ich schau noch etwas weiter zu dem Thema.

Es sieht mir jetzt aber verdächtig danach aus, dass SOAP nur über proprietäre Ergänzungen oder mit einem aufwendigen Workaroud, zum Pushen in der Lage ist. Wenn ihr nicht noch eine, am Besten bereits ausprobierte Alternative habt, denke ich, dass ich das mit SOAP vergessen kann. Oder?

Re: SOAP - Push-Verfahren

Verfasst: Mi Sep 07, 2011 1:55 pm
von Xin
Was spricht denn dagegen, wenn der Client auch einen Service anbietet, denn man per Http ansprechen kann?

Re: SOAP - Push-Verfahren

Verfasst: Mi Sep 07, 2011 3:08 pm
von Kerli
Was ist mit WebSockets? Die wurden ja jetzt mit HTML5 eingeführt und sollten für deine Anwendung doch eigentlich passen.