WO2005091186A2 - Method and apparatus for self-healthing composite web services - Google Patents

Method and apparatus for self-healthing composite web services Download PDF

Info

Publication number
WO2005091186A2
WO2005091186A2 PCT/EP2005/051089 EP2005051089W WO2005091186A2 WO 2005091186 A2 WO2005091186 A2 WO 2005091186A2 EP 2005051089 W EP2005051089 W EP 2005051089W WO 2005091186 A2 WO2005091186 A2 WO 2005091186A2
Authority
WO
WIPO (PCT)
Prior art keywords
web service
elementary
alternative
healing
web services
Prior art date
Application number
PCT/EP2005/051089
Other languages
French (fr)
Other versions
WO2005091186A8 (en
Inventor
Ying Li
Xiu Lan Yu
Ying Chen
Original Assignee
International Business Machines Corporation
Ibm United Kingdom Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation, Ibm United Kingdom Limited filed Critical International Business Machines Corporation
Priority to CA002555697A priority Critical patent/CA2555697A1/en
Priority to BRPI0508608-6A priority patent/BRPI0508608A/en
Priority to EP05716992A priority patent/EP1738308A1/en
Priority to JP2007502349A priority patent/JP4493692B2/en
Publication of WO2005091186A2 publication Critical patent/WO2005091186A2/en
Priority to IL177794A priority patent/IL177794A0/en
Publication of WO2005091186A8 publication Critical patent/WO2005091186A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • G06F15/7882Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for self reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/313Logic programming, e.g. PROLOG programming language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Definitions

  • the present invention relates to a method and apparatus for healing composite web services, and particularly relates to a method and apparatus to provide composite web services with self-healing ability, a method and apparatus for executing the composite web services having self-healing ability, and a composite web services processing method having self-healing ability.
  • a web service can be defined as the self-contained, self-describing modular application that can be published, located, and invoked across the web.
  • the web services can be composed to form new services.
  • a new web services process composed of multiple web services is referred to as a composite web services process.
  • the creation of a composite web services process from individual web services is called web services composition, that is, to combine existing services (or building blocks) to form a new service.
  • a composite web service is a composition of multiple partner web services (elementary web services) which interact according to a predefined services flow model.
  • the partner web service described above can be an elementary web service or a composite web service itself.
  • a composite web service By integrating partner's web services, a composite web service provides customers with a composite web service and satisfies customers' complex requirements.
  • a composite web service is defined by a web services process model.
  • a composite web service TravelAgent may aggregate multiple web services such as flight booking, travel insurance, accommodation booking, car rental, itinerary planning, etc. which are executed sequentially or concurrently according to the web services process model.
  • Figure 1 shows the exemplary TravelAgent service of the composite web services. Customs issue a request to the TravelAgent service, based on which the TravelAgent service invokes airline services, hotel services, and car rental services, and in order to carry out the above services, "bank services" should be invoked.
  • IBM's WSFL Web Service Flow Language
  • Microsoft's XLANG extensible language
  • IBM's WSFL Web Service Flow Language
  • Microsoft's XLANG extensible language
  • WSFL defines a specific order of activities and data exchanges for a particular process. It defines both the execution sequence and the mapping of each step in the flow to the specific operations.
  • WSFL supports the handling of exceptions but has no direct support for transactions.
  • XLANG focuses on the creation of business process and the interactions among web service providers. It includes a robust exception handling facility, with support for running long transactions through compensation.
  • BPEL4WS Business Process Execution Language for Web Services
  • the web services can then be interpreted and executed by a web services process engine, e.g., BPWS4J, which executes an instance of the web services process. During execution, the web services process can invoke a number of partners' web services.
  • Figure 2 shows the schematic diagram of BPEL4WS process.
  • the BPEL4WS process includes multiple steps, some of which invoke web services outside.
  • the customers issue a request to BPEL4WS process via WSDL (Web Service Describing Language) and acquire a reply.
  • WSDL Web Service Describing Language
  • the process has the characteristics such as exception handling and transactional characteristics differentiating roles and partners, persistence and adaptability.
  • Self-healing means that the web services process has a capability to continue to execute and meet its original service objective even when its partner web service fails.
  • self-healing means the system can discover, diagnose, and react to disruptions. The system is able to recover from a failed component by first detecting the failed component, then taking it off-line to be fixed or isolated, and finally reintroducing the fixed or replacement component into service without any apparent application disruption. The system predicts possible problems and take actions to prevent the failure from impacting on applications.
  • US patent No. 6,330,689 Bl discloses a system architecture with detection and recovery of failed out-of-process application, wherein detection is performed by recording and examining the log, and recovery is performed by restarting a crashed ap- plication.However, the solution described in US6,330,689 cannot achieve real-time recovery.
  • US patent publication No. 2002/0007468 Al discloses a method and system for achieving high availability of a network computer system.
  • the global high availability is achieved by providing each component with high availability.
  • US patent publication No. 2003/0144894 Al discloses a system and method for creating and managing permanent services provided via the web, which is directed to self-healing of individual service.
  • the solution described in US 2003/0144894A1 uses a managing agent mode to detect and rebuild the failed individual service, search for the rebuilt service in real time, and invoke the service again.
  • the patent requires that each service should follow the managing agent mode defined by it so as to achieve reliability of the service. Disclosure of Invention
  • a first embodiment of the present invention makes the composite web services process recoverable in the case of failures of its partner web services, so as to avoid the composite web service process being interrupted or aborted due to the partners' failures.
  • a further embodiment of the present invention provides a flexible and platform- independent method for a self-healing web services process. It conducts self- monitoring and self-recovery, so as to ensure that the web services can survive with low cost so that the customers of the web services can still be offered the required services even when a partner of the web services fails.
  • the present invention provides a self-healing method for processing a composite web services process, said composite web services process invoking at least one elementary web service.
  • the method comprises the steps of: providing the elementary web service with at least one alternative web service, which is independent of said elementary web service and implements the same function as that of the corresponding elementary web service; parsing the model definition of said composite web services rocess to search the steps that activate the invocation of the elementary web service; inserting healing logics after said steps that activate the invocation of the elementary web service, which are searched from the model definition of said composite web services process.
  • said healing logic detecting whether the previous invocation of the elementary web service is failed or not, and in the case of detection of an invocation failure, said healing logic invoking said alternative web service corresponding to the elementary web service which failed to be invoked.
  • the present invention further provides a self-healing apparatus for processing a composite web services process, said composite web services process invoking at least one elementary web service.
  • the apparatus comprises: an alternative web service repository for providing the elementary web service with at least one alternative web service, which is independent of said elementary web service and implements the same function as that of the corresponding elementary web service; a model parsing means for parsing the model definition of said composite web services process to identify the steps that activate the invocation of the elementary web service; a healing logic inserting means for inserting healing logics after said steps that activate the invocation of the elementary web service, which are identified from the model definition of said composite web services process.
  • said healing logic detecting whether the previous invocation of the elementary web service is failed or not, and in the case of detection of an invocation failure, said healing logic invoking said alternative web service, corresponding to the elementary web service which failed to be invoked, from the alternative web service repository.
  • the present invention further provides an apparatus for executing a composite web services process which invokes at least one elementary web service.
  • the apparatus is used along with an alternative web service repository in which the elementary web service is provided with at least one alternative web service, which is independent of said elementary web service and executes the same function as that of the corresponding elementary web service.
  • the apparatus comprises: a self-healing component for determining whether the invocation is successful after said apparatus executes the invocation of the elementary web service according to the composite web services process. In the case that an invocation failure is determined to have occurred the self-healing component will invoke an alternative web service, corresponding to the elementary web service which was not invoked successfully, from the alternative web service repository.
  • the present invention further provides a method for executing a composite web services process which invokes at least one elementary web service.
  • the method comprises: determining whether the invocation is successful after executing the invocation of the elementary web service; and in the case that an invocation failure is determined to have occurred invoking, from the alternative web service repository, an alternative web service corresponding to the elementary web service which was not invoked successfully.
  • the elementary web service is provided with at least one alternative web service, which is independent of said elementary web service and implements the same function as that of the corresponding elementary web service.
  • the present invention is more feasible than adopting a specific services platform.
  • the present invention is independent of the platform, which ensures reliability on the composite web service process level and has no special requirement to the service platform providing the web service of the partner. That is, the present invention does not require the web service of each partner to achieve high availability. In the loose-coupled web services era, it is more feasible.
  • the present invention allows the stakeholders of the composite web services to customize the healing mechanisms and those healing mechanisms can be integrated easily into the composite web service process on demand.
  • Figure 1 shows an example of composite web services
  • Figure 2 shows a schematic diagram of BPEL4WS process
  • Figure 3 schematically shows related apparatus for providing the composite web services process with self-healing ability according to the present invention
  • Figure 4 shows the flow chart of a method for providing the composite web services process with self-healing ability according to the present invention
  • Figure 5 shows the flow chart of the elementary process of the healer
  • Figure 6 shows the flow chart of the self-healing of the composite web services process
  • Figure 7A shows an example of BPEL4WS process
  • Figure 7B shows the self-healing BPEL4WS process of the example shown in the Figure 7A;
  • Figure 8 shows how the process engine invokes the partner's web services as activity implementation.
  • Figure 9 shows the self-healing process engine according to the present invention. Mode for the Invention
  • a web services process delivered from the process designer to the service provider is provided in a declarative form such as an XML document instead of traditional unreadable binary code.
  • the present invention automatically analyzes the business process, and then inserts healing logics into appropriate places within the business process logic. Those healing logics ensure the web services process continues to meet the original requirements of the users in the case of the failure of the partner web services, without impacting the original business process described in the XML document.
  • the healing logics comply with the specification of the business process, such as BPEL4WS or WSFL, complying with its grammar and semantic definition so as to implement self-containing.
  • the web services process including healing logics can be referred to as a self-healing web services process.
  • the self-healing web services process can be deployed and executed on any specification- compliant process execution platform (process engine).
  • process engine process execution platform
  • the healing logics first detect and record the failed partner web services, and introduce the healer invoking the alternative web services into the business process without any apparent disruption.
  • the partner services and their alternative services are predefined in the partner services register. After the partner services fail, the alternative services can be invoked simply by querying the register. The business process continues to meet the original requirements.
  • Figure 3 schematically shows related apparatus for providing the composite web services process with self-healin -ability according to the present invention.
  • the apparatus includes partner web services repository, healing generator, and healer generating apparatus.
  • Figure 4 shows the flow chart of a method for providing the composite web services process with self-healing ability according to the present invention.
  • step 1 is performed, then the steps 2A and 2B are performed in parallel, finally the step 3 is performed, wherein the steps 2A and 2B invoke web services "WS2A” and "WS2B" respectively.
  • the partner web services repository is a container for alternative web services, wherein the web services WS2A and WS2B to be invoked in the composite web services process are provided with multiple alternative web services WS2A_alternative_l to WS2A_alternative_n and WS2B_alternative_l to WS2B_alternative_n respectively.
  • the alternative web services provide the same functionality but are offered by the different services providers. For example, the flight booking service of China Eastern Airline is the alternative service of flight booking service of China Southern Airline. Actual providers can register with the partner services web repository of interest to offer the desired service.
  • the partner web services repository will be used when one partner web service in the composite web services process is unavailable.
  • the alternative web service in the corresponding repository will be selected and be invoked instead of the unavailable partner web services.
  • TravelAgent if the flight booking service of China Southern Airline fails, the flight booking service of China Eastern Airline will be invoked and delegated to book flight.
  • the alternative web services can be assigned different invocation levels, according to an alternative-web-service-selection- policy.
  • the selection policy can be constituted based on any ranking algorithm involving parameters such as services' availability, so that the self-healing process can invoke alternative web services according to the ranks.
  • Healing generator includes model parsing apparatus, healing logic generating apparatus, and healing logic inserting apparatus, which are used to further process the existing composite web services process model definition.
  • the model parsing apparatus parses a step in the composite web services process model definition to search the steps that activates the invocation of partner web services therein, e.g., step 2A and step 2B in Figure 3, and at step S420, it is determined whether this step in the model definition will invoke partner web services. If it is determined that a partner web services will not be invoked at step S420, the flow proceeds to step S460, which will be described below.
  • the healing logic generating apparatus * a > If it is determined that a partner web services will be ⁇ nvoked at step S420, the healing logic generating apparatus * a > , generates healing logic at step S430, and at step S440 the healing logic inserting apparatus inserts the generated healing logic following the step (2A, 2B) that activates the invocation of the partner web services as searched in the model definition of the composite web services process, such as the steps 2A-H, 2B-H in the self-healing process model in Figure 3, which are used to respectively detect whether the invocation of the partner web services in the preceding steps 2A and 2B are successful.
  • the healing logic can determine whether the invocation of the partner web services is successful according to whether the partners' reply is obtained.
  • the healer generating apparatus generates healer corresponding to the healing logic, such as WS2A-Healer and WS2B-Healer in Figure 3.
  • the healer will be described in detail below.
  • step S460 it is determined whether the web services model ends. If it is determined that it ends, the method of the present invention ends. If it is determined that it does not end, the process returns to the step S410, in which the next step in the model definition is parsed.
  • the healer will be described in detail below.
  • the healer itself is a web service, which can invoke an alternative web service of the partner web service from the partner web service repository to get the desired service in case that the partner web service is unavailable.
  • the output of step 2A is system-level exception.
  • the system-level exception means an exception occurred due to the system failure, network failure, and application fault.
  • the healing logic 2A-H will invoke the healer WS2A-Healer.
  • Figure 5 shows the flow chart of the elementary process of the healer.
  • the healer WS2A-Healer chooses an alternative web service to be invoked according to the aforementioned alternative-web-service-selection-policy, e.g. WS2A_alternative_l, and invokes the alternative web service at step S520.
  • the healer can further record when and which partner web service is unavailable as a log of the collaboration with that partner web service provider.
  • the healer can also communicate with partner web service repository and take part in evaluating the alternative web service invocation level.
  • the existing composite web services process becomes a self-healing composite web services process having self-healing capability, which is executed on the web services process engine.
  • the self-healing process of the composite web services process will be described below with reference to Figure 6.
  • the respective steps of the composite web services process are executed according to the model definition of the composite web services process.
  • the partner web service is invoked according to the request of the composite web ⁇ services process. And it is determined whether the invocation is suecessful at step S630. If it is determined that the invocation is successful, the process proceeds to the step S650. If it is determined that the invocation is failed, the healer web service is invoked at step S640.
  • step S650 it is determined whether the composite web services process ends by the step. If it does not end, the process returns to the step S610 to continue executing the composite web services process. If it ends, the self-healing process ends.
  • FIG. 7A shows an example of BPEL4WS process, wherein a customer sends a request for a loan, the request gets processed, and the customer finds out whether the loan request was approved.
  • the behavior consists of getting a message, invoking the financial institution's web service, and finally replying to the customer.
  • the ordering may be achieved using a ⁇ sequence> activity so that the activities would run one after another.
  • Figure 7B shows a self-healing BPEL4WS process of the example. It is different in that when the output result of the ⁇ invoke> is exception, the process will invoke the Healer Web Service which invokes the alternative partner service so as to ensure the reliability of the BPEL4WS process.
  • the method and apparatus described above add healing logics into the composite web services process and the web services process is then executed on the process engine, so as to ensure the reliability of the composite web services process.
  • the method according to the present invention can also be changed to be employed by the web service process executing engine. That is, the .composite web services process itself is not changed, and instead, the healing process is executed by the web services process.
  • web services process executing engine is briefly called “process engine”.
  • process engine will be described briefly. Along with the composite web services process specifications, a few tools for the specifications are offered. For example, IBM provides a process engine called BPWS4J on which composite web services processes can be executed.
  • the composite web services process engine takes in a composite web services process definition document describing a business process to be executed, WSDL documents describing the partner web services, and a WDSL document describing the interface of the resulting business process to the clients. From this input, the process engine generates a process made available as a web service with a SOAP (Service-Oriented Architecture and Programming) interface.
  • SOAP Service-Oriented Architecture and Programming
  • a WDSL file that describes the process's interface may be retrieved at run-time.
  • the engine also supports the invocation, from within the process, of web services.
  • Figure 8 shows how the process engine invokes the partner web services as activity implementation.
  • the process model is input to the process engine via service requester.
  • the process engine executes the corresponding process, communicates with the service invocation utility which sends a SOAP message to the web services provider's SOAP handler, so as to invoke the services in its services container, and returns a SOAP message to the service invocation utility.
  • FIG. 9 shows the self-healing process engine according to the present invention.
  • the composite web services process engine can handle the failure of the partner web service by inserting a healing component into the composite web services process engine. Just like the aforementioned healing logics, the healing component detects whether the past invocation failed. If so, it will invoke the alternative web service of the failed partner web service through the service invocation utility.
  • Its workflow is similar to the self-healing process disclosed above, and the only difference is that the self-healing is handled in the process engine, rather than the process itself.
  • the advantage of executing the present invention in the process engine is that the process model is not changed itself.
  • the process engine is responsible for the reliability of the running composite web services process.
  • the disadvantage is that the healing component is fixed and invisible for the stake-holder of the running process.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Agricultural Chemicals And Associated Chemicals (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Description

Description METHOD AND APPARATUS FOR SELF-HEALING COMPOSITE WEB SERVICES Technical Field
[001] The present invention relates to a method and apparatus for healing composite web services, and particularly relates to a method and apparatus to provide composite web services with self-healing ability, a method and apparatus for executing the composite web services having self-healing ability, and a composite web services processing method having self-healing ability. Background Art
[002] The growth of Internet technologies has unleashed a wave of innovations that are having a tremendous impact on the way organizations interact with their partners and customers. In particular,composite web services technology is emerging as a promising technology for the effective automation of business-to-business collaborations.
[003] A web service can be defined as the self-contained, self-describing modular application that can be published, located, and invoked across the web. The web services can be composed to form new services. Hereinafter, a new web services process composed of multiple web services is referred to as a composite web services process. The creation of a composite web services process from individual web services is called web services composition, that is, to combine existing services (or building blocks) to form a new service. A composite web service is a composition of multiple partner web services (elementary web services) which interact according to a predefined services flow model. The partner web service described above can be an elementary web service or a composite web service itself. By integrating partner's web services, a composite web service provides customers with a composite web service and satisfies customers' complex requirements. Generally,a composite web service is defined by a web services process model. For example, a composite web service TravelAgent may aggregate multiple web services such as flight booking, travel insurance, accommodation booking, car rental, itinerary planning, etc. which are executed sequentially or concurrently according to the web services process model. Figure 1 shows the exemplary TravelAgent service of the composite web services. Customs issue a request to the TravelAgent service, based on which the TravelAgent service invokes airline services, hotel services, and car rental services, and in order to carry out the above services, "bank services" should be invoked.
[004] Next, standards relating to web services process are described first. IBM's WSFL (Web Service Flow Language) and Microsoft's XLANG (extensible language) are two of the earliest languages to define standards for web service composition. WSFL defines a specific order of activities and data exchanges for a particular process. It defines both the execution sequence and the mapping of each step in the flow to the specific operations. WSFL supports the handling of exceptions but has no direct support for transactions. XLANG focuses on the creation of business process and the interactions among web service providers. It includes a robust exception handling facility, with support for running long transactions through compensation.
[005] The web services workflow specifications outlined by WFSL and XLANG have recently been replaced by a new specification from IBM, Microsoft, and BEA, i.e. BPEL4WS (Business Process Execution Language for Web Services). BPEL4WS models the behavior of web services in a business process interaction. The specification provides an XML-based grammar for describing the control logic and data exchange required to coordinate web services participating in a business flow. The web services can then be interpreted and executed by a web services process engine, e.g., BPWS4J, which executes an instance of the web services process. During execution, the web services process can invoke a number of partners' web services. Figure 2 shows the schematic diagram of BPEL4WS process. In Figure 2, the BPEL4WS process includes multiple steps, some of which invoke web services outside. The customers issue a request to BPEL4WS process via WSDL (Web Service Describing Language) and acquire a reply. The process has the characteristics such as exception handling and transactional characteristics differentiating roles and partners, persistence and adaptability.
[006] In order to attract and retain customers as well as business partners, the composite web services need to be executed in a consistent and reliable way. In particular, it is crucial for the web services process to meet the service objectives committed to the customers even in the case of the failure of the partners. Taking the TravelAgent service mentioned above as an example,let us assume that a flight ticket from China Southern Airline has been booked. According to the predefined business process,a car should be rented from the New Concept Car Rental Company, but some system errors occur with the web services of that rental company, e.g., communication failure, system shutdown. If the web services process of TravelAgent cannot recover from this failure, the TravelAgent service has to return 'sorry' to the customer for being unable to rent the car. From the viewpoint of the customer, the quality of this TravelAgent is low and unreliable. But if the TravelAgent can recover from the failure, the customer's requirements may be met ultimately. The reliable quality of the service will attract and retain the customer.
[007] Therefore, it is desired that when failures occur with the partners' web services of the composite web services, self-healing can be achieved. Self-healing means that the web services process has a capability to continue to execute and meet its original service objective even when its partner web service fails. According to one automatic computing solution proposed by IBM, self-healing means the system can discover, diagnose, and react to disruptions.The system is able to recover from a failed component by first detecting the failed component, then taking it off-line to be fixed or isolated, and finally reintroducing the fixed or replacement component into service without any apparent application disruption. The system predicts possible problems and take actions to prevent the failure from impacting on applications.
[008] However there is currently no apparent other solution to make composite web services self-healing.The possible solutions include:
[009] (1) Using a special service platform to guarantee reliability. Apparently, if the partner services are all reliable, the composite web services process could be executed with a reliable quality. At present, some special service platforms, such as IBM's Service Domain, can offer reliable elementary web services so that the service providers can provide reliable web services for collaboration. However the drawback of this solution is that it is difficult for the providers of composite web services constructed by the web services process to require all their partners to buy and adopt the special, private service platforms required to ensure the reliability of partners' web services.
[010] (2) Using a web services process engine to provide healing mechanisms to ensure the reliability aaf the composite web services.However, such healing mechanisms as maybe implemented in the engine are fixed and invisible, probably with a few configuration functions. The stakeholders of the composite web services process, such as the provider and the administrator, cannot customize or control those healing mechanisms.
[011] US patent No. 6,330,689 Bl discloses a system architecture with detection and recovery of failed out-of-process application, wherein detection is performed by recording and examining the log, and recovery is performed by restarting a crashed ap- plication.However, the solution described in US6,330,689 cannot achieve real-time recovery.
[012] US patent publication No. 2002/0007468 Al discloses a method and system for achieving high availability of a network computer system.The global high availability is achieved by providing each component with high availability. However in the composite web services, it is not practical for all the partners' web services to have high availability.
[013] US patent publication No. 2003/0144894 Al discloses a system and method for creating and managing permanent services provided via the web, which is directed to self-healing of individual service. The solution described in US 2003/0144894A1 uses a managing agent mode to detect and rebuild the failed individual service, search for the rebuilt service in real time, and invoke the service again. The patent requires that each service should follow the managing agent mode defined by it so as to achieve reliability of the service. Disclosure of Invention
[014] A first embodiment of the present invention makes the composite web services process recoverable in the case of failures of its partner web services, so as to avoid the composite web service process being interrupted or aborted due to the partners' failures.
[015] A further embodiment of the present invention provides a flexible and platform- independent method for a self-healing web services process. It conducts self- monitoring and self-recovery, so as to ensure that the web services can survive with low cost so that the customers of the web services can still be offered the required services even when a partner of the web services fails.
[016] The present invention provides a self-healing method for processing a composite web services process, said composite web services process invoking at least one elementary web service. The method comprises the steps of: providing the elementary web service with at least one alternative web service, which is independent of said elementary web service and implements the same function as that of the corresponding elementary web service; parsing the model definition of said composite web services rocess to search the steps that activate the invocation of the elementary web service; inserting healing logics after said steps that activate the invocation of the elementary web service, which are searched from the model definition of said composite web services process. And during the procedure of executing said composite web services process, said healing logic detecting whether the previous invocation of the elementary web service is failed or not, and in the case of detection of an invocation failure, said healing logic invoking said alternative web service corresponding to the elementary web service which failed to be invoked.
[017] The present invention further provides a self-healing apparatus for processing a composite web services process, said composite web services process invoking at least one elementary web service. The apparatus comprises: an alternative web service repository for providing the elementary web service with at least one alternative web service, which is independent of said elementary web service and implements the same function as that of the corresponding elementary web service; a model parsing means for parsing the model definition of said composite web services process to identify the steps that activate the invocation of the elementary web service; a healing logic inserting means for inserting healing logics after said steps that activate the invocation of the elementary web service, which are identified from the model definition of said composite web services process. And during the procedure of executing said composite web services process, said healing logic detecting whether the previous invocation of the elementary web service is failed or not, and in the case of detection of an invocation failure, said healing logic invoking said alternative web service, corresponding to the elementary web service which failed to be invoked, from the alternative web service repository.
[018] The present invention further provides an apparatus for executing a composite web services process which invokes at least one elementary web service. The apparatus is used along with an alternative web service repository in which the elementary web service is provided with at least one alternative web service, which is independent of said elementary web service and executes the same function as that of the corresponding elementary web service. The apparatus comprises: a self-healing component for determining whether the invocation is successful after said apparatus executes the invocation of the elementary web service according to the composite web services process. In the case that an invocation failure is determined to have occurred the self-healing component will invoke an alternative web service, corresponding to the elementary web service which was not invoked successfully, from the alternative web service repository.
[019] The present invention further provides a method for executing a composite web services process which invokes at least one elementary web service. The method comprises: determining whether the invocation is successful after executing the invocation of the elementary web service; and in the case that an invocation failure is determined to have occurred invoking, from the alternative web service repository, an alternative web service corresponding to the elementary web service which was not invoked successfully. In the said alternative web service repository, the elementary web service is provided with at least one alternative web service, which is independent of said elementary web service and implements the same function as that of the corresponding elementary web service.
[020] The advantages of the present invention are:
[021] (1) The present invention is more feasible than adopting a specific services platform. The present invention is independent of the platform, which ensures reliability on the composite web service process level and has no special requirement to the service platform providing the web service of the partner. That is, the present invention does not require the web service of each partner to achieve high availability. In the loose-coupled web services era, it is more feasible.
[022] (2) It can change on demand (stakeholder-oriented). The present invention allows the stakeholders of the composite web services to customize the healing mechanisms and those healing mechanisms can be integrated easily into the composite web service process on demand.
[023] (3) Low-cost. If a partner does not fail, the services process is not influenced at all. If a partner fails, the services process just executes another invocation. Although invoking another service will bring a little performance cost, it guarantees the reliability of the whole process. Consider the following scenario: a composite web services process needs to invoke 100 partner services, the first 99 invocation succeed, but the last one fails. Without the disclosed method herein, the whole process instance would fail, and the first 99 partners' work would be negated too. But with the method of the present invention, the services process continues to execute, that is, one candidate web service for the web service of the failed partner is invoked and result is returned. Thus, the first 99 partners' work is maintained and cost of the composite web service is reduced. Brief Description of the Drawings
[024] With the description of the exemplary embodiments of the present invention in conjunction with the accompanying drawings, the above and other aspects and advantages of the present invention will become more apparent, wherein:
[025] Figure 1 shows an example of composite web services;
[026] Figure 2 shows a schematic diagram of BPEL4WS process;
[027] Figure 3 schematically shows related apparatus for providing the composite web services process with self-healing ability according to the present invention;
[028] Figure 4 shows the flow chart of a method for providing the composite web services process with self-healing ability according to the present invention;
[029] Figure 5 shows the flow chart of the elementary process of the healer;
[030] Figure 6 shows the flow chart of the self-healing of the composite web services process;
[031] Figure 7A shows an example of BPEL4WS process;
[032] Figure 7B shows the self-healing BPEL4WS process of the example shown in the Figure 7A;
[033] Figure 8 shows how the process engine invokes the partner's web services as activity implementation; and
[034] Figure 9 shows the self-healing process engine according to the present invention. Mode for the Invention
[035] A web services process delivered from the process designer to the service provider is provided in a declarative form such as an XML document instead of traditional unreadable binary code. The present invention automatically analyzes the business process, and then inserts healing logics into appropriate places within the business process logic. Those healing logics ensure the web services process continues to meet the original requirements of the users in the case of the failure of the partner web services, without impacting the original business process described in the XML document. At the same time, the healing logics comply with the specification of the business process, such as BPEL4WS or WSFL, complying with its grammar and semantic definition so as to implement self-containing. The web services process including healing logics can be referred to as a self-healing web services process. The self-healing web services process can be deployed and executed on any specification- compliant process execution platform (process engine). When the self-healing web services process is performed on the process engine, if the partners' web services fail, the healing logics first detect and record the failed partner web services, and introduce the healer invoking the alternative web services into the business process without any apparent disruption. The partner services and their alternative services are predefined in the partner services register. After the partner services fail, the alternative services can be invoked simply by querying the register.The business process continues to meet the original requirements.
[036] A method and related apparatus for providing the composite web services process with self-healing ability according to the present invention will be described in detail with reference to Figures 3-5.
[037] Figure 3 schematically shows related apparatus for providing the composite web services process with self-healin -ability according to the present invention. The apparatus includes partner web services repository, healing generator, and healer generating apparatus. Figure 4 shows the flow chart of a method for providing the composite web services process with self-healing ability according to the present invention.
[038] As an example, in the model of composite web services process as shown in Figure 3, first the step 1 is performed, then the steps 2A and 2B are performed in parallel, finally the step 3 is performed, wherein the steps 2A and 2B invoke web services "WS2A" and "WS2B" respectively.
[039] The partner web services repository is a container for alternative web services, wherein the web services WS2A and WS2B to be invoked in the composite web services process are provided with multiple alternative web services WS2A_alternative_l to WS2A_alternative_n and WS2B_alternative_l to WS2B_alternative_n respectively. The alternative web services provide the same functionality but are offered by the different services providers. For example, the flight booking service of China Eastern Airline is the alternative service of flight booking service of China Southern Airline. Actual providers can register with the partner services web repository of interest to offer the desired service. The partner web services repository will be used when one partner web service in the composite web services process is unavailable. The alternative web service in the corresponding repository will be selected and be invoked instead of the unavailable partner web services. For example, in the composite web service process TravelAgent, if the flight booking service of China Southern Airline fails, the flight booking service of China Eastern Airline will be invoked and delegated to book flight.
[040] In the partner web services repository, the alternative web services can be assigned different invocation levels, according to an alternative-web-service-selection- policy. The selection policy can be constituted based on any ranking algorithm involving parameters such as services' availability, so that the self-healing process can invoke alternative web services according to the ranks.
[041] Healing generator includes model parsing apparatus, healing logic generating apparatus, and healing logic inserting apparatus, which are used to further process the existing composite web services process model definition. At step S410 of Figure 4, the model parsing apparatus parses a step in the composite web services process model definition to search the steps that activates the invocation of partner web services therein, e.g., step 2A and step 2B in Figure 3, and at step S420, it is determined whether this step in the model definition will invoke partner web services. If it is determined that a partner web services will not be invoked at step S420, the flow proceeds to step S460, which will be described below. If it is determined that a partner web services will beάnvoked at step S420, the healing logic generating apparatus *a>, generates healing logic at step S430, and at step S440 the healing logic inserting apparatus inserts the generated healing logic following the step (2A, 2B) that activates the invocation of the partner web services as searched in the model definition of the composite web services process, such as the steps 2A-H, 2B-H in the self-healing process model in Figure 3, which are used to respectively detect whether the invocation of the partner web services in the preceding steps 2A and 2B are successful. The healing logic can determine whether the invocation of the partner web services is successful according to whether the partners' reply is obtained.
[042] At step S450, the healer generating apparatus generates healer corresponding to the healing logic, such as WS2A-Healer and WS2B-Healer in Figure 3. The healer will be described in detail below.
[043] At step S460, it is determined whether the web services model ends. If it is determined that it ends, the method of the present invention ends. If it is determined that it does not end, the process returns to the step S410, in which the next step in the model definition is parsed.
[044] The healer will be described in detail below. The healer itself is a web service, which can invoke an alternative web service of the partner web service from the partner web service repository to get the desired service in case that the partner web service is unavailable. For example, if the partner web service WS2A is unavailable, the output of step 2A is system-level exception. The system-level exception means an exception occurred due to the system failure, network failure, and application fault. In this case, the healing logic 2A-H will invoke the healer WS2A-Healer. Figure 5 shows the flow chart of the elementary process of the healer. At step S510, the healer WS2A-Healer chooses an alternative web service to be invoked according to the aforementioned alternative-web-service-selection-policy, e.g. WS2A_alternative_l, and invokes the alternative web service at step S520. The healer can further record when and which partner web service is unavailable as a log of the collaboration with that partner web service provider. The healer can also communicate with partner web service repository and take part in evaluating the alternative web service invocation level.
[045] Through the above process, the existing composite web services process becomes a self-healing composite web services process having self-healing capability, which is executed on the web services process engine. The self-healing process of the composite web services process will be described below with reference to Figure 6. At step S610, the respective steps of the composite web services process are executed according to the model definition of the composite web services process. At step S620, the partner web service is invoked according to the request of the composite web ^services process. And it is determined whether the invocation is suecessful at step S630. If it is determined that the invocation is successful, the process proceeds to the step S650. If it is determined that the invocation is failed, the healer web service is invoked at step S640. An alternative web service is invoked by the healer web service. At step S650, it is determined whether the composite web services process ends by the step. If it does not end, the process returns to the step S610 to continue executing the composite web services process. If it ends, the self-healing process ends.
[046] An embodiment based on BPEL4WS according to the method disclosed in the present invention will be described below with reference to Figures 7 A and 7B. Figure 7A shows an example of BPEL4WS process, wherein a customer sends a request for a loan, the request gets processed, and the customer finds out whether the loan request was approved. In the process, the behavior consists of getting a message, invoking the financial institution's web service, and finally replying to the customer. These three actions are defined in BPEL using the <receive>, <invoke>, and <reply> activities. The relationship among such activities, which is defined by using structured activities, defines restrictions on how to run these activities. In this example, the ordering may be achieved using a <sequence> activity so that the activities would run one after another. Figure 7B shows a self-healing BPEL4WS process of the example. It is different in that when the output result of the <invoke> is exception, the process will invoke the Healer Web Service which invokes the alternative partner service so as to ensure the reliability of the BPEL4WS process.
[047] The implementation steps of this example are as follows:
[048] (1) First, parse the web service process document loanapproval.bpel to search the activity (<invoke> financial service) which invokes partner web service (financial service) and get the information of the partner web service.
[049] (2) Generate a healer web service that invoking an alternative web service of the partner web service. The information required for invocation, such as the name and address of the alternative web service, can be got from the partner web services repository and the corresponding service WSDL.
[050] (3) Insert the <switch> and <invoke> activities following the step of invoking partner web service so as to invoke the healer web service in the case of the failure of the before invoked partner web service.
[051] (4) Deploy the process, the related partner web services and healer web services.
[052] (5) Execute the self-healing composite web services process on the process engine.
[053] The method and apparatus described above add healing logics into the composite web services process and the web services process is then executed on the process engine, so as to ensure the reliability of the composite web services process. The method according to the present invention can also be changed to be employed by the web service process executing engine. That is, the .composite web services process itself is not changed, and instead, the healing process is executed by the web services process. Hereinafter, "web services process executing engine" is briefly called "process engine".
[054] First, process engine will be described briefly. Along with the composite web services process specifications, a few tools for the specifications are offered. For example, IBM provides a process engine called BPWS4J on which composite web services processes can be executed. The composite web services process engine takes in a composite web services process definition document describing a business process to be executed, WSDL documents describing the partner web services, and a WDSL document describing the interface of the resulting business process to the clients. From this input, the process engine generates a process made available as a web service with a SOAP (Service-Oriented Architecture and Programming) interface. A WDSL file that describes the process's interface may be retrieved at run-time. The engine also supports the invocation, from within the process, of web services. Figure 8 shows how the process engine invokes the partner web services as activity implementation. After being defined, the process model is input to the process engine via service requester. The process engine executes the corresponding process, communicates with the service invocation utility which sends a SOAP message to the web services provider's SOAP handler, so as to invoke the services in its services container, and returns a SOAP message to the service invocation utility.
[055] Figure 9 shows the self-healing process engine according to the present invention. The composite web services process engine can handle the failure of the partner web service by inserting a healing component into the composite web services process engine. Just like the aforementioned healing logics, the healing component detects whether the past invocation failed. If so, it will invoke the alternative web service of the failed partner web service through the service invocation utility. Its workflow is similar to the self-healing process disclosed above, and the only difference is that the self-healing is handled in the process engine, rather than the process itself. The advantage of executing the present invention in the process engine is that the process model is not changed itself. The process engine is responsible for the reliability of the running composite web services process. The disadvantage is that the healing component is fixed and invisible for the stake-holder of the running process.
[056] Although the present invention has been described and shown in detail with reference to the preferred embodiments of the present invention, those skilled in the art should understand that various modifications in forms and details may be made without departing from the spirit and scope of the present invention as defined by the appended claims.

Claims

Claims
[001] A self-healing method for processing a composite web services process, said composite web services process invoking at least one elementary web service, said method comprising the steps of: providing the elementary web service with at least one alternative web service, which is independent of said elementary web service and implements at least one function of the corresponding elementary web service; parsing a model definition of said composite web services process to identify the steps that activate the invocation of the elementary web service; inserting healing logics after said steps that activate the invocation of the elementary web service, which are identified from the model definition of said composite web services process; and during the execution of said composite web services process, said healing logic detecting whether the previous invocation of the elementary web service failed and, in the case that an invocation failure is detected, said healing logic invoking said alternative web service corresponding to the elementary web service which failed to be invoked.
[002] The method according to claim 1, further comprising a step of generating said healing logic before inserting the healing logics.
[003] The method according to claim 1, characterized in that said healing logic determines whether the invocation of the elementary web service failed according to whether or not a reply is obtained from the elementary web service.
[004] The method according to claim 1, further comprising the steps of: generating a healer which communicates with the alternative web service repository and invokes the alternative service in the alternative web service repository, wherein said healing logic invokes the alternative web service by invoking said healer.
[005] The method according to claim 4, characterized in that said healer is a web service itself.
[006] The method according to claim 4, further comprising the step that said healer records the invocation-failed elementary web service and the invocation-failed time.
[007] The method according to claim 1, characterized in that said at least one altern ative web service is divided into multiple invoking levels, based on which the healing logic invokes the alternative web services.
[008] A self-healing apparatus for processing a composite web services process,said composite web services process invoking at least one elementary web service, the apparatus comprising: an alternative web service repository for providing the elementary web service with at least one alternative web service, which is independent of said elementary web service and implements at least one function of the corresponding elementary web service; a model parsing means for parsing a model definition of said composite web services process to identify the steps that activate the invocation of the elementary web service; a healing logic inserting means for inserting healing logics after said steps that activate the invocation of the elementary web service, which are identified from the model definition of said composite web services process; during execution of said composite web services process, said healing logic detecting whether the previous invocation of the elementary web service failed and, in the case that an invocation failure is detected, said healing logic invoking said alternative web service, corresponding to the elementary web service which failed to be invoked, from the alternative web service repository.
[009] The apparatus according to claim 8, further comprising a healing logic generating means for generating said healing logic.
[010] The apparatus according to claim 8, characterized in that said healing logic determines whether the invocation of the elementary web service failed according to whether or not a reply is obtained from the elementary web service.
[011] The apparatus according to claim 8, further comprising: a healer generating means for generating a healer which communicates with the alternative web service repository and invokes the alternative service in the alternative web service repository, wherein said healing logic invokes the alternative web service by invoking said healer.
[012] The apparatus according to claim 11, characterized in that the healer generating means is configured to make the generated healer a web service itself.
[013] The apparatus according to claim 8, characterized in that the alternative web service provided in the alternative web service repository is divided into multiple invoking levels, based on which the healing logic invokes the alternative web services.
[014] An apparatus for executing a composite web services process which invokes at least one elementary web service, characterized in that, said apparatus is used along with an alternative web service repository in which the elementary web service is provided with at least one alternative web service, which is independent of said elementary web service and executes at least one function of the corresponding elementary web service, the apparatus comprising: a self- healing component for determining whether the invocation is successful after said apparatus executes the invocation of the elementary web service according to the composite web services process and, in the case that an invocation failure is determined, said self-healing component invoking an alternative web service, corresponding to the elementary web service which is not invoked successfully, from the alternative web service repository.
[015] A method of executing a composite web services process which invokes at least one elementary web service, the method comprising: determining whether the invocation is successful after executing the invocation of the elementary web service; and in the case that an invocation failure is determined, invoking from the alternative web service repository an alternative web service conesponding to the elementary web service which is not invoked successfully, wherein, in the alternative web service repository, the elementary web service is provided with at least one alternative web service, which is independent of said elementary web service and implements at least one function of the corresponding elementary web service.
[016] The method according to claim 15, characterized in that the alternative web services provided in the alternative web service repository are divided into multiple invoking levels, based on which the alternative web services are invoked.
[017] The method according to claim 15, characterized in that said method is executed automatically by the process engine which executes said composite web services process.
[018] The method according to claim 15, characterized in that said method is a part of said composite web services process.
PCT/EP2005/051089 2004-03-12 2005-03-10 Method and apparatus for self-healthing composite web services WO2005091186A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002555697A CA2555697A1 (en) 2004-03-12 2005-03-10 Method and apparatus for self-healthing composite web services
BRPI0508608-6A BRPI0508608A (en) 2004-03-12 2005-03-10 Method and Appliance Self Correction of Composite Web Services
EP05716992A EP1738308A1 (en) 2004-03-12 2005-03-10 Method and apparatus for self-healthing composite web services
JP2007502349A JP4493692B2 (en) 2004-03-12 2005-03-10 Self-healing device for handling complex web service processes
IL177794A IL177794A0 (en) 2004-03-12 2006-08-31 Method and apparatus for platform independent self-healing web services process

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2004100396429 2004-03-12
CN200410039642.9A CN1668014A (en) 2004-03-12 2004-03-12 Auto-restored composite network service method and device

Publications (2)

Publication Number Publication Date
WO2005091186A2 true WO2005091186A2 (en) 2005-09-29
WO2005091186A8 WO2005091186A8 (en) 2006-10-26

Family

ID=34961236

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/051089 WO2005091186A2 (en) 2004-03-12 2005-03-10 Method and apparatus for self-healthing composite web services

Country Status (8)

Country Link
EP (1) EP1738308A1 (en)
JP (1) JP4493692B2 (en)
KR (1) KR100951093B1 (en)
CN (1) CN1668014A (en)
BR (1) BRPI0508608A (en)
CA (1) CA2555697A1 (en)
IL (1) IL177794A0 (en)
WO (1) WO2005091186A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101600216B (en) * 2009-06-26 2013-01-02 北京邮电大学 Distributed self-healing method and system of wireless access network
CN104601696B (en) * 2015-01-13 2018-05-15 北京京东尚科信息技术有限公司 Service processing method, service calling system, device and system
US10884864B2 (en) 2018-11-29 2021-01-05 International Business Machines Corporation Autonomous self-healing stateless microservice nodes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330689B1 (en) 1998-04-23 2001-12-11 Microsoft Corporation Server architecture with detection and recovery of failed out-of-process application
JP2001155003A (en) * 1999-11-30 2001-06-08 Ntt Comware Corp Service recovery system and recording medium therefor
JP2002222176A (en) * 2001-01-25 2002-08-09 Nippon Telegr & Teleph Corp <Ntt> Device and method for automatically restoring failure of application server computer in server-based computing model
JP3781636B2 (en) * 2001-05-18 2006-05-31 Necフィールディング株式会社 Reception system and reception method
JP2003022258A (en) * 2001-07-05 2003-01-24 Mitsubishi Research Institute Inc Backup system for server
EP1461679A4 (en) 2001-11-12 2006-01-18 Worldcom Inc System and method for implementing frictionless micropayments for consumable services
JP2003281007A (en) * 2002-03-20 2003-10-03 Fujitsu Ltd Dynamic configuration controller and dynamic configuration control method
JP2004021873A (en) * 2002-06-20 2004-01-22 Hitachi Ltd Internet system monitoring device
JP2004030360A (en) * 2002-06-27 2004-01-29 Japan Telecom Co Ltd Web service providing system and web service providing support system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Also Published As

Publication number Publication date
CA2555697A1 (en) 2005-09-29
KR20070001981A (en) 2007-01-04
IL177794A0 (en) 2006-12-31
CN1668014A (en) 2005-09-14
WO2005091186A8 (en) 2006-10-26
JP4493692B2 (en) 2010-06-30
BRPI0508608A (en) 2007-12-18
KR100951093B1 (en) 2010-04-07
JP2007529067A (en) 2007-10-18
EP1738308A1 (en) 2007-01-03

Similar Documents

Publication Publication Date Title
Das et al. ORBWork: A reliable distributed CORBA-based workflow enactment system for METEOR2
Josuttis SOA in practice: the art of distributed system design
Tartanoglu et al. Dependability in the Web services architecture
Alonso et al. Enhancing the fault tolerance of workflow management systems
US20050267765A1 (en) Apparatus and method for policy-driven business process exception handling
Fredj et al. Dynamic service substitution in service-oriented architectures
Rukoz et al. Faceta*: Checkpointing for transactional composite web service execution based on petri-nets
Rodrigues et al. Reliability support for the model driven architecture
EP1738308A1 (en) Method and apparatus for self-healthing composite web services
He Recovery in web service applications
Meng et al. A model for web service coordination in long-running transactions
Fugini et al. Recovery of faulty web applications through service discovery
Moschoyiannis et al. True concurrency in long-running transactions for digital ecosystems
Lau et al. Designing fault tolerant web services using bpel
Ezenwoye et al. A Proxy-Based Approach to Enhancing the Autonomic Behavior in Composite Services.
JP2007529067A6 (en) Method and apparatus for self-healing composite web service
Maamar et al. Policies for context-driven transactional web services
Alonso et al. Processes in electronic commerce
Alhosban et al. Assessing fault occurrence likelihood for service-oriented systems
Ermagan et al. A fault tolerance approach for enterprise applications
Wirtz et al. Using UML and Object-Coordination-Nets for workflow specification
Xiao et al. A process history capture system for analysis of data dependencies in concurrent process execution
Xiao et al. The DeltaGrid abstract execution model: service composition and process interference handling
Ye Towards a reliable distributed web service execution engine
Kouadri et al. Context-oriented and transaction-based service provisioning

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2555697

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1020067017491

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 177794

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 2007502349

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005716992

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005716992

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067017491

Country of ref document: KR

ENP Entry into the national phase

Ref document number: PI0508608

Country of ref document: BR

WWW Wipo information: withdrawn in national office

Ref document number: 2005716992

Country of ref document: EP