Patent ID: 7912895

Claim:
A method comprising: launching a process on a web service orchestration server, the process defined by a programming abstraction based on a syntax of a general purpose programming language, the process including interactions with each of a plurality of parallel, asynchronous services, each of the asynchronous services defining steps of the process, and wherein the process includes at least one of a rule or procedure; initiating by the web service orchestration server a first interaction between the web service orchestration server and a first web-based service of the plurality of parallel, asynchronous services, wherein the rule or procedure of the process defines the first interaction with the first web-based service and the first web-based service performs a first step of the process; associating by the web service orchestration server the first interaction with the process; initiating by the web service orchestration server, in parallel with the first interaction, a second interaction between the web service orchestration server and a second web-based service of the plurality of parallel, asynchronous services, wherein the rule or procedure of the process defines the second interaction with the second web-based service and the second web-based service performs a second step of the process different from the first web-based service; associating by the web service orchestration server the second interaction with the process; wherein the first interaction comprises invoking by the process a first instruction to invoke a first two-way proxy on the web service orchestration server to establish a first communication link and handle asynchronous transactions with the first web-based service and to cause the web service orchestration server to suspend execution of the process until a response is received from the first web-based service; wherein the second interaction comprises invoking by the process a second two-way proxy on the web service orchestration server to establish a second communication link and handle asynchronous transactions with the second web-based service; terminating the process by the web service orchestration server if the second web-based service fails to generate a successful response; and terminating the process by the web service orchestration server if the first web-based service fails to generate a successful response; wherein the first communication link and the second communication link are over the Internet.