System and method for work task management using application-level blue-green topology with parallel infrastructure rails
Managing tasks using an application-level blue-green topology with parallel cell infrastructure rails. Each cell infrastructure rail includes a dispatcher bot and a performer bot. The dispatcher bot is configured to prepare a work task based on a received request, and the performer bot performs the work task, resulting in performed work. A discovery server includes a service registry configured to store the states of the infrastructure rails. The discovery server receives the request for the work task, and sends the request to a dispatcher bot of a specific cell infrastructure rail based on the request and the states of the cell infrastructure rails. A respective workflow cell server receives the performed work. In the case that one cell infrastructure rail experiences a problem when processing the request, the cell infrastructure rails are switched to perform the request on the other cell infrastructure rail. The method implements the system.
1 . A system, comprising:
a hardware-based processor;
a memory configured to store instructions and configured to provide the instructions to the hardware-based processor;
a first cell infrastructure rail in a predetermined topology, the first cell infrastructure rail including:
a first cell infrastructure rail server configured to operate a first performer bot;
a second cell infrastructure rail in the predetermined topology, the second cell infrastructure rail including:
a second cell infrastructure rail server configured to operate a second performer bot;
a discovery server operatively connected to the first and second cell infrastructure rails, wherein the discovery server includes a service registry configured to store a state of the first cell infrastructure rail and a state of the second cell infrastructure rail, wherein the discovery server is configured to receive a request for a work task, and is configured to send the request to the first cell infrastructure rail or to the second cell infrastructure rail based on the request and based on the states of the first and second cell infrastructure rails;
a first workflow cell server operatively connected to the first performer bot; and
a second workflow cell server operatively connected to the second performer bot,
wherein in the case that the first cell infrastructure rail receives the request, the first performer bot performs the work task to generate a first performed work and outputs the first performed work to the first workflow cell server, and
wherein in the case that the second cell infrastructure rail receives the request, the second performer bot performs the work task to generate a second performed work and outputs the second performed work to the second workflow cell server.
2 . The system of claim 1 , further comprising:
a configuration server configured to store first configuration data of the first performer bot and configured to store second configuration data of the second performer bot,
wherein the first performer bot is deployed in the first cell infrastructure rail based on the first configuration data, and
wherein the second performer bot is deployed in the second cell infrastructure rail based on the second configuration data.
3 . The system of claim 1 , wherein the discovery server, responsive to the states of the first and second cell infrastructure rails, switches the first cell infrastructure rail and the second cell infrastructure rail.
4 . The system of claim 1 , further comprising:
a user interface configured to receive input data, and
wherein the discovery server, responsive to the input data, switches the first cell infrastructure rail and the second cell infrastructure rail.
5 . The system of claim 1 , further comprising a set of modules configured to implement the instructions provided to the hardware-based processor, the set of modules including:
a queue module configured to store the work task in a queue, and
wherein the first and second performer bots perform the work task received from the queue.
6 . The system of claim 5 , wherein the first cell infrastructure rail includes:
a first dispatcher bot,
wherein the second cell infrastructure rail includes:
a second dispatcher bot,
wherein each of the first and second dispatcher bots is configured to receive the request and to generate initial data required to perform the work task associated with the request, and
wherein the set of modules further comprises:
a mediation module configured to receive the work task and the initial data and configured to queue the work task in the queue.
7 . The system of claim 6 , wherein each of the first dispatcher bot and the second dispatcher bot is configured to receive external data from an external data source.
8 . A system, comprising:
a hardware-based processor;
a memory configured to store instructions and configured to provide the instructions to the hardware-based processor;
a set of modules configured to implement the instructions provided to the hardware-based processor, the set of modules including:
a workflow platform module including:
a first workflow cell server; and
a second workflow cell server;
a first cell infrastructure rail in a predetermined topology, the first cell infrastructure rail including:
a first cell infrastructure rail server configured to operate a first performer bot;
a second cell infrastructure rail in the predetermined topology, the second cell infrastructure rail including:
a second cell infrastructure rail server configured to operate a second performer bot;
a discovery server operatively connected to the first and second cell infrastructure rails, wherein the discovery server includes a service registry configured to store a state of the first cell infrastructure rail and a state of the second cell infrastructure rail, wherein the discovery server is configured to receive a request for a work task, and is configured to send the request to the first cell infrastructure rail or to the second cell infrastructure rail based on the request and based on the states of the first and second cell infrastructure rails,
wherein the first workflow cell server is operatively connected to the first performer bot,
wherein the second workflow cell server is operatively connected to the second performer bot,
wherein in the case that the first cell infrastructure rail receives the request, the first performer bot performs the work task to generate a first performed work and outputs the first performed work to the first workflow cell server, and
wherein in the case that the second cell infrastructure rail receives the request, the second performer bot performs the work task to generate a second performed work and outputs the second performed work to the second workflow cell server.
9 . The system of claim 8 , wherein the set of modules further comprises:
a control module including:
a configuration server configured to store first configuration data of the first performer bot and configured to store second configuration data of the second performer bot,
wherein the first performer bot is deployed in the first cell infrastructure rail based on the first configuration data, and
wherein the second performer bot is deployed in the second cell infrastructure rail based on the second configuration data.
10 . The system of claim 9 , wherein the control module includes:
a user interface configured to receive input data, and
wherein the discovery server, responsive to the input data, switches the first cell infrastructure rail and the second cell infrastructure rail.
11 . The system of claim 8 , wherein the discovery server, responsive to the states of the first and second cell infrastructure rails, switches the first cell infrastructure rail and the second cell infrastructure rail.
12 . The system of claim 8 , wherein the set of modules further includes:
a queue module configured to store the work task in a queue, and
wherein the first and second performer bots are configured to perform the work task received from the queue.
13 . The system of claim 12 , wherein the first cell infrastructure rail includes:
a first dispatcher bot,
wherein the second cell infrastructure rail includes:
a second dispatcher bot,
wherein each of the first and second dispatcher bots is configured to receive the request and to generate initial data required to perform the work task associated with the request, and
wherein the set of modules further comprises:
a mediation module configured to receive the work task and the initial data and configured to queue the work task in the queue.
14 . The system of claim 13 , wherein each of the first dispatcher bot and the second dispatcher bot is configured to receive external data from an external data source.
15 . A computer-based method, comprising:
providing N cell infrastructure rails each implemented on a respective cell infrastructure server in a predetermined topology in which N is a positive integer greater than or equal to two;
receiving a request for a work task at a discovery server;
determining, using the discovery server, a first cell infrastructure rail of the N cell infrastructure rails to which is routed the request;
activating a dispatcher bot associated with the first cell infrastructure rail;
processing the request using the dispatcher bot;
queuing the work task in a queue; and
performing the work task using a performer bot associated with the first cell infrastructure rail.
16 . The computer-based method of claim 15 , wherein N equals 2.
17 . The computer-based method of claim 15 , wherein processing the request includes:
generating initial data required to perform the work task associated with the request using the dispatcher bot; and
dispatching the work task to a mediation module.
18 . The computer-based method of claim 15 , wherein determining a first cell infrastructure rail includes:
determining the case that the first cell infrastructure rail generates erroneous data;
switching the first cell infrastructure rail with a second cell infrastructure rail from among the N cell infrastructure rails; and
setting the second cell infrastructure rail as the first infrastructure rail.
19 . The computer-based method of claim 15 , wherein the switching includes:
receiving a state of the first cell infrastructure rail; and
responsive to the state, performing the switching.
20 . The computer-based method of claim 15 , wherein the switching includes:
receiving input data at a user interface; and
responsive to the input data, performing the switching.