Designing a Distributed Job Assignment Application
The job assignment application consists of two parts, a server and a client. The client will communicate with only a single server, whereas the server will communicate with any number of clients. The server application must maintain state for all clients as well as perform the following tasks:
Allow clients to choose job assignments
Allow clients to indicate a job is complete
Notify clients of new jobs in real time
Track all jobs assigned and completed by each client
The client s main purpose is data entry; therefore, a user interface is required. The main screen of the user interface should show a list of all jobs currently on the server and should contain controls that allow the user to create, assign, and update jobs. The client should meet the following additional requirements:
Allow the user to choose job assignments from available jobs
Allow the user to indicate a job is complete
Handle real-time notification of new jobs
Handle real-time notification of job assignments