I would probably say this is more of a general posting asking for advice rather than a direct solution request.
I am currently in the process of laying down the design and infrastructure for a startup with a colleague of mine, nevertheless, my experience lays in the realm of Java Swing development and JavaScript/Ajax worlds as well as some C++. With this mind, I believe there are many other out there who can help out with suggestions and thoughts regarding my design suggestion.
The development would be divided into three main components, the first is a web page for users to search through resources. This has to be both scalable and multilingual.
The second is a Swing (though open to other Java and opensource alternatives) terminal at local businesses to manager requests done through the web. The terminal would be continuously connected to our infrastructure for status updates and feedback.
Finally, the infrastructure would be a number of stand alone Java servers running in clusters based on their functionality (management, reporting, query, etc).
Currently I am thinking of using the following as solutions: For my web tier, i would be implementing it using the Google Web Toolkit (considering its strength, adoption, and potential). Web tier would be managed via a load balanced tomcat instances directly connected via ActiveMQ to internal server resources.
The servers would be simple multi threaded Java servers processing messages from the ActiveMQ messaging service. I need advice about maintaining clustering (making sure data is synchronized as well as the ability to load balance so communication between similar servers is crucial)
Finally, I am not sure how to implement this, but my initial thoughts are to connect remote terminals to the core network, through a gateway server (thought of a tomcat instance but for bidirectionality had to drop the thought) via Active MQ or simply over TCP.
I am not concerned with using Tomcat vs. JEE or spring since the bulk of the heavy lifting would in effect be done by the back end servers.
Is my design feasible? Do you have any recommendations? Major flaws? scalability issues? I would greatly appreciate all input...