[jdev] Help choosing the right technology

Peter Saint-Andre stpeter at stpeter.im
Tue Nov 13 13:50:45 UTC 2012

Hash: SHA1

On 11/13/12 12:52 AM, andy nes wrote:
> *@Michael* Thank you for the XEP numbers. Will have a look.
> *@Obaid* Info on Message Delivery is good enough to go ahead. So if
> a user accidentally goes offline and comes back, will the missed
> message be delivered? Is it inbuilt behavior or should implement
> any XEP?

Every XMPP server I know of does this.

> Ping sounds good enough.

You said you wanted "guaranteed delivery". This is like "security" --
it means different things to different people. You might want some
combination of XEP-0198 between client and server, and XEP-0184 end to
end from one client to another through the server. Get clear on your
requirements and consider what will really solve your problems.

> *@Kevin* We chose ejabberd as server, heard good things about it's
> scalability.

Hearing things is not necessarily a good reason to choose an
implementation. What we're encouraging you to do is complete some real
research. For instance, what do you mean by "scalability"? Do you need
millions of concurrent sessions? Etc.

> Regd. Libraries, is there any other good library for android other
> than aSmack?
> *@ALL* While I was researching, I read a lot about AMQP as a
> possible alternative for XMPP, saying that it is much more
> effective since there is no XML and rosters. Want to hear your
> opinion about AMQP in my application's context (real time tracking,
> machine-machine and machine-man commuication)

In fact rosters are not truly necessary. You can run some XMPP servers
without enabling the roster feature. However, in general rosters don't
decrease effectiveness (and effectiveness for what purpose?).

As to XML, the folks who designed AMQP thought that XML had to be
verbose so they designed a binary protocol. I have not seen direct
comparisons of AMQP vs. XMPP-with-compression. Also be aware that
there are two different and somewhat incompatible versions of AMQP:
the 0.9 branch and the 1.0 branch. If you're going to consider AMQP,
make sure you look into the community, interoperability, the ability
to use different libraries or switch your server implementation, etc.


- -- 
Peter Saint-Andre

Version: GnuPG/MacGPG2 v2.0.18 (Darwin)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/


More information about the JDev mailing list