Wondering if anyone with some knowledge in the area could comment on the following architecture proposal we are currently spec'ing out.
Basically, looking at deploying over 4 x 2CPU servers the following configuration to hopefully support 5000 users sessions and about 80 actions a second across the 4 servers.
There is no database in the equation at the moment, as all the persistence data is held in a separate backend system that we will be using WSDL to talk to.
We are looking at deploying JBoss 3.2.x (what ever the latest stable is in next month) with Tomcat 5.0.X bundled in it, Struts 1.1, JBossMQ and JTreeCache
The basic message flow will be fairly standard as far as the Struts layer goes but once it needs to go to the WSDL back end we are going to queue the requests up in JMS and use message driven beans to do the WSDL communication.
This means we are making the Webapp asynchronous and it will have to poll to see when the JMS action has completed the WSDL work. The message driven bean will then place the results in the JTreeCache that the polling web page can access when the information becomes available.
The HTTP Session will be clustered as will the JTreeCache and the JMS (hopefully).
Does this sound sensible? The customer has a preference for not requiring a database (although by the sounds of it I will need one for clustered JBossMQ).