This is a very interesting project, hope it's not too late to discuss the architecture design.
I was a IBM consultant with Bank of China for 2 years(93-94), build their nationwide credit card system, have some understanding and appreciation about the complexity of banking applications, so my suggestion is don’t mix business logic with your presentation logic, in that sense, don’t code too much inside your JSP or servlet.
One of the concern should be using Entity Bean or not, if you have lots of Business Objects, then represent them as Entity Beans maybe not be appropriate as it just too complicated and inflexible, I still think EJB2.0 is not mature and CMP is still not efficient. Just use java object, Message Driven Bean, SessionBean are good stuff, be careful when using anything that is stateful, memory/Garbage collection will always be a headache for large Java system development, so prepare test and tuning as early as possible.
We recently finished a J2EE, B/S based prototype in China, it's a equipment management system for Provincial government and all Subsidiary cities/counties, like regular banking system, it's a dispersed management: Each node can function independently but very often they need access information system wide, there also some hierarchical control from parent node to its sub nodes. Technically it can be implemented as a single centralized system with only one server( or server cluster), or a completely self contained system that each node has its own server. Eventually we recommended them a mix approach: Divide the whole province into multiple regions; each region will have its own Server system. Note: our system topology is totally independent of business application logic, so it can be adjusted later.
We use Oracle/MySQL as DBMS, Weblogic/Jboss for AppServer, JSP( enhanced struts framework) for presentation, and we use JMS products to connect all systems together, in term of load, it has less than 3,000 users, but based on my past 6 years experience working with server side customer applications, even 3,000 concurrent users system is not a challenge to J2EE technology, but it does requires good design.
On top of the software mentioned above, we do use a set of tools/framework to improve efficiency instead of code from scratch, which is largely built by myself with help from friends, but I don’t want to say too much here as it sounds I am trying to sell you something.
I recently involved in a implementation for US Department of Labor, it’s B/S system, every Friday afternoon, there are about 17,000 users login into the system to process their timesheet.
Looking forward to hear from you to continue this interesting topic Cheers -Wanchun
Panq, You actually brings up another topic, reporting in Java, I am wonder who have experience with following software: http://www.jinfonet.com/ Jreport http://jcharts.sourceforge.net/ http://cewolf.sourceforge.net/