IP Library › Granted Patent US 8,402,064
Granted Patent B2
US 8,402,064 · App. 12/697,756 · Granted Mar 19, 2013

Orchestration of business processes using templates

Inventors: Raju Addala (Fremont, CA); Alok Singh (Fremont, CA); Zeeshan Butt (Foster City, CA); Jhansi Munukoti (Hyderabad, IN); Himanshu Agrawal (Delhi, IN); Srinivas Pagadala (Foster City, CA)
Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,402,064
App. No.
12/697,756
Granted
Mar 19, 2013
Kind
B2
Abstract

A distributed order orchestration system for orchestrating a business process of an order fulfillment system receives from an interface a definition of the business process and generates metadata from the definition. The system then generates an abstract syntax tree from the metadata. The tree includes a plurality of nodes and one or more of the nodes correspond to a predefined template. The system then generates executable orchestration code based on the abstract syntax tree and the predefined template.

Claims (39)

1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, causes the processor to orchestrate a business process, the orchestrating the business process comprising:

receiving from an interface a definition of the business process;

generating metadata from the definition;

generating an abstract syntax tree from the metadata, wherein the tree includes a plurality of nodes, wherein one or more of the nodes correspond to a predefined template comprising an orchestration code construct associated with a defined business process pattern, wherein the orchestration code construct comprises orchestration code that invokes one or more services;

generating executable orchestration code based on the abstract syntax tree and the predefined template; and

determining an orchestration sequence for an executable process of invoking one or more services based on the metadata;

wherein the predefined template comprises one of a composite template, a parallel template, a conditional template, a split template or a change management template.

2. The non-transitory computer readable medium of claim 1 , wherein the executable orchestration code comprises business process execution language (BPEL) process code.

3. The non-transitory computer readable medium of claim 2 , wherein the BPEL code comprises an Extensible Markup Language (XML) document.

4. The non-transitory computer readable medium of claim 1 , wherein the definition of the business process comprises a plurality of process steps.

5. The non-transitory computer readable medium of claim 1 , further comprising:

dynamically invoking the one or more services in the executable process based on the determined orchestration sequence, wherein the invoking of a service facilitates the performance of the service.

6. The non-transitory computer readable medium of claim 1 , wherein the business process is an order fulfillment business process.

7. The non-transitory computer readable medium of claim 1 , wherein the composite template comprises a sequence of invocations of Task Layer Services.

8. The non-transitory computer readable medium of claim 1 , wherein the parallel template comprises an invocation of a sequence of steps performed in parallel.

9. The non-transitory computer readable medium of claim 1 , wherein the conditional template comprises an invocation of a sequence of steps performed conditionally.

10. A computer implemented method for orchestrating a business process of an order fulfillment system, the method comprising:

receiving from an interface a definition of the business process;

generating metadata from the definition;

generating an abstract syntax tree from the metadata, wherein the tree includes a plurality of nodes, wherein one or more of the nodes correspond to a predefined template comprising an orchestration code construct associated with a defined business process pattern, wherein the orchestration code construct comprises orchestration code that invokes one or more services;

generating executable orchestration code based on the abstract syntax tree and the predefined template; and

determining an orchestration sequence for an executable process of invoking one or more services based on the metadata;

wherein the predefined template comprises one of a composite template, a parallel template, a conditional template, a split template or a change management template.

11. The method of claim 10 , wherein the executable orchestration code comprises business process execution language (BPEL) process code.

12. The method of claim 11 , wherein the BPEL code comprises an Extensible Markup Language (XML) document.

13. The method of claim 10 , further comprising:

dynamically invoking the one or more services in the executable process based on the determined orchestration sequence, wherein the invoking of a service facilitates the performance of the service.

14. A distributed order orchestration system comprising:

a processor;

instructions stored on a computer readable medium and executed by the processor;

a user interface that receives a definition of a business process;

wherein the instructions cause the generation of metadata from the definition and the generation of an abstract syntax tree from the metadata;

wherein the tree includes a plurality of nodes, wherein one or more of the nodes correspond to a predefined template comprising an orchestration code construct associated with a defined business process pattern, wherein the orchestration code construct comprises orchestration code that invokes one or more services;

wherein the instructions generate executable orchestration code based on the abstract syntax tree and the predefined template; and

wherein the instructions determine an orchestration sequence for an executable process of invoking one or more services based on the metadata;

wherein the predefined template comprises one of a composite template, a parallel template, a conditional template, a split template or a change management template.

15. The system of claim 14 , wherein the executable orchestration code comprises business process execution language (BPEL) process code.

16. The system of claim 15 , wherein the BPEL code comprises an Extensible Markup Language (XML) document.

17. The system of claim 14 , wherein the instructions dynamically invoke the one or more services in the executable process based on the determined orchestration sequence, wherein the invoking of a service facilitates the performance of the service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2010
From: ADDALA, RAJU; SINGH, ALOK; BUTT, ZEESHAN; MUNUKOTI, JHANSI; AGRAWAL, HIMANSHU; PAGADALA, SRINIVAS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 023879/0573 →
Continuity (1)
Related Publication 20110191383A1 · Aug 4, 2011