Patent ID: 8117334

Claim:
A system comprising: a communication interface configured to receive a plurality of different types of work requests from one or more client devices, wherein each work request comprises a request for a particular job to be completed, and wherein completion of the particular job involves completion of two or more actions by two or more backend applications; a memory device comprising a plurality of workflow modules stored therein, each workflow module configured to manage a different type of work request, and each workflow module defining the two or more actions to be completed in order to complete the particular job associated with the type of work request that the workflow module is configured to manage; and a processor communicatively coupled to the memory device and the communication interface, wherein the processor is configured to: receive a first work request from a first client device via the communication interface; determine the type of work request that the first work request represents from a plurality of different types of work requests; determine a channel flow for the first work request based on a level of risk associated with the first work request; select a first workflow module from a plurality of workflow modules stored in the memory device, the selection based on the type of work request and the channel flow determined for the first work request, wherein the first workflow module includes flow logic that defines the two or more actions involved in completing the particular job requested by the first work request; transmit a first request to a first backend application to complete at least one of the two or more actions involved in completing the particular job; determine, based on a response from the first backend application that the first backend application has completed at least one action but failed to complete all of the actions involved in completing the particular job, one or more remaining actions to complete the particular job and a second backend application that is configured to complete at least one of the one or more remaining actions; transmit request to the second backend application to complete the at least one of the one or more remaining actions; and monitor whether the first and the second backend applications complete their respective at least one of the two or more actions involved in completing the particular job.