Hello, I am struggling with a problem and I thought of asking your opinion.
I want to use a Jabber/XMPP server for an enterprise application but I want a much stricter integration that simply hosting an IM server on the same network with my application. I want to add presence and possibly chat and other messanging capabilities to my application so that information and conversations can be shared between the application and the XMPP server. These are some of the use cases: - a user is accessing the application via a rich internet client. - The application should send presence information to the XMPP server. - The application should send presence information from the XMPP server to the rich internet client - the application or the rich internet client offer some sort of chat capabilities (peer to peer and multichat) - Users in the chat should appear as users in the XMPP server - The application should send chat messages to the XMPP server - The application should forward messages (sent by regular XMPP clients) from the XMPP server to the rich internet clients The "standard" (and easy way) of doing this is by either embedding an XMPP client in my rich internet clients (but my application server will have no visibility of the XMPP traffic) or by using one of the available client libraries and have the application server open one XMPP connection to the XMPP server for each one of the rich internet clients. Both these solutions seems pretty heavy to me. What I would really like to do is have a single connection between the application server and the XMPP server and some state information in the application server for the connected clients. I thought that I could use the server-to-server protocol to talk between the application server and the XMPP server but there is no standard "server" library available (JSO seems to support have some support for s2s but there are no examples of how to use it). I may just bite the bullet and write my own library or dissect an XMPP server and take some code for there but first I thought I would ask on this forum if this seems to be a valuable solution (or there is some better or more "standard" way of doing this ?). Any comment is appreciated. Thanks! -- Raffaele Sena
