Instant messaging (IM) has enjoyed phenomenal success as a person-to-person communication tool; in some instances, it has supplanted email as the preferred means of online communication. Now, developers are using this technology for application-to-person and application-to-application communication.
There are too many IM servers which work with XMPP protocol. Some of them are paid/Enterprise and some of them are OpenSource.
We are using "Openfire" as a IM server for our projects. It is free, open source and java based. Except this advantages it has too many plugins which you can use for free. Openfire is a XMPP server and it has own client application with name "Spark".

