My on going project is based on jabber server. i was expecting following features from an open source jabber server implementation –
* Authentication, Authorization and registration service must be taken from 3rd party. (here i am 3rd party)
* P2P and Group chatting
* HTTP Polling support (optionally HTTP Binding support)
* Very scalable
* Very flexible user customization
* group messaging subscription
* group moderation role
also following features –
* none blocking i/o
* optionally java based
* cluster support
so after passing some hard time, i fought with “ejabberd”, the ERLang based jabber daemon. i must say this is the best open source implementation. (i didn’t test openfire).
the author really gave a lot of effort. i had a very bad time tough, i tried to invoke external authentication system. but i found php script but i couldn’t able to make it work.
anyway, still it didn’t full fill my requirement, i want to manage user A and A and Registration from my service.
secondly i gave a try Open-im, i show the source code and stuff, my first impression was very bad, i found it was stucking with an infinite loop. later traversing inside the code i found, it was because of the SSL socket initialization related code. code was seeking certificate to initiate a SSL socket. since i didn’t put any certificate it not suppose to do it.
anyway, after working with it i found, it is not complete even code were poorly written.
later i gave a try tigase, it seems very nice and very well written server. still i need my whole control over AA and Registration.
after stucking a lot, i am now cncerntrating on open-im, i am thinking to contribute on this project. first i will implement the following features –
1. move to spring framework
2. Refactor code base
2. move authentication based on JAAS
3. Support 3rd party profile service
4. Support none blocking I/O api
5. Support HTTP Pooling based on servlet container
thats all for now beside my other stuffs from my current project.