Implement a Client - Server Infrastructure in Java (Netbeans or Eclipse)
The stakeholder needs an infrastructure (cluster of servers) to provide its clients with a
computation infrastructure. Basically, the cluster is able to accept and process computational
services requested by the scientific community.
From the selected requirements, the following tactics were selected to be implemented.
1. Replicas of computation: requests must be fairly distributed among the servers;
2. Concurrency (must use ReentrantLock): each request runs on its own thread in a server;
1. Redundancy: to reallocate requests in case a server goes down;
2. Monitor: to supervise the cluster’s status (up/down servers (heartbeat), clients:
identification, requests being processed, processed requests), etc., etc.).
1. Horizontal scalability: add new servers whenever necessary.
All GUI must be driven by Usability for the EVALUATION PROCESS: usage, trace, verification,
validation, etc. You can resort to the tactics and anything else you think is necessary. The
stakeholder will use the GUI to validate your implementation.