I have spent the last few weeks researching Comet and XMPP.
I am thinking of heading down the road of:
Strophe BOSH web client -> Apache? -> [connction manager maybe some point] -> Openfire
Custom web client -> Comet servlet on Glassfish/Tomcat/Jboss -> Service layer -> Openfire
My question is this.
Many of the limited resources on the web suggest putting Apache in front of Openfire to proxy /http-bind request through.
Can anybody explain to me if this would have a detrimental impact of scalability becuase as I understand it the XMPP interface to Openfire is Java Servlet based using the NIO non-blocking technique.
Obviously, Apache has a limit of number of connections and as I currently understand the way people are writing on the Internet around this subject I’m slightly confused. By using Apache do we not lose the NIO advantage? Would the persistent http connection not be with Apache instead of Openfire?
If anybody could shed some light on this in particular, then very much appreciated.
If anyone has any input as to my suggested approaches above and whether in their opinion on the knowledge gained to date I’m heading down a good route of design for an Openfire web based solution that also would be welcomed.
I like xmpp because it is the standardised approach.
I like Openfire, it is Java, I am Java. The Admin console is excellent.
While not without some limtiations, I feel BOSH would be better for me than writing a custom Comet layer to interface with Openfire.