Patent ID: 8103713
Filing Date: 2012-01-24
Classification: G06F

Abstract:
1. A method comprising: launching a web service orchestration server having two or more scenarios, wherein each scenario includes a process defining a programming abstraction of a collaborative process, the collaborative process including interactions with each of a plurality of parallel, asynchronous services defining steps of the process, the programming abstraction based on a syntax of a general purpose programming language, wherein the process includes at least one of a rule or procedure, the rule or procedure defining a first interaction with a first web-based service of the plurality of asynchronous services for performing a first step of the process, a second interaction with a second web-based service of the plurality of asynchronous services for performing a second step of the process, and a flow of the collaborative process, and wherein the second web-based service is different from the first web-based service; the web service orchestration server initiating the first interaction with the first web-based service based on the selected scenario of the two or more scenarios, wherein the process of the selected scenario requests the first web-based service to perform a first action defined by the scenario, wherein the first web-based service performs the first action to create a first response, and wherein initiating the first interaction comprises invoking a first two-way proxy on the web service orchestration server to establish a first communication link over a network with the first web-based service; the web service orchestration server initiating the second interaction with the second web-based service in parallel with the first interaction based on the selected scenario, wherein the process of the selected scenario requests the second web-based service to perform a second action defined by the selected scenario, wherein the second web-based service performs the second action to create a second response, wherein the first action is dependent upon a result of the second action and the second action is dependent upon a result of the first action, and wherein initiating the second interaction comprises invoking a second two-way proxy on the web service orchestration server to establish a second communication link over the network with the second web-based service; the invoking of the first two-way proxy or the second two-way proxy causing the web service orchestration server to suspend execution of the process of the selected scenario until the first response and the second response are received from the first web-based service and the second web-based service respectively; the web service orchestration server determining if the first web-based service completed the first action successfully; if the first web-based service did not complete the first action successfully, the web service orchestration server terminating the second interaction and cancelling any results from the second web-based service; the web service orchestration server determining if the second web-based service completed the second action successfully; if the second web-based service did not complete the second action successfully, the web service orchestration server terminating the first interaction and cancelling any results from the first web-based service; if the first web-based service completed the first action successfully and if the second web-based service completed the second action successfully, the web service orchestration server continuing execution of the process of the selected scenario after receiving the first response and the second response from the first and second web-based services.