Cheatah: "Komponenten"

Beitrag lesen

Hi,

Die besondere Herausforderung besteht m.E. in den asynchron zu bearbeitenden Requests der Webanwendung oder des rich clients.

ja. Das betrifft das Thema Unknown Duration Transactions, welches eben diese Asynchronität abbildet.

Bei genauerer Uberlegung geht es um die rich clients, VB6 Prograemmchen zum Beispiel. Diese koennten  von einer zweiten Komponente ueber den Eingang einer Auskunft benachrichtigt werden

In einer "echten Client-Server-Welt" (was immer das sein mag ;-) würde dann aus dem Client ein Server werden. Der vorherige Request ist abgeschlossen, der Response gesendet; nun muss von der Komponente ein neuer Response aus abgefeuert werden, was nicht geht - es ist ein Request in umgekehrter Richtung. Natürlich kannst Du die Verbindung nach dem Schnell-Response ("Nachricht erhalten, wird bearbeitet") offen halten und den Client auf weitere Ergebnisse warten lassen, was aber je nach Transaktionsdauer durchaus auch riskant sein kann. Es schränkt Dich zudem in der Wahl der Protokolle ein.

(mittels einer TCP/IP-irgendwas Loesung,

Wenn möglich, würde ich ein etabliertes Protokoll wählen, anstatt selbst eines zu erfinden.

Alternativ koennte man fordern, dass die rich clients halt immer wieder mal anfragen muessen, ob was gekommen ist.

Das geht natürlich auch, es erinnert an einen Mailclient. Dadurch gibt es gewisse Sicherheiten, z.B. werden die Nachrichten auch bei einem Ausfall des Servers "irgendwann" ankommen; aber natürlich leidet die Geschwindigkeit darunter. Zudem werden sich beide Seiten gewisse Dinge merken müssen (und sei es nur ein Identifier), was bei anderen Lösungen nicht bzw. nicht so stark gegeben ist.

Und da weiss ich nicht so recht, was ich machen soll.

Tipp: Eine Zeichnung. Auf Papier. Mal Dir auf, was für "Dinge" Du hast, wie die Kommunikation verläuft und was wo und wann Probleme ergeben kann. Nach meiner Erfahrung wird einem so oft genug plötzlich klar, in welche Richtung die Lösung gehen muss.

Ja, das mit den transactions hoert sich ganz gut an. Wie bearbeitet man also "profikorrekt" solche Anforderungslagen. Kommt man da mit Warteschlangen oder sowas?

Queuing ist dabei ein sehr wichtiges Thema, welches IMHO auf jeden Fall einbezogen werden sollte - und sei es nur als Fallback, wenn eine der Komponenten ausfällt.

MSMQ faellt mir da so ein, will ich aber nicht.

Kann ich nichts zu sagen.

WSDL ist doch die Sprache mit denen diese XML-Proxies generiert werden koennen, oder?

Es ist die Sprache, in der Web Services beschrieben werden (Web Service Description Language :-), also mit der gesagt wird, was ein spezieller Web Service "tut". Auch ein Proxy kann ein solcher sein. Wenn man sich intensiv damit beschäftigt, kommt man zwangsläufig zum Semantic Web und Ontologien, aber das führt bei Dir vermutlich deutlich zu weit. Für Dich ist vor allem wichtig, dass Deine Komponenten Web Services _sind_, und dass Du entsprechende (vorhandene) Techniken damit verbinden kannst.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes