2009-07-09 7 views

Antwort

2

Das ist eine schwierige Frage zu beantworten, weil ich bezweifle, es gibt viele Entwickler beteiligt bei der Entwicklung über mehrere XMPP-Projekte und Sprachen.

Ich kann ein paar persönliche Wahrnehmungen werfen, aber ... ich könnte verrückt sein!

Was Sie wirklich suchen, ist libraries würde für die Komponentenentwicklung empfohlen werden. Alle Server unterstützen das Komponentenprotokoll. Sie benötigen also nur eine Socket-Verbindung zum Server und einige Hilfsroutinen, um die wiederholten Vorgänge wie das Parsen von Nachrichten zu vereinfachen.

Wo der Server wichtig ist, ist, wenn Sie engere Integration benötigen.

Wenn Sie beispielsweise möchten, dass Ihre Komponente genauso skaliert wird wie Ejabberd, dann sollten Sie wahrscheinlich exmpp verwenden.

Wenn Sie Ihre Komponente neben Openfire in nur Java-Unternehmen bereitstellen müssen, dann sollten Sie wahrscheinlich smack verwenden.

Wenn Sie mit Python vertraut sind und schnell prototypieren möchten, verwenden Sie Wokkel.

Ich denke nicht, Dokumentation wird für jede der Bibliotheken gut sein (habe sie nicht alle angeschaut!), Aber das sollte keine große Last sein. Alles, was Sie wirklich brauchen, ist ein good book auf, wie das XMPP-Protokoll funktioniert und dann einige Beispielcode aus der Bibliothek und es ist ziemlich einfach, von dort weiterzugehen.

+0

Ok, nach ein wenig Forschung, ich verstehe, dass die Sprache der Komponente nicht die gleiche Sprache des Servers sein muss, da sie über TCP interagieren (nicht irgendeine Art von freigegebenen lib). Dennoch gibt es einige Frameworks, die bei der Entwicklung dieser Komponenten helfen. Zum Beispiel haben Sie vorgeschlagen, smack, aber dieser Thread (http://www.igniterealtime.com).org/community/thread/9027) hat mich mit einigen Zweifeln gelassen. – alves

1

Für einen einfach zu bedienenden Testserver mag ich openfire. Gute Anweisungen, einfach zu haken Komponenten und ein gutes Web-Interface für die Verwaltung. Debugging ist eher ein "Tail-f" in den Logfiles, etwas java-ish.

Ich habe professionell verwendet, aber das ist wirklich für den kommerziellen Einsatz. Es funktioniert gut, aber wenn das nicht Ihre Zielbereitstellung ist, ist es die Mühe nicht wert. Ich bin mir nicht sicher, ob Sie es separat kaufen können.

Ich versuchte mit ejabberd und ich gab schnell auf. Ich fand die Dokumentation für Setup und Administration schrecklich. Die Konfigurationsdateien sind nicht selbstbeschreibend und es gibt keinen guten Weg auf der Ejabberd-Seite. Vielleicht kann es sogar morgens meine Eier zum Frühstück braten, aber ich konnte nicht mit der Zeit, die ich ihm zugeteilt hatte, vorbeikommen.

1

Für Openfire gibt es etwas namens Whack, eine Java-Bibliothek zum Erstellen von Serverkomponenten (XEP-0114).

Da die Kommunikation über Sockets ist, nehme ich an, dass der gleiche Code für jeden gut entworfenen XMPP-Server (wie ejabberd) funktionieren sollte. Allerdings habe ich es nur mit Openfire getestet und es funktioniert ganz gut.

Verwandte Themen