J2EE architecture that Rich UI+ very heavy load

We are about to build an J2EE application that will be a big Giant.

Need to figure out the right technology that will Scale to take up to 10000 users load at any point of time, also
The application has to connect to 400 different databases, There will be many no of Client groups that will use separate URL to connect the application
like http://<ip>:port/Client1,

The Frontend will be a page, with Rich Ui and lot's of Chart and Graphs serving those 10000 users request simultaneously.

Considering the rich UI and needed users capability should we go for:
1. JSF + PrimeFaes +Managed beans (will it support rich UI, and do JSF front end and      Managed beans will serve the purpose)
Or shoule we go for
2. HTML, JSP, JQuery with Spring MVC
Or is there any other combination that will work for US.

Need Experts Suggestion....

Many Thank,s
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I don't think the choice of framework will limit your ability to build a working application.  

Any web application should be fine to scale to 10,000 concurrent users without difficulty as long as you can spread it across a set of machines.  If each server can handle 500 concurrent users, then you'd be looking at 20 web servers.  If you write more efficient code and can handle 2000 users/machine, now you just need 5 web servers.

If you have 400 different databases, I'd expect your issues are much more likely going to be at the data layer - where say 5 of those databases end up taking 45 seconds to respond to a query when you expect 10ms and managing the effect of that on your overall architecture could be a challenge.

Beyond that, I'd suggest making your frameworks choice for other reasons than "can we build it with this" - since I think the answer is yes in all cases.

HTML+JQuery+Spring MVC seems like a modern approach that is widely used today.  I'm sure there are plenty of good JS libraries for charting nowadays.

JSF on the other seems like something of a dying technology, so if you adopt that it'll be harder to recruit and retain developers to keep it going over time.

I would either go with HTML/JQuery+ Spring or HTML/JQuery + EJBs. But basically any combination would work, and I agree with dpearson, the choice of technology won't limit your ability to implement the site. You might as well want to try Vaadin for the web interface.

As for supporting 10.000 users, this is easily done if you divide the load among several servers (cluster).

The only real challenge I see is the 400 different databases. You will probably have a hard time querying all of them in a timely manner.
Sharon SethCommented:
Adding my two cents:
Much of your effort should be on tuning your web/app  servers to handle the load . The choice of load balancing strategy is very important . You might want to distribute load to machines based on the task type  . Heavy tasks could be directed to a more powerful server, for example.
DB server - Web server communication is also critical here.
Like everybody else , I will suggest jquery with Spring , but no-no to EJB .

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java EE

From novice to tech pro — start learning today.