US11743350B2ActiveUtilityA1

System and method for integrating external services into process workflow environments

54
Assignee: TORONTO DOMINION BANKPriority: Jan 7, 2021Filed: Apr 23, 2021Granted: Aug 29, 2023
Est. expiryJan 7, 2041(~14.5 yrs left)· nominal 20-yr term from priority
H04L 67/51G06F 16/9024H04L 67/142H04L 67/55H04L 67/562G06Q 10/06316G06Q 10/067G06F 16/25
54
PatentIndex Score
0
Cited by
35
References
20
Claims

Abstract

A system and method are provided for integrating external services into process workflow environments. The method can include subscribing to one or more topics in an external domain coupled to at least one external microservice to be notified of incoming messages, the topics in the external domain being mapped to topics in an internal domain coupled to a message broker for routing messages within the internal domain. The method can also include subscribing to the one or more topics in the internal domain to be notified of outgoing messages to the at least one external microservice and detecting an incoming message published to a first topic by a first external microservice. The method can also include sending the incoming message to the first topic of the internal domain, detecting an outgoing message from the first topic or a second topic of the internal domain, and publishing the outgoing message to the first external microservice or another external microservice via a corresponding topic in the external domain.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A device for integrating external services into process workflow environments, the device comprising:
 a processor; 
 a communications module coupled to the processor; and 
 a memory coupled to the processor, the memory storing computer executable instructions that when executed by the processor cause the processor to:
 subscribe to one or more external topics in an external domain to be notified of incoming messages from at least one external microservice coupled via the external domain, wherein a message broker coupled via an internal domain maps the one or more external topics to respective one or more internal topics in the internal domain, the message broker for routing messages within the internal domain; 
 subscribe to the one or more internal topics to be notified of outgoing messages from the internal domain, wherein each of the one or more external topics and the one or more internal topics correspond to a service task in a state of a process workflow that has been translated from a workflow graph; 
 detect an incoming message published by a first external microservice of the at least one external microservice to a first external topic of the one or more external topics corresponding to a current task of the process workflow; 
 notify subscribers to a first internal topic of the one or more internal topics corresponding to the first external topic of the incoming message; 
 obtain a data object for the current task in the process workflow based on the first external topic or the first internal topic; 
 determine one or more next tasks in the process workflow; 
 update the data object based on the one or more next tasks or the current task; 
 detect an outgoing message comprising the updated data object, the outgoing message published to a second internal topic of the one or more internal topics, the outgoing message comprising a corresponding service task to be performed by the first external microservice or another external microservice; 
 publish the outgoing message to the first external microservice or the other external microservice via an external topic of the one or more external topics corresponding to the second internal topic; and 
 having a workflow state change of the process workflow updated. 
 
 
     
     
       2. The device of  claim 1 , wherein the computer executable instructions further cause the processor to:
 save state information to a state service to persist changes to the one or more external topics while executing the process workflow. 
 
     
     
       3. The device of  claim 1 , wherein the outgoing message from the internal domain is detected by subscribing to the message broker that is configured to route messages within the internal domain. 
     
     
       4. The device of  claim 3 , wherein the message broker is stateless and wherein the computer executable instructions further cause the processor to:
 save state information to a state service to persist changes to the one or more internal topics while executing the process workflow. 
 
     
     
       5. The device of  claim 3 , wherein the message broker subscribes to the one or more internal topics in the internal domain from all non-service tasks to be notified of internal messages. 
     
     
       6. The device of  claim 1 , wherein the one or more internal topics or the one or more external topics are arranged into a plurality of subprocesses. 
     
     
       7. The device of  claim 6 , wherein the first internal topic and the second internal topic are part of separate subprocesses. 
     
     
       8. The device of  claim 1 , wherein the one or more internal topics or the one or more external topics have corresponding workflow tasks that have been translated for a process workflow environment from the workflow graph to a file and data interchange format. 
     
     
       9. The device of  claim 8 , wherein the workflow graph is translated from a business process model and notation (BPMN) format to a JavaScript object notation (JSON) file and data interchange format. 
     
     
       10. The device of  claim 1 , wherein the first external microservice publishes a data intake task. 
     
     
       11. The device of  claim 1 , wherein the first external microservice publishes a service task. 
     
     
       12. A method of integrating external services into process workflow environments, the method comprising:
 subscribing to one or more external topics in an external domain to be notified of incoming messages from at least one external microservice coupled via the external domain, wherein a message broker coupled via an internal domain maps the one or more external topics to respective one or more internal topics in the internal domain, the message broker for routing messages within the internal domain; 
 subscribing to the one or more internal topics to be notified of outgoing messages from the internal domain, wherein each of the one or more external topics and the one or more internal topics correspond to a service task in a state of a process workflow that has been translated from a workflow graph; 
 detecting an incoming message published by a first external microservice of the at least one external microservice to a first external topic of the one or more external topics corresponding to a current task of the process workflow; 
 notifying subscribers to a first internal topic of the one or more internal topics corresponding to the first external topic of the incoming message; 
 obtaining a data object for the current task in the process workflow based on the first external topic or the first internal topic; 
 determining one or more next tasks in the process workflow; 
 updating the data object based on the one or more next tasks or the current task; 
 detecting an outgoing message comprising the updated data object, the outgoing message published to a second internal topic of the one or more internal topics, the outgoing message comprising a corresponding service task to be performed by the first external microservice or another external microservice; 
 publishing the outgoing message to the first external microservice or the other external microservice via an external topic of the one or more external topics corresponding to the second internal topic; and 
 having a workflow state change of the process workflow updated. 
 
     
     
       13. The method of  claim 12 , further comprising:
 saving state information to a state service to persist changes to the one or more external topics while executing the process workflow. 
 
     
     
       14. The method of  claim 12 , wherein the outgoing message from the internal domain is detected by subscribing to the message broker that is configured to route messages within the internal domain. 
     
     
       15. The method of  claim 14 , wherein the message broker is stateless and the method further comprising:
 saving state information to a state service to persist changes to the one or more internal topics while executing the process workflow. 
 
     
     
       16. The method of  claim 14 , wherein the message broker subscribes to the one or more internal topics in the internal domain from all non-service tasks to be notified of internal messages. 
     
     
       17. The method of  claim 12 , wherein the one or more internal topics or the one or more external topics are arranged into a plurality of subprocesses. 
     
     
       18. The method of  claim 12 , wherein the one or more internal topics or the one or more external topics have corresponding workflow tasks that have been translated for a process workflow environment from the workflow graph to a file and data interchange format. 
     
     
       19. The method of  claim 18 , wherein the workflow graph is translated from a business process model and notation (BPMN) format to a JavaScript object notation (JSON) file and data interchange format. 
     
     
       20. A non-transitory computer readable medium for integrating external services into process workflow environments, the non-transitory computer readable medium comprising computer executable instructions for:
 subscribing to one or more external topics in an external domain to be notified of incoming messages from at least one external microservice coupled via the external domain, wherein a message broker coupled via an internal domain maps the one or more external topics to respective one or more internal topics in the internal domain, the message broker for routing messages within the internal domain; 
 subscribing to the one or more internal topics to be notified of outgoing messages from the internal domain, wherein each of the one or more external topics and the one or more internal topics correspond to a service task in a state of a process workflow that has been translated from a workflow graph; 
 detecting an incoming message published by a first external microservice of the at least one external microservice to a first external topic of the one or more external topics corresponding to a current task of the process workflow; 
 notifying subscribers to a first internal topic of the one or more internal topics corresponding to the first external topic of the incoming message; 
 obtaining a data object for the current task in the process workflow based on the first external topic or the first internal topic; 
 determining one or more next tasks in the process workflow; 
 updating the data object based on the one or more next tasks or the current task; 
 detecting an outgoing message comprising the updated data object, the outgoing message published to a second internal topic of the one or more internal topics, the outgoing message comprising a corresponding service task to be performed by the first external microservice or another external microservice; 
 publishing the outgoing message to the first external microservice or the other external microservice via an external topic of the one or more external topics corresponding to the second internal topic; and 
 having a workflow state change of the process workflow updated.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.