Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Client-Server Architektur oder anderes ?

  Alt 1. Nov 2009, 13:28
Zitat von hanspeter:
Firebird kann zwar einen Event schicken. Diesen Event kann ich aber nicht mit zusätzlichen Spezifikationen versehen. Die Abfrage des Events erfolgt letztendlich im Polling-Betrieb.
Hier bin ich gerade dabei die Möglichkeiten modernerer Technologien auszuloten und deshalb für jeden Ratschlag dankbar,

Peter
Für asynchrone Eventübermittlung mit Nutzdaten, die ganz ohne Polling auskommt, gibt es Message Broker (z.B. Apache ActiveMQ oder OpenMQ, beide Open Source) und Message Queues (z.B. Microsoft Message Queue MSMQ, das mittlerweile schon in jeder Windows Vista Home Ausgabe enthalten ist).
Mit den entsprechenden C#, C oder Delphi Clients kann man dann an der Stelle, an der das Event erzeugt wird, eine Nachricht an den Broker senden, mit allen erforderlichen Parametern. Der Broker hält diese Information für alle interessierten Clients bereit (publish/subscribe, wie ein "Broadcast") oder sendet sie an exakt einen "Worker"-Client (peer-to-peer, z.B. für Lastverteilung). Sender und Empfänger müssen nicht gleichzeitig am Broker angemeldet sein, und auch bei einem Neustart des Brokers gehen die Nachrichten nur verloren wenn die Persistenzfunktion nicht verwendet wird. Mehrere Broker können für erhöhte Ausfallsicherheit auch in Clustern zusammenarbeiten.

Viele Internet Anwendungen machen Gebrauch dieser asynchronen Kommunikation. Wer sich also jenseits von Datenbanken und Web Services nach Lösungen umschaut, landet schnell bei Message Oriented Middleware:

http://de.wikipedia.org/wiki/Message...ted_Middleware

Und weitere Infos z.B. hier:


ActiveMQ, skalierbare Infrastruktur durch Messaging
http://www.topfstedt.de/weblog/?p=292

Enterprise Middleware mit ActiveMQ
http://www.swissitmagazine.ch/softwa...rticles/158881

Dopplr: It's made of messages
http://www.slideshare.net/carsonifie...h-presentation


Nachtrag: wer es ganz "Web 2.0"-mäßig machen möchte, kann Amazon's Simple Queue Service (SQS) einsetzen - da liegt der Message Broker in der Amazon Server Cloud, er kann daher von überall über das Internet angesprochen werden. (Aus Delphi auch problemlos über ein SOAP Interface.)

Cheers,
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat