Nachrichtendienst basteln

6 views
Skip to first unread message

Andreas Hoffmann

unread,
Nov 4, 2009, 8:50:54 AM11/4/09
to altnetde
Hallo zusammen,

ich möchte gerne mir einen kleinen Dienst bauen womit ich Nachrichten
austauschen kann. Im Grunde möchte ich das ganze generisch halten, so
das jeder Datentyp unterstütz wird.
So soll die Datenschnittstelle verwendet werden können um kurze
Nachrichten zu versenden (ein Chat Programm), es soll auch möglich
sei, gewissen Prozesse zu starten. Oder Benutzereingaben zu fordern.

Wie baue ich am besten die Infrastruktur auf?
Ich dachte mir ich verwende ein WCF mit Callback's for die Bi-
Direktionale Kommunikation.

Der Contrakt hat 3 Feldern. Empfänger, Typename und das Objekt als XML
String und ich ermittle dann selber welches Objekt dies wäre und
deseralisiere es.
Das hat natürlich den Vorteil das ich mittels eines DI Injectors mir
die einzelnen Aufgaben aus eigene DLL's reinladen kann.
Bin auch am Überlegen ob ich einen bestehende Nachrichtenstruktur
verwenden sollen, wie z.B.: den XMPP.

Wie denkt ihr über diesen Vorschlag?

Ralf Westphal

unread,
Nov 10, 2009, 7:36:16 AM11/10/09
to altnetde
hi, andreas!

ich empfehle, WCF in der schublade zu lassen. genauso wie du sockets
in der schublade lässt.

stattdessen schau dir dies an:
http://xcoappspace.codeplex.com/

und du kannst auch hier reinschauen (allerdings habe ich da noch keine
doku geschrieben; aber in den sourcen sind usage samples in einem
eigenen projekt):
http://code.google.com/p/ccrspace/

meine empfehlung ist also: fang gar nicht mit irgendwas an, das nach
RPC oder webservice aussieht. mach es gleich richtig: asynchron.

cheerio!

ralf

Andreas Hoffmann

unread,
Nov 11, 2009, 9:17:14 AM11/11/09
to altnetde
Hallo Ralf,

danke für die Antwort. Hab mir überlegt in die Richtung Service Bus zu
gehen. Mir gefällt das System was Udi Dahan mit seinem nServiceBus
geht.
Werde mir dazu auch deine Links mir ansehen.

Steve Wagner

unread,
Nov 11, 2009, 3:36:46 PM11/11/09
to altn...@googlegroups.com
Hallo Andreas, ich denke in Richtung Service Bus zu gehen ist eine gute
Idee. Als alternativen gibt es noch Masstransit und RhineServiceBus.
Letzterer gefällt mir bisher am besten da er nicht so aufgebläht ist wie
die anderen beiden. Allen ist gemein das sie nicht wirklich gut
dokumentiert sind bzw. die Dokumentation mehr aus Blog-Posts besteht.

Grundsätzlich ist die Idee XMPP zu nehmen aber auch nicht dumm. Genau
genommen bietet XMPP alles was fürs Messageing nützlich ist und die
Server die angeboten werden sind alle Stabil. Und du könntest (mit
Verschlüsselung) natürlich sogar über einen Öffentlichen Server
arbeiten. Du müsstest dann allerdings die passende Infrastruktur selbst
schreiben.

Steve

Andreas Hoffmann schrieb:

Ralf Westphal

unread,
Nov 12, 2009, 8:03:32 AM11/12/09
to altnetde
> Grundsätzlich ist die Idee XMPP zu nehmen aber auch nicht dumm. Genau
> genommen bietet XMPP alles was fürs Messageing nützlich ist und die
> Server die angeboten werden sind alle Stabil. Und du könntest (mit
> Verschlüsselung) natürlich sogar über einen Öffentlichen Server
> arbeiten. Du müsstest dann allerdings die passende Infrastruktur selbst
> schreiben.

gute idee! aber warum mit einem low level XMPP API arbeiten?
der application space bzw. der ccr space setzen eine
transportunabhängige abstraktionsschicht auf XMPP.
davon sieht man nichts mehr in der anwendung und kann jederzeit auf
was anderes umsteigen.

-ralf
Reply all
Reply to author
Forward
0 new messages