Patrick Tournet Messages: 17 Registered: July 2009 Location: Aix-en-Provence, FRANCE
I'm currently doing some research for an upcoming project in my company (it's a "port" of our current rich client software - a graphical business modeler - to a server based app) and I've came across Scout which looked very interesting (especially with the offline capabilities I've noticed) !
But, it seems to me that a Scout application is intended to be run on one server only (I've never seen a word about two or more servers), so I'm wondering about it's scalability... For instance, on average, how many users can a Scout app handle ? If this number is reached, is it possible to increase the capacity by adding a new server ? Is it something doable ? Is it an upcoming functionnality ? Or is it impossible ?
good news for you. Scout is a mature framework for business applications. Currently there are dozens applications productively running on Eclipse Scout. Some of these applications have more than thousand power users all over the world. Such a number of users can only be handled with server clusters.
We will investigate in a Wiki page facing the cluster ability of Eclipse Scout.
basically a scout application is no different from any other application build with swing, swt or web gui.
Seen from the outside, a scout server is a pure j2ee web application that communicates with the gui over https.
Scout services are normally stateless unless they do some performance caching.
So the only place doing persistence is the database, which is natural however.
Many of our customers are large enterprizes. The setup is different depending on the integration concept of each enterprize.
A typical setup that i often see and also recommend is the 4-security-layer topology consisting of Internet, external DMZ, internal DMZ, Data-Zone.
Data flows from outside in the following way:
[Internet] -> 2 reverse proxies
-> [external DMZ] -> 2 load balancers/forward proxies
-> [internal DMZ] -> 10 tomcat/jboss/websphere nodes -> Servlet/Scout webapp
-> Database cluster -> Database node