Server programmieren mit Beobachter-Muster und Eventhandler?


SixDark

Erfahrenes Mitglied
Hi @all!

Ich möchte gern einen Server programmieren. Und zwar soll dieser Anfragen von Clients nach Daten aus einer Datenbank annehmen - in einer Message-Queue speichern - und nacheinander abarbeiten - und ein Ergebnis zurückliefern.
Das Problem was ich habe ist die Abarbeitung der Message-Queue. Ich dachte mir da eine Klasse 'MessageQueue' und halt eine (oder mehrere) Klassen für den Server. Ich müßte ja jetzt rein theoretisch die Klasse MessageQueue auf Einträge hin beobachten. Da sollte ich doch eigentlich das Beobachter-Muster umsetzen, oder? Nur leider weiß ich net wie ich dies tun soll.
Ich habe mir überlegt, das ich einen Eventhandler bräuchte, der das Event 'Eintrag in Queue aufgelaufen' handelt und dann dem erver mitteilt, das er arbeiten soll. Wie setze ich aber diesen Eventhandler in VB.NET um, ich kenn mich damit noch nicht so sehr aus? Und vor allem: Sind meine Überlegungen überhaupt richtig, oder gibt es da bessere Möglichkeiten?

MfG
..::SD::..
 

Norbert Eder

Erfahrenes Mitglied
Wieso machst das über eine MessageQueue? Da muss nur der User länger als sinnvoll warten? Abfragen einfach asynchron an die Datenbank senden und fertig ..
 

SixDark

Erfahrenes Mitglied
Hmm... Wie meinst Du das mit asynchron? Bisher sende ich meine Anfragen an den DB-Server immer (in)direkt über ADO.NET. Jetzt ist es aber so, das nur einzelne Daten an die (neue) Server-Applikation gesendet werden (evtl. sogar noch verschlüsselt). Diese Daten sollen dann in ein SQL-Statement eingebaut werden welches der Server abfragt und das Ergebnis zurückliefert. Meinst Du man kann das ohne eine Message-Queue lösen? Was aber wenn viele Benutzer gleichzeitig (verschlüsselte) Anfragen stellen, die ja erst entschlüsselt werden müssen etc. Da könnte es doch vorkommen, dass sich Anfragen "stauen", oder? Und deswegen wollte ich das Ganze über eine Message-Queue lösen. Die fertigen Anfragen werden dort einsortiert (evtl. noch mit Prioritäten) und eben nacheinander ausgeführt. Ok, klar dauert das etwas länger, aber was tut man nicht alles für Sicherheit.

Außerdem wollte ich mich somit mal mit Mustern und Message-Queues beschäftigen... Nur so am Rande... ;)

MfG
..::SD::..
 

Forum-Statistiken

Themen
272.356
Beiträge
1.558.615
Mitglieder
187.830
Neuestes Mitglied
hansmeiser