IP Library Granted Patent US 10,944,835
Granted Patent B1
US 10,944,835 · App. 14/599,079 · Granted Mar 9, 2021

Local transparent extensibility and routing slip extensibility for business process execution language

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 10,944,835
App. No.
14/599,079
Filed
Jan 16, 2015
Granted
Mar 9, 2021
Kind
B1
Art Unit
2459
USPC
709/217
Abstract

In order to achieve location transparency and routing slip extensibility, a system and a method for orchestrating a web service using Business Process Execution Language are disclosed. The method includes: receiving a message, wherein the message comprises an address identifying an extension element; determining, from the address, a location of the extension element identified by the address; responsive to determining the location of the extension element, directing the message to an appropriate location; and storing the message in a computer readable storage medium.

Claims (62)

1. A method for orchestrating web services comprising:

performing by a computer system programmed with code stored in a memory and executing by a processor of the computer system that configures the computer system into a machine for:

receiving an input message by a processor executable service of the code, and the processor executable service orchestrates web service requests and utilizes an extension element whose address is identified in the input message, wherein the extension element implements computer executable logic that receives the input message that corresponds to a web service description language definition of the extension element;

determining, based on the address identifying the extension element included in the received input message, a location of the extension element; and

responsive to determining the location of the extension element, directing a normalized message to the location of the extension element for processing by the logic of the extension element.

2. The method of claim 1 , comprising storing the normalized message in a computer readable storage medium.

3. The method of claim 1 , wherein the address is a logical address and determining the location comprises mapping the logical address to a physical address.

4. The method of claim 1 , wherein the location is a message oriented middleware destination.

5. The method of claim 1 , wherein determining the location comprises resolving the address to an itinerary comprising a plurality of addresses.

6. The method of claim 5 , wherein:

the address is a logical address; and

the plurality of addresses is a plurality of physical addresses.

7. The method of claim 1 , comprising:

determining whether the input message requires a response; and

annotating the normalized message with an indication that a reply is required.

8. The method of claim 1 , comprising:

processing the normalized message with the extension element to generate a reply.

9. The method of claim 8 , comprising:

generating an output message including the reply; and sending the output message.

10. The method of claim 1 , wherein the extension element is an extension element for a business process execution language.

11. The method of claim 1 , comprising processing the normalized message with the extension element.

12. The method of claim 11 , wherein processing is performed at a location remote from receiving, determining and directing.

13. A method for orchestrating web services comprising:

performing by a computer system programmed with code stored in a memory and executing by a processor of the computer system that configures the computer system into a machine for:

receiving an input message by a processor executable service of the code that orchestrates web service requests and utilizes an extension element whose address is identified in the input message, wherein the extension element implements computer executable logic that receives the input message that corresponds to a web service description language definition of the extension element;

determining based on a plurality of a physical addresses included in the received input message, a location of a copy of the extension element of the plurality of copies; and

responsive to determining the location of the copy of the extension element, directing a normalized message to the determined location of the extension element for processing by the logic of the extension element.

14. The method of claim 13 , comprising storing the normalized message in a computer readable storage medium.

15. The method of claim 13 , wherein the location is a message oriented middleware destination.

16. A system for providing location extensibility for a business process execution language, the system comprising:

a processor;

a non-transitory computer readable medium, coupled to the processor, storing code executable by the processor that configures the system into a machine that comprises:

a business process execution language service for processing messages, orchestrating web service requests, and utilizing an extension element whose address is identified in at least one of the messages, wherein the extension element implements computer executable logic that receives the input message that corresponds to a web service description language definition of the extension element;

a resolver for providing a mapping from the address for the extension element to a location of the extension element; and

a container for using the resolver to process the at least one of the messages for directing the processed message to the location of the extension element for processing by the extension element, wherein the container coupled to interact with the resolver and the business process execution language service.

17. The system of claim 16 wherein the address is a logical address and the resolver maps the logical address to a physical address for the location.

18. The system of claim 16 wherein the business process execution language service comprises a script engine for processing a command definition to map a script variable to one or more web services description language parameters.

19. The system of claim 16 wherein the business process execution language service comprises a business process execution language engine for processing a normalized message including invoking the extension element.

20. The system of claim 16 wherein the container includes the extension element.

21. The system of claim 16 wherein the container is adapted to communicate with the extension element, wherein the extension element is at a remote physical location from the container.

22. A non-transitory computer readable storage medium configured to store instructions, the instructions when executed by a processor that configures a computer system that includes the processor into a machine to:

receive an input message by a processor executable service of the code, and the processor executable service orchestrates web service requests and utilizes an extension element whose address is identified in the input message, wherein the extension element implements computer executable logic that receives the input message that corresponds to a web service description language definition of the extension element;

determine, based on the address identifying the extension element included in the received input message, a location of the extension element; and

responsive to determining the location of the extension element, direct a normalized message to the location of the extension element for processing by the logic of the extension element.

23. The non-transitory computer readable storage medium of claim 22 , wherein the address is a logical address and determining the location comprises mapping the logical address to a physical address.

24. The non-transitory computer readable storage medium of claim 22 , wherein the location is a message oriented middleware destination.

25. The non-transitory computer readable storage medium of claim 22 , wherein determining the location comprises resolving the address to an itinerary comprising a plurality of addresses.

26. The non-transitory computer readable storage medium of claim 25 , wherein:

the address is a logical address; and

the plurality of addresses is a plurality of physical addresses.

27. The non-transitory computer readable storage medium of claim 22 , further comprising instructions when executed by a processor causing the processor to:

determine whether the input message requires a response; and

annotate the normalized message with an indication that a reply is required.

28. The non-transitory computer readable storage medium of claim 27 , further comprising instructions when executed by a processor causing the processor to:

process the normalized message with the extension element to generate the reply.

29. The non-transitory computer readable storage medium of claim 28 , further comprising instructions when executed by a processor causing the processor to:

generate an output message including the reply; and

send the output message.

30. The non-transitory computer readable storage medium of claim 22 , wherein the extension element is an extension element for a business process execution language.

31. The non-transitory computer readable storage medium of claim 22 , further comprising instructions when executed by a processor causing the processor to:

process the normalized message with the extension element.

32. The non-transitory computer readable storage medium of claim 22 , wherein processing is performed at a location remote from receiving, determining and directing.