You are asked to design and implement a simple ‘workflow’ framework using CORBA technology. In outline, the framework should allow one to submit a 'job' that gets forwarded through a chain of servers, each of which processes the 'job' in some specific way. When the chain has been fully traversed, an appropriate notification and result is sent back to the submitter.
The submitter should initially determine the complete list of servers to be used for a given submission. References to these can be obtained from a name server. The 'job' submission itself should be completely self-contained - i.e. it should contain i) a representation of the 'job' itself, and ii) a list of the servers to be visited. There should be no intermediaries involved in the process of forwarding a job between servers: i.e. each server should pass the job directly to the next (downstream) server.
The 'job' representation could be envisaged as an XML document; but for the purposes of this exercise anything - even just a single integer - could be used. The focus is on the system architecture and the process of passing jobs around rather than on any specific application (although obviously there is a trade-off here in terms of the marks you get!).
Beyond the basic outline specification given above, you might like to consider extensions that increase the power and generality of your framework and/ or show off more advanced features of CORBA or more advanced distributed systems principles. For example, you could consider reliability (what happens if the 'next' server in the chain has crashed, or if a server crashes while a job is being executed?), on demand execution of servers (e.g. using CORBA's object activation features to automatically start a server on its first invocation), parallel execution (i.e. support jobs that can be split into multiple parts that are processed in parallel for a few steps and then rejoined before completion; or conditional branching - i.e. take different paths through the servers depending on the state of the job).
please make it as simpe as possible so that i can learn. i just want to meet the minimum requirement.
i only have 2 days.