Event-based orchestration in distributed order orchestration system
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/54
G06Q-010/08
G06Q-010/00
G06Q-010/10
G06F-017/30
G06F-009/44
출원번호
US-0945084
(2010-11-12)
등록번호
US-9658901
(2017-05-23)
발명자
/ 주소
Addala, Raju
Singh, Alok
Rijhsinghani, Sumeet
Butt, Zeeshan
출원인 / 주소
ORACLE INTERNATIONAL CORPORATION
대리인 / 주소
Miles & Stockbridge P.C.
인용정보
피인용 횟수 :
0인용 특허 :
56
초록▼
A distributed order orchestration system is provided that includes an event manager configured to generate and publish a set of events based on a process state and metadata stored in a database. A set of subscribers can consume the set of events, and each subscriber can execute a task based on the c
A distributed order orchestration system is provided that includes an event manager configured to generate and publish a set of events based on a process state and metadata stored in a database. A set of subscribers can consume the set of events, and each subscriber can execute a task based on the consumed event.
대표청구항▼
1. A non-transitory computer-readable medium having instructions stored thereon, when executed by a processor, cause the processor to orchestrate an order using an event-based orchestration framework including a capture layer, a decomposition layer, an orchestration layer, a task layer and an extern
1. A non-transitory computer-readable medium having instructions stored thereon, when executed by a processor, cause the processor to orchestrate an order using an event-based orchestration framework including a capture layer, a decomposition layer, an orchestration layer, a task layer and an external interface layer, the orchestration comprising: at the capture layer: receiving, at an order capture module, a web order from a customer computer over a network;creating a source order object from the web order;at the decomposition layer: receiving the source order object from the order capture module;creating a distributed order orchestration (DOO) order object from the source order object, the DOO order object including a plurality of attribute values;defining a process state and metadata for an orchestration process and storing the process state and metadata in a data table of a database, the process state comprising the DOO order attribute values and a state of the orchestration process that indicates which steps of the orchestration process have been executed, and the metadata comprising one or more steps of the orchestration process and an order of the one or more steps of the orchestration process;at the orchestration layer: determining, by an event manager, a step of the orchestration process to execute based on the steps of the orchestration process that have been executed as indicated by the process state and the order of the one or more steps of the orchestration process indicated by the metadata stored in the database;generating an event based on the determined step of the orchestration process to execute and the metadata, the event comprising instructions to execute a task that corresponds to the determined step of the orchestration process to execute, and an event type, the task including a plurality of subtasks;publishing the event across an event messaging system;at the task layer: retrieving, by a task layer service decoupled from the event manager, the published event from the messaging system;determining whether the task layer service subscribes to the event type of the published event;when the task layer service subscribes to the event type: executing each of the subtasks,generating at least one task message to an external system,processing at least one task result message from the external system, andupdating the process state stored in the database, after executing each subtask and after processing the task result message, including updating at least one DOO order attribute value;at the external interface layer: sending the task message to the external system over the network; andreceiving the task result message from the external system over the network. 2. The non-transitory computer-readable medium of claim 1, wherein the event manager and the task layer service are each distinct components of a distributed order orchestration system. 3. The non-transitory computer-readable medium of claim 2, wherein the event manager comprises a stateless process invoked by an orchestration system. 4. The non-transitory computer-readable medium of claim 1, wherein the DOO order object includes a header object, one or more line objects, and one or more fulfillment line objects, the header object containing a hierarchy of the order, the line object containing information of the corresponding line of the order, and the fulfillment line object corresponding to a supply action of a corresponding fulfillment system which processes the order line. 5. The non-transitory computer-readable medium of claim 1, wherein the metadata is used to define tasks within the order and to invoke services related to the tasks. 6. The non-transitory computer-readable medium of claim 5, wherein the services comprise task layer services. 7. The non-transitory computer-readable medium of claim 1, wherein said determining a step of the orchestration process to execute, generating an event and publishing the event are repeated until the process state reaches an exit status. 8. The non-transitory computer-readable medium of claim 1, wherein a mediator retrieves the event,wherein the mediator invokes the task layer service based on parameters contained within the event,wherein the task layer service executes the task based on the published event, andwherein the task layer service updates the process state stored in the database after executing the task. 9. The non-transitory computer-readable medium of claim 1, wherein the event messaging system comprises one or more message channels, where each message channel is configured to transmit an event from the event manager to the task layer service. 10. The non-transitory computer-readable medium of claim 9, wherein each message channel comprises a publish-subscribe message channel comprising one input channel and one or more output channels, wherein each output channel corresponds to a unique task layer service. 11. The non-transitory computer-readable medium of claim 1, wherein the determining the event to generate further comprises, determining whether any steps of the orchestration process remain,selecting a process step,determining whether the selected process step depends on other process steps, anddetermining whether the other process steps have completed, when it is determined that the selected process step depends on other process steps. 12. The non-transitory computer-readable medium of claim 1, wherein the orchestrating further comprises at least one of, publishing events for parallel steps of the orchestration process, splitting the orchestration process, and processing a change request to the order. 13. The non-transitory computer-readable medium of claim 1, wherein the orchestrating further comprises publishing events for conditional steps of the orchestration process. 14. The non-transitory computer-readable medium of claim 1, wherein the processor is further configured to: determine that a change request has been initiated based on the process state and the metadata stored in the database;generate a set of one or more events that correspond to one or more steps of the orchestration process, wherein each event comprises instructions to execute a task that compensates a step of the orchestration process; andpublish the set of events across the event messaging system, wherein each event is published one at a time;wherein one or more task layer services retrieve the published set of events, and execute one or more tasks that compensate the one or more steps of the orchestration process. 15. A computer-implemented method for orchestrating an order using an event-based orchestration framework including a capture layer, a decomposition layer, an orchestration layer, a task layer and an external interface layer, the computer-implemented method comprising: at the capture layer: receiving, at an order capture module, a web order from a customer computer over a network;creating a source order object from the web order;at the decomposition layer: receiving the source order object from the order capture module;creating a distributed order orchestration (DOO) order object from the source order object, the DOO order object including a plurality of attribute values;defining a process state and metadata for an orchestration process and storing the process state and metadata in a data table of a database, the process state comprising the DOO order object attribute values and a state of the orchestration process that indicates which steps of the orchestration process have been executed, and the metadata comprising one or more steps of the orchestration process and an order of the one or more steps of the orchestration process;at the orchestration layer: determining, by an event manager, a step of the orchestration process to execute based on the steps of the orchestration process that have been executed as indicated by the process state and the order of the one or more steps of the orchestration process indicated by the metadata stored in the database;generating an event based on the determined step of the orchestration process to execute and the metadata, the event comprising instructions to execute a task that corresponds to the determined step of the orchestration process to execute, and an event type, the task including a plurality of subtasks;publishing the event across an event messaging system;at the task layer: retrieving, by a task layer service decoupled from the event manager, the published event from the messaging system;determining whether the task layer service subscribes to the event type of the published event;when the task layer service subscribes to the event type: executing each of the subtasks,generating at least one task message to an external system,processing at least one task result message from the external system, andupdating the process state stored in the database after executing each subtask and after processing the task result message, including updating at least one DOO order attribute value;at the external interface layer: sending the task message to the external system over the network; andreceiving the task result message from the external system over the network. 16. The computer-implemented method of claim 15, wherein the event manager and the task layer service are each distinct components of a distributed order orchestration system. 17. The computer-implemented method of claim 16, wherein the event manager comprises a stateless process invoked by an orchestration system. 18. An orchestration system, comprising: a processor;an orchestration module configured to initiate an event manager to orchestrate an order using an event-based orchestration framework including a capture layer, a decomposition layer, an orchestration layer, a task layer and an external interface layer; anda database configured to store a process state and metadata;wherein the processor is configured to:at the capture layer: receive, at an order capture module, a web order from a customer computer over a network;create a source order object from the web order;at the decomposition layer: receive the source order object from the order capture module;create a distributed order orchestration (DOO) order object from the source order object, the DOO order object including a plurality of attribute values;define a process state and metadata for the orchestration process and store the process state and metadata in a data table of a database, the process state comprising a state of the orchestration process that indicates which steps of the orchestration process have been executed, and the metadata comprising one or more steps of the orchestration process and an order of the one or more steps of the orchestration process;at the orchestration layer: determine, by an event manager, a step of the orchestration process to execute based on the steps of the orchestration process that have been executed as indicated by the process state and the order of the one or more steps of the orchestration process indicated by the metadata stored in the database;generate an event based on the determined step of the orchestration process to execute and the metadata, the event comprising instructions to execute a task that corresponds to the determined step of the orchestration process to execute, and an event type, the task including a plurality of subtasks; andpublish the event across an event messaging system;at the task layer: retrieve, by a task layer service decoupled from the event manager, the published event from the messaging system,determine whether the task layer service subscribes to the event type of the published event,when the task layer service subscribes to the event type: execute each of the plurality of subtasks,generate at least one task message to an external system,process at least one task result message from the external system, andupdate the process state stored in the database after executing each subtask and after processing the task result message, including updating at least one DOO order attribute value;at the external interface layer: send the task message to the external system over the network; andreceive the task result message from the external system over the network. 19. The orchestration system of claim 18, wherein the event manager and the task layer service are each distinct components of a distributed order orchestration system. 20. The orchestration system of claim 19, wherein the event manager comprises a stateless process invoked by the orchestration system.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (56)
Keshavarz-Nia, Navid; Dickerson, Charles, Apparatus and method for dynamic web service discovery.
Hurley, William D.; Habermehl, Kyle D., Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse.
Gardenswartz Will H. ; Banker David W. ; Goidel Melissa B., Communicating with a computer based on an updated purchase behavior classification of a particular consumer.
Notani, Ranjit N.; Parasnis, Abhay V.; Whipple, Mark B., Communication across one or more enterprise boundaries regarding the occurrence of a workflow event.
Papierniak, Karen A.; Thaisz, James E.; Chiang, Luo-Jen; Woodford, Susan L.; Betz, Eugene M., Computer architecture and method for supporting and analyzing electronic commerce over the world wide web for commerce service providers and/or internet service providers.
Hicks Glen LeRoy (Endwell NY) Howe ; Jr. Leland Delmar (Owego NY) Zurla ; Jr. Frank Anthony (Binghamton NY), Instruction retry mechanism for a data processing system.
Anthony T. Sziklai ; Ashish K. Verma ; Judith E. Popowski ; Richard Frankland ; Christopher M. Mitchell ; Joseph D. Ferguson ; Douglas H. Sturgeon, Integrated change management unit.
Philip L. Bohannon ; Rajeev Rastogi ; Srinivasan Seshadri ; Abraham Silberschatz ; Sundararajarao Sudarshan IN, Method and apparatus for detecting and recovering from data corruption of a database via read prechecking and deferred maintenance of codewords.
Somasundaram,Mahadev; Jayasenan,Siva S.; Sivakumar,Senthil, Method and apparatus for handling embedded address in data sent through multiple network address translation (NAT) devices.
Deaton David W. (Abilene) Gabriel Rodney G. (Abilene TX), Method and system for building a database and performing marketing based upon prior shopping history.
Chen, Wallace W Y; Cialini, Enzo; Godwin, David Richard; Loreto, Anthony Di; Mathew, Ciby; Pomeroy, Ronald James, Method to generate semantically valid queries in the XQuery language.
Arnold Vincent Davis ; Berg Alf Christian,NOX ; Bohrer Kathryn Ann ; Brane Thomas Karl Athos,SEX ; Dahl Tore Magnus,SEX ; Michaelson Tor,NOX ; Nilsson Anders Magnus,NOX ; Odegaard Helge,NOX ; Pernbec, Object oriented technology framework for order processing.
Fuchs Wesley K. (Mahomet IL) Huang Yennun (Bridgewater NJ) Kintala Chandra M. (Warren NJ) Wang Yi-Min (Berkeley Heights NJ), Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process m.
Alger, James; Gvalog, Frank J.; Wright, Lora; Arora, Rajesh; Rajasekhar, Rejesh N; Varma, Shailendra, System and method for change management process automation.
Jain, Manisha; Oralevich, Michael Shamai; Sacheti, Sandeep K.; Thomas, Deep; McGimpsey, Donald Robert, System and method for managing simulation models.
Dillman,Frederick J.; Ferrara,Edward S.; Malhotra,Sumeet, System and method for using blueprints to provide a traceable software solution for an enterprise.
Zimniewicz, Jeff A.; Helgeson, Ryan; Marino, Phillip J.; Johnson, Crista E., System and method of multiple-stage installation of a suite of applications.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.