I am in the process of designing a system that will need to use a
The system will consist of multiple (thin) clients += 100-200 that will need
to connect to a central server. The client applications is not
browser-based as they need to do a lot of data manipulation, draw charts,
run scenarios etc. The idea is to do most of the processing on servers
except for the GUI stuff.
Several different services will be registered with the central server to
supply different types of services (rate feeds, risk analysis, forecasting
The central server(HUB) needs to control all the services and clients. When
a request comes in from a client, the HUB needs to distribute this request
to the correct service. Multiple services could be registered for the same
type of service. This will enable multiple clients to use the same type of
service concurrently. The services could also make use of relational
databases or other types of data stores. The client applications will have
no concept of data storage and will have no direct access to the databases.
In some cases, some of the services will be needing the services of other
services, in essence also becoming clients for the other services.
The central server (system) needs to keep track of all the clients and their
requests. This is to ensure that if a machine or service fails the system
should be able to recover without affecting the clients at all. The system
needs to be up 24/7/52.
These services will also be distributed across multiple machines for load
My questions are.
Is this feasable?
Any pointers or pitfalls I might step in?
Which environments would you recommend I should look at, for doing this type