JP4493692B2 - Self-healing device for handling complex web service processes - Google Patents
Self-healing device for handling complex web service processes Download PDFInfo
- Publication number
- JP4493692B2 JP4493692B2 JP2007502349A JP2007502349A JP4493692B2 JP 4493692 B2 JP4493692 B2 JP 4493692B2 JP 2007502349 A JP2007502349 A JP 2007502349A JP 2007502349 A JP2007502349 A JP 2007502349A JP 4493692 B2 JP4493692 B2 JP 4493692B2
- Authority
- JP
- Japan
- Prior art keywords
- web service
- service
- basic
- call
- alternative
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
- G06F15/7882—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for self reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/313—Logic programming, e.g. PROLOG programming language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
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)
- Computer And Data Communications (AREA)
- Agricultural Chemicals And Associated Chemicals (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、修復複合ウェブ・サービスのための方法及び装置に関し、具体的には、複合ウェブ・サービスに自己修復能力を与えるための方法及び装置、自己修復能力を有する複合ウェブ・サービスを実行するための方法及び装置、並びに、自己修復能力を有する複合ウェブ・サービスの処理方法に関する。 The present invention relates to a method and apparatus for repair composite web service, and more specifically, a method and apparatus for providing self-healing capability to composite web service, and executing composite web service having self-healing capability And a method for processing a composite web service having self-healing capabilities.
インターネット技術の成長は、組織がパートナー及び顧客と対話する方法に対して極めて大きな影響を及ぼす革新の波を引き起こしてきた。具体的には、複合ウェブ・サービス技術が、企業間コラボレーションを効率的に自動化するための有望な技術として出現している。 The growth of Internet technology has caused a wave of innovation that has a tremendous impact on the way organizations interact with partners and customers. Specifically, composite web service technology has emerged as a promising technology for efficiently automating collaboration between companies.
ウェブ・サービスは、ウェブ内において公開され、検出され、呼び出しされ得る、自己完結型で自己記述型のモジュラー・アプリケーションとして定義することができる。ウェブ・サービスは新しいサービスを形成するように構成することができる。以下では、複数のウェブ・サービスで構成される新しいウェブ・サービス・プロセスを、複合ウェブ・サービス・プロセスと呼ぶ。個々のウェブ・サービスからの複合ウェブ・サービス・プロセスの生成は、ウェブ・サービス複合と呼ばれるものであり、これは即ち、既存のサービス(即ち基本構成要素)を組み合わせて、新しいサービスを形成するものである。複合ウェブ・サービスは、所定のサービス・フローのモデルに応じて対話する、複数のパートナー・ウェブ・サービス(基本ウェブ・サービス)の複合である。上述のパートナー・ウェブ・サービスは、基本ウェブ・サービス又は複合ウェブ・サービス自体とすることができる。パートナーのウェブ・サービスを統合することにより、複合ウェブ・サービスは、顧客に複合ウェブ・サービスを提供し、顧客の複雑な要求を満たす。一般に、複合ウェブ・サービスは、ウェブ・サービス・プロセスのモデルによって定義される。例えば、複合ウェブ・サービスの旅行業者は、ウェブ・サービス・プロセスのモデルに応じて、連続して又は同時に実行される、航空便予約、旅行保険、宿泊予約、レンタカー、行程計画、その他といった複数のウェブ・サービスを集約することができる。図1は、例示的な複合ウェブ・サービスの旅行業者サービスを示す。顧客が旅行業者サービスに要求を発し、これに基づいて、旅行業者サービスが、航空業者サービス、ホテル・サービス、及びレンタカー・サービスを呼び出し、上述のサービスを実行するためには、「銀行サービス」が呼び出されるべきである。 A web service can be defined as a self-contained, self-describing modular application that can be published, detected and invoked within the web. Web services can be configured to form new services. In the following, a new web service process composed of a plurality of web services will be referred to as a composite web service process. The creation of composite web service processes from individual web services is called web service composite, which combines existing services (ie basic components) to form new services. It is. A complex web service is a complex of multiple partner web services (basic web services) that interact according to a model of a given service flow. The partner web service described above can be a basic web service or a composite web service itself. By integrating partner web services, composite web services provide customers with complex web services to meet the complex requirements of customers. In general, a composite web service is defined by a model of a web service process. For example, a complex web service travel agent may have multiple flights, such as airline reservations, travel insurance, accommodation reservations, car rentals, itineraries, etc., which may be run sequentially or concurrently, depending on the web service process model. Web services can be aggregated. FIG. 1 illustrates an exemplary composite web service travel agency service. In order for a customer to make a request for a travel agent service, based on which the travel agent service can call an air carrier service, a hotel service, and a car rental service, Should be called.
次に、ウェブ・サービス・プロセスに関する標準をまず説明する。IBM社のWSFL(Web Service Flow Language)と、マイクロソフト社のXLANG(eXtensible language)は、ウェブ・サービス複合の標準を定義する、最も初期の言語の2つである。WSFLは、特定のプロセスについて、活動の特定の順番及びデータ交換を定義する。これは、特有の動作への流れにおける各ステップの実行順序及びマッピングの両方を定義するものである。WSFLは例外の取り扱いをサポートするが、トランザクションに対して直接のサポートはしない。XLANGは、ビジネス・プロセスの生成及びウェブ・サービス・プロバイダ間の対話を主たる対象とするものである。これは、長期間にわたるトランザクションの実行を補償によりサポートすることができる堅固な例外取り扱い機能を含む。 Next, the standards for web service processes will be described first. IBM's WSFL (Web Service Flow Language) and Microsoft's XLANG (extensible language) are two of the earliest languages that define Web service complex standards. WSFL defines a specific order of activities and data exchange for a specific process. This defines both the execution order and mapping of each step in the flow to a specific operation. WSFL supports exception handling but not direct support for transactions. XLANG is primarily intended for business process creation and interaction between web service providers. This includes robust exception handling capabilities that can support long-running transaction execution with compensation.
WSFL及びXLANGに概説されるウェブ・サービスのワークフロー仕様は、IBM社、マイクロソフト社、及びBEAからの新しい仕様、即ちBPEL4WS(Business Process Execution Language for Web Services)で置き換えられた。BPEL4WSは、ビジネス・プロセス対話におけるウェブ・サービスの動作をモデル化する。この仕様は、ビジネス・フローに関与するウェブ・サービスを調整するのに必要な制御論理及びデータ交換について記述するXMLベースの文法を提供する。ウェブ・サービスは、次いで、例えば、ウェブ・サービス・プロセスのインスタンスを実行するBPWS4Jといったウェブ・サービス・プロセス・エンジンによって、解釈し、実行することができる。実行中、ウェブ・サービス・プロセスは、多くのパートナーのウェブ・サービスを呼び出すことができる。図2は、BPEL4WSプロセスの概略図を示す。図2では、BPEL4WSプロセスは複数のステップを含み、そのいくつかは、外部のウェブ・サービスを呼び出す。顧客はWSDL(Web Service Describing Language)を介してBPEL4WSプロセスに要求を発し、応答を得る。このプロセスは、役割及びパートナーを区別する例外の取り扱い上及びトランザクション上の特性、持続性及び順応性といった特性を有する。 The web service workflow specification outlined in WSFL and XLANG has been replaced by a new specification from IBM, Microsoft, and BEA, namely BPEL4WS (Business Process Execution Language for Web Services). BPEL4WS models the behavior of web services in business process interactions. This specification provides an XML-based grammar that describes the control logic and data exchange necessary to coordinate the web services involved in a business flow. The web service can then be interpreted and executed by a web service process engine, such as, for example, BPWS4J, which executes an instance of the web service process. During execution, a web service process can invoke many partner web services. FIG. 2 shows a schematic diagram of the BPEL4WS process. In FIG. 2, the BPEL4WS process includes multiple steps, some of which call external web services. The customer issues a request to the BPEL4WS process via WSDL (Web Service Describing Language) and gets a response. This process has properties such as exception handling and transactional characteristics that distinguish roles and partners, persistence and adaptability.
顧客、並びに、ビジネス・パートナーを引き付け、保持するためには、複合ウェブ・サービスは一貫した信頼できる方法で実行される必要がある。具体的には、パートナーに障害が生じた場合でさえ、顧客にコミットしたサービス目標を果たすことが、ウェブ・サービス・プロセスには非常に重要である。上述の旅行業者サービスを例として挙げ、中国南方航空からの航空券が予約されたと仮定する。所定のビジネス・プロセスに応じて、車は、ニュー・コンセプト・カー・レンタル・カンパニーから借りるはずだが、例えば、通信障害、システムのシャットダウンといった何らかのシステム・エラーがそのレンタル会社のウェブ・サービスに発生する。旅行業者のウェブ・サービス・プロセスがこの障害から回復できない場合には、旅行業者サービスは、顧客に、車を借りられないことに対する「おわび」を戻さなくてはならない。顧客の観点からは、この旅行業者の質は低く、信頼できないものとなる。しかし、旅行業者が障害から回復できた場合には、最終的に顧客の要求は満たされることになる。信頼できるサービスの質が、顧客を引き付け、彼らを保持するであろう。 In order to attract and retain customers as well as business partners, complex web services need to be run in a consistent and reliable manner. Specifically, meeting the service goals committed to the customer, even when the partner fails, is very important to the web service process. Take the travel agency service described above as an example and assume that a ticket from China Southern has been booked. Depending on the prescribed business process, the car should be rented from the new concept car rental company, but some system error occurs in the rental company's web service, for example, communication failure, system shutdown, etc. . If the travel agent's web service process cannot recover from this failure, the travel agent service must give the customer an “apology” for not being able to rent a car. From the customer's perspective, the quality of this travel agency is low and unreliable. However, if the travel agent can recover from the failure, the customer's requirements will eventually be met. A reliable service quality will attract customers and retain them.
従って、複合ウェブ・サービスのパートナーのウェブ・サービスに障害が発生した場合に、自己修復を実現できることが望まれる。自己修復とは、パートナーのウェブ・サービスに障害が生じた場合でも、ウェブ・サービス・プロセスがその元のサービス目標を実行し続けてこれを果たす能力を有することを意味する。IBM社により提案される1つの自動コンピューティング解決法によれば、自己修復とは、システムが、中断を発見し、診断し、これに対処できることを意味する。システムは、まず、障害が生じたコンポーネントを検出し、次いで、これを修正又は隔離するためにオフラインにし、最後に、何らの明白なアプリケーションの中断を生じることなしで、修正されたコンポーネント又は交換用コンポーネントを再導入することにより、コンポーネントの障害からの回復が可能である。システムは起こりうる問題を予測し、その障害がアプリケーションに影響を与えることを阻止するように処置する。 Accordingly, it is desirable that self-healing can be realized when a failure occurs in the web service of a composite web service partner. Self-healing means that even if a partner's web service fails, the web service process has the ability to continue to fulfill its original service goals. According to one automated computing solution proposed by IBM, self-healing means that the system can find, diagnose and deal with interruptions. The system first detects the failed component, then goes offline to correct or isolate it, and finally the corrected component or replacement without any apparent application interruption By reintroducing the component, it is possible to recover from a component failure. The system anticipates potential problems and takes action to prevent the failure from affecting the application.
しかしながら現在のところ、複合ウェブ・サービスを自己修復型にする他の明白な解決策はない。可能な解決策は、以下のものを含む。 However, at present there is no other obvious solution to make composite web services self-healing. Possible solutions include the following:
(1)特殊サービス・プラットフォームを用いて、信頼性を保証すること。パートナーのサービスが全て信頼できるものであれば、複合ウェブ・サービス・プロセスは信頼できる品質で実行できることが明白である。現在のところ、IBM社のService Domainといったいくつかの特殊サービス・プラットフォームが信頼できる基本ウェブ・サービスを提供することができ、サービス・プロバイダはコラボレーションのために信頼できるウェブ・サービスを提供できる。しかしながら、この解決策の欠点は、ウェブ・サービス・プロセスによって構築された複合ウェブ・サービスのプロバイダが、彼らの全てのパートナーに対して、パートナーのウェブ・サービスの信頼性を保証するのに必要な、特殊な専用サービス・プラットフォームを購入し、採用するように要求することは困難であるということである。 (1) Use a special service platform to guarantee reliability. Obviously, if all of the partners' services are reliable, the composite web service process can be performed with reliable quality. Currently, some specialized service platforms such as IBM's Service Domain can provide reliable basic web services, and service providers can provide reliable web services for collaboration. However, the disadvantage of this solution is that the complex web service provider built by the web service process is required to guarantee the reliability of the partner's web service to all their partners. It is difficult to request to purchase and adopt a special dedicated service platform.
(2)ウェブ・サービス・プロセス・エンジンを用いて、複合ウェブ・サービスの信頼性を保証するための修復機構を提供すること。しかしながら、このエンジンで実施することができるこうした修復機構は、固定的なものであり、可視的ではなく、おそらく構成機能の数は少ないものである。プロバイダ及び管理者といった複合ウェブ・サービス・プロセスの利害関係者は、これらの修復機構をカスタマイズ又は制御することができない。 (2) To provide a repair mechanism for ensuring the reliability of the composite web service using the web service process engine. However, such repair mechanisms that can be implemented with this engine are fixed, not visible, and probably have a small number of component functions. Stakeholders of complex web service processes such as providers and administrators cannot customize or control these remediation mechanisms.
特許文献1は、プロセス外の障害が生じたアプリケーションを検出し、回復させるシステム・アーキテクチャを開示しており、ここでは、検出はログを記録して検討することにより実行され、回復はクラッシュしたアプリケーションを再始動することにより実行される。しかしながら、特許文献1に説明される解決策は、リアルタイムの回復を実現することはできない。
特許文献2は、ネットワーク・コンピュータ・システムの高可用性を実現するための方法及びシステムを開示する。全体的な高可用性は、各コンポーネントに高可用性を与えることにより実現される。しかしながら複合ウェブ・サービスでは、全てのパートナーのウェブ・サービスが高可用性をもつことは実際的ではない。
特許文献3は、ウェブを介して提供される永続サービスを生成し、管理するためのシステム及び方法を開示し、これは、個別サービスの自己修復に関するものである。特許文献3に述べられる解決法は、障害が生じた個別サービスを検出して再構築し、リアルタイムで再構築サービスを探索し、そのサービスを再び呼び出すために管理エージェント・モードを用いる。この特許は、サービスの信頼性を実現するために、各サービスが、該サービスにより定義された管理エージェント・モードに従うことを必要とする。
本発明の第1の実施形態は、複合ウェブ・サービス・プロセスのパートナー・ウェブ・サービスに障害が生じた場合に、この複合ウェブ・サービス・プロセスを回復可能にして、パートナーの障害のために、複合ウェブ・サービス・プロセスが割り込まれる又は異常終了することを防ぐようにする。 The first embodiment of the present invention allows a composite web service process to be recoverable in the event of a failure of the composite web service process partner web service, for partner failure, Prevent complex web service processes from being interrupted or aborted.
本発明のさらに別の実施形態は、自己修復ウェブ・サービス・プロセスのための、融通性があり、プラットフォームから独立した方法を提供する。これは、自己監視及び自己回復を行って、ウェブ・サービスが低費用で存続することができ、ウェブ・サービスのパートナーに障害が生じた場合でも、ウェブ・サービスの顧客は依然として必要なサービスを受けることができることを保証する。 Yet another embodiment of the present invention provides a flexible and platform-independent method for self-healing web service processes. This allows for self-monitoring and self-healing so that the web service can survive at low cost, and even if the web service partner fails, the web service customer still receives the necessary service Guarantee that you can.
本発明は、少なくとも1つの基本ウェブ・サービスを呼び出す複合ウェブ・サービス・プロセスを処理するための自己修復方法を提供する。この方法は、基本ウェブ・サービスに、前述の基本ウェブ・サービスから独立しており、対応する基本ウェブ・サービスの機能と同じ機能を実施する少なくとも1つの代替ウェブ・サービスを設けるステップと、前述の複合ウェブ・サービス・プロセスのモデル定義を解析して、基本ウェブ・サービスの呼び出しを起動するステップを探索するステップと、前述の複合ウェブ・サービス・プロセスのモデル定義により探索された、基本ウェブ・サービスの呼び出しを起動する前述のステップの後に、修復論理を挿入するステップと、を含む。そして、前述の複合ウェブ・サービス・プロセスの実行手順中に、基本ウェブ・サービスの以前の呼び出しが失敗したか否かを前述の修復論理が検出し、呼び出しの失敗が検出された場合には、呼び出しが失敗した基本ウェブ・サービスに対応して、前述の修復論理が前述の代替ウェブ・サービスを呼び出すようにする。 The present invention provides a self-healing method for processing a complex web service process that invokes at least one basic web service. The method includes providing the basic web service with at least one alternative web service that is independent of the basic web service and performs the same function as the corresponding basic web service; Analyzing the model definition of the composite web service process, searching for a step that invokes the invocation of the basic web service, and the basic web service searched by the model definition of the composite web service process described above Inserting repair logic after the previous step of invoking a call to Then, during the execution procedure of the above composite web service process, the above repair logic detects whether the previous call of the basic web service has failed, and if a call failure is detected, Corresponding to the basic web service for which the call failed, the repair logic described above calls the alternative web service described above.
本発明は、さらに、少なくとも1つの基本ウェブ・サービスを呼び出す複合ウェブ・サービス・プロセスを処理するための自己修復装置を提供する。この装置は、基本ウェブ・サービスに、前述の基本ウェブ・サービスから独立しており、対応する基本ウェブ・サービスの機能と同じ機能を実施する少なくとも1つの代替ウェブ・サービスを設けるための代替ウェブ・サービス・リポジトリと、前述の複合ウェブ・サービス・プロセスのモデル定義を解析して、基本ウェブ・サービスの呼び出しを起動するステップを識別するためのモデル解析手段と、前述の複合ウェブ・サービス・プロセスのモデル定義により識別された、基本ウェブ・サービスの呼び出しを起動する前述のステップの後に、修復論理を挿入するための修復論理挿入手段と、を含む。そして、前述の複合ウェブ・サービス・プロセスの実行手順中に、基本ウェブ・サービスの以前の呼び出しが失敗したか否かを前述の修復論理が検出し、呼び出しの失敗が検出された場合には、呼び出しが失敗した基本ウェブ・サービスに対応して、前述の修復論理が代替ウェブ・サービス・リポジトリから前述の代替ウェブ・サービスを呼び出すようにする。 The present invention further provides a self-healing device for processing a complex web service process that invokes at least one basic web service. The apparatus provides an alternative web service for providing the basic web service with at least one alternative web service that is independent of the aforementioned basic web service and performs the same function as the function of the corresponding basic web service. A service repository, a model analysis means for analyzing the composite web service process model definition described above to identify the step that invokes the base web service call, and the composite web service process described above Repair logic insertion means for inserting repair logic after the aforementioned step of invoking a call to the basic web service identified by the model definition. Then, during the execution procedure of the above composite web service process, the above repair logic detects whether the previous call of the basic web service has failed, and if a call failure is detected, Corresponding to the basic web service for which the call failed, the repair logic as described above causes the alternate web service to be invoked from the alternate web service repository.
本発明は、さらに、少なくとも1つの基本ウェブ・サービスを呼び出す複合ウェブ・サービス・プロセスを実行するための装置を提供する。この装置は、基本ウェブ・サービスに、前述の基本ウェブ・サービスから独立しており、対応する基本ウェブ・サービスの機能と同じ機能を実行する少なくとも1つの代替ウェブ・サービスを設ける代替ウェブ・サービス・リポジトリと併せて用いられる。この装置は、前述の装置が複合ウェブ・サービス・プロセスに応じて、基本ウェブ・サービスの呼び出しを実行した後に、呼び出しが成功したかどうかを判断するための自己修復コンポーネントを含む。呼び出しの失敗が発生したと判断された場合には、呼び出しが成功しなかった基本ウェブ・サービスに対応して、代替ウェブ・サービス・リポジトリから代替ウェブ・サービスを呼び出すようにする。 The present invention further provides an apparatus for executing a composite web service process that invokes at least one basic web service. This device provides an alternative web service that provides the basic web service with at least one alternative web service that is independent of the aforementioned basic web service and that performs the same function as the function of the corresponding basic web service. Used in conjunction with repositories. The device includes a self-healing component for determining whether the call is successful after the aforementioned device performs a basic web service call in response to the composite web service process. If it is determined that a call failure has occurred, the alternative web service is called from the alternative web service repository in response to the basic web service for which the call was not successful.
本発明は、さらに、少なくとも1つの基本ウェブ・サービスを呼び出す複合ウェブ・サービス・プロセスを実行するための方法を含む。この方法は、基本ウェブ・サービスの呼び出しを実行した後に、呼び出しが成功したかどうかを判断するステップと、呼び出しの失敗が発生したと判断された場合には、呼び出しが成功しなかった基本ウェブ・サービスに対応して、代替ウェブ・サービス・リポジトリから代替ウェブ・サービスを呼び出すステップとを含む。前述の代替ウェブ・サービス・リポジトリには、基本ウェブ・サービスに、前述の基本ウェブ・サービスから独立しており、対応する基本ウェブ・サービスの機能と同じ機能を実施する少なくとも1つの代替ウェブ・サービスが設けられる。 The present invention further includes a method for executing a composite web service process that invokes at least one basic web service. This method includes the steps of determining whether the call was successful after making a basic web service call, and if it was determined that a call failure occurred, the basic web service In response to the service, invoking the alternative web service from the alternative web service repository. The alternative web service repository includes at least one alternative web service that is independent of the basic web service and performs the same function as the corresponding basic web service. Is provided.
本発明の利点は以下の通りである。 The advantages of the present invention are as follows.
(1)本発明は、特定のサービス・プラットフォームを採用するよりも、実現可能である。本発明は、プラットフォームから独立しており、複合ウェブ・サービス・プロセス・レベルの信頼性を保証し、かつ、パートナーのウェブ・サービスを提供するサービス・プラットフォームに対してどのような特別な必要条件もない。即ち、本発明は、高可用性を実現するために、各パートナーのウェブ・サービスを必要としない。疎結合ウェブ・サービスの時代においては、より実現可能である。 (1) The present invention can be realized rather than adopting a specific service platform. The present invention is platform independent, guarantees composite web service process level reliability, and does not have any special requirements for service platforms that provide partner web services. Absent. That is, the present invention does not require each partner's web service to achieve high availability. In the era of loosely coupled web services, it is more feasible.
(2)要望に応じて変更することができる(利害関係者志向)。本発明は、複合ウェブ・サービスの利害関係者が、修復機構をカスタマイズすることを可能にし、これらの修復機構は、要望に応じて複合ウェブ・サービス・プロセスに容易に統合することができる。 (2) Can be changed upon request (stakeholder orientation). The present invention allows stakeholders of composite web services to customize remediation mechanisms that can be easily integrated into a composite web service process as desired.
(3)低費用である。パートナーに障害が生じない場合には、サービス・プロセスは全く影響を受けない。パートナーに障害が生じた場合には、サービス・プロセスは別の呼び出しを実行するだけでよい。別のサービスの呼び出しは若干のパフォーマンス費用をもたらすが、プロセス全体の信頼性を保証する。以下のシナリオを考察する。複合ウェブ・サービス・プロセスが、100のパートナー・サービスを呼び出す必要があり、最初の99の呼び出しは成功するが、最後の1つは失敗する。ここに開示する方法なしでは、プロセス全体のインスタンスが失敗になり、最初の99のパートナーの労力も無効になる。しかし、本発明の方法により、サービス・プロセスは実行され続け、即ち、障害が生じたパートナーのウェブ・サービスのための1つの候補となるウェブ・サービスが呼び出されて、結果が戻される。従って、最初の99のパートナーの労力は維持され、複合ウェブ・サービスの費用は削減される。 (3) Low cost. If the partner does not fail, the service process is not affected at all. If the partner fails, the service process need only make another call. Invoking another service incurs some performance cost but guarantees overall process reliability. Consider the following scenario: The composite web service process needs to call 100 partner services, and the first 99 calls succeed, but the last one fails. Without the method disclosed here, the entire process instance fails and the effort of the first 99 partners is invalidated. However, with the method of the present invention, the service process continues to execute, i.e., one candidate web service for the failed partner's web service is invoked and the result returned. Thus, the effort of the first 99 partners is maintained and the cost of composite web services is reduced.
添付図面に関連する本発明の例示的な実施形態の説明により、本発明の上述の及び他の態様及び利点がより明白になるであろう。 The foregoing and other aspects and advantages of the invention will become more apparent from the description of the exemplary embodiments of the invention in conjunction with the accompanying drawings.
プロセス設計者からサービス・プロバイダに供給されるウェブ・サービスは、従来の読み取り不能のバイナリ・コードの代わりに、XML文書といった宣言形態で提供される。本発明は、自動的にビジネス・プロセスを分析し、次いで、修復論理をビジネス・プロセス論理内の適切な場所に挿入する。これらの修復論理は、パートナーのウェブ・サービスに障害が生じた場合に、XML文書に記述される元のビジネス・プロセスに影響を与えることなく、ウェブ・サービス・プロセスが、ユーザの元の要求を満たし続けることを保証する。同時に修復論理は、自己完結的な実施を遂行するため文法及び意味の定義に従ってビジネス・プロセス、例えばBPEL4WS又はWSFLといったビジネス・プロセスの仕様に適合するようになっている。修復論理を含むウェブ・サービス・プロセスは、自己修復ウェブ・サービス・プロセスと呼ぶことができる。自己修復ウェブ・サービス・プロセスは、仕様に適合するプロセスを実行するプラットフォーム(プロセス・エンジン)のいずれにおいても展開及び実行することができる。自己修復ウェブ・サービス・プロセスがプロセス・エンジン上で実行されるときには、パートナーのウェブ・サービスに障害が生じると、修復論理は、まず、障害が生じたパートナー・ウェブ・サービスを検出して記録し、何らの明白な中断を生じることなしで、代替ウェブ・サービスを呼び出す修復ツールをビジネス・プロセスに導入する。パートナー・サービス及びその代替サービスは、パートナー・サービス・レジスタにおいてあらかじめ定義される。パートナー・サービスに障害が生じた後、単にレジスタに照会することにより、代替サービスを呼び出すことができる。ビジネス・プロセスは、元の要求を満たし続ける。 Web services supplied by process designers to service providers are provided in declarative form, such as XML documents, instead of traditional unreadable binary code. The present invention automatically analyzes the business process and then inserts repair logic at the appropriate location within the business process logic. These remediation logics ensure that if the partner web service fails, the web service process will reinstate the user's original request without affecting the original business process described in the XML document. Guarantee that you will continue to meet. At the same time, the repair logic is adapted to the specifications of business processes, such as BPEL4WS or WSFL, according to grammar and semantic definitions to perform self-contained implementation. A web service process that includes repair logic can be referred to as a self-healing web service process. The self-healing web service process can be deployed and executed on any platform (process engine) that executes a process that meets specifications. When a self-healing web service process runs on a process engine and the partner web service fails, the repair logic first detects and records the failed partner web service. Introduce a remediation tool into the business process that invokes an alternative web service without causing any apparent interruption. Partner services and their alternative services are predefined in the partner service register. After the partner service fails, an alternative service can be invoked by simply querying the register. Business processes continue to meet the original requirements.
複合ウェブ・サービス・プロセスに、本発明による自己修復能力を与えるための方法及び関連装置を、図3乃至図5を参照して詳細に説明する。 A method and related apparatus for providing self-healing capabilities according to the present invention to a composite web service process will be described in detail with reference to FIGS.
図3は、複合ウェブ・サービス・プロセスに、本発明による自己修復能力を与えるための関連装置を概略的に示す。この装置は、パートナー・ウェブ・サービス・リポジトリ、修復ジェネレータ、及び修復ツール生成装置を含む。図4は、複合ウェブ・サービス・プロセスに、本発明による自己修復能力を与えるための方法のフローチャートを示す。 FIG. 3 schematically illustrates a related apparatus for providing a self-healing capability according to the present invention to a composite web service process. The device includes a partner web service repository, a repair generator, and a repair tool generator. FIG. 4 shows a flowchart of a method for providing self-healing capabilities in accordance with the present invention to a composite web service process.
例として、図3に示す複合ウェブ・サービス・プロセスのモデルにおいて、まずステップ1が実行され、次いでステップ2A及びステップ2Bが同時に実行され、最後にステップ3が実行されて、ステップ2A及びステップ2Bは、ウェブ・サービス「WS2A」及び「WS2B」をそれぞれ呼び出す。
As an example, in the composite web service process model shown in FIG. 3,
パートナー・ウェブ・サービス・リポジトリは、代替ウェブ・サービスのコンテナであり、ここでは、複合ウェブ・サービス・プロセスにおいて呼び出されるべきウェブ・サービスWS2A及びWS2Bには、それぞれ、WS2A_alternative_1からWS2A_alternative_nまで、及びWS2B_alternative_1からWS2B_alternative_nまでの複数の代替ウェブ・サービスが設けられている。代替ウェブ・サービスは同じ機能を提供するが、異なるサービス・プロバイダによって与えられる。例えば、中国東方航空の航空便予約サービスは、中国南方航空の航空便予約サービスの代替サービスである。実際のプロバイダは、関心のあるパートナー・サービス・ウェブ・リポジトリに登録して、望ましいサービスを与えることができる。複合ウェブ・サービス・プロセス内の1つのパートナー・ウェブ・サービスが使用不可である場合には、パートナー・ウェブ・サービス・リポジトリが用いられる。使用不可のパートナー・ウェブ・サービスの代わりに、対応するリポジトリにおける代替ウェブ・サービスが選択され、呼び出される。例えば、複合ウェブ・サービス・プロセスの旅行業者において、中国南方航空の航空便予約サービスに障害が生じた場合には、中国東方航空の航空便予約サービスが呼び出されて、航空便の予約を委任される。 The partner web service repository is a container for alternative web services, where the web services WS2A and WS2B to be invoked in the composite web service process are WS2A_alternative_1 to WS2A_alternative_n and WS2B_alternative_1, respectively. A plurality of alternative web services up to WS2B_alternative_n are provided. Alternative web services provide the same functionality but are provided by different service providers. For example, China Eastern Airlines 'flight reservation service is an alternative to China Southern Airlines' flight reservation service. The actual provider can register with the partner service web repository of interest and provide the desired service. If one partner web service in the composite web service process is unavailable, the partner web service repository is used. Instead of the unavailable partner web service, an alternative web service in the corresponding repository is selected and invoked. For example, in the case of a travel agent with a complex web service process, if China Southern Airlines' flight reservation service fails, the China Eastern Airlines flight reservation service will be called to delegate the flight reservation. The
パートナー・ウェブ・サービス・リポジトリ内においては、代替ウェブ・サービスは、代替ウェブ・サービス選択ポリシーに応じて、異なる呼び出しレベルを割り当てられることができる。選択ポリシーは、サービスの可用性といったパラメータを含むランキング・アルゴリズムのいずれかに基づいて構成することができ、自己修復プロセスが、ランクに応じて、代替ウェブ・サービスを呼び出すことができるようにする。 Within the partner web service repository, alternate web services can be assigned different call levels depending on alternate web service selection policies. The selection policy can be configured based on any of the ranking algorithms including parameters such as service availability, allowing the self-healing process to invoke alternative web services depending on the rank.
修復ジェネレータは、モデル解析装置、修復論理生成装置、及び修復論理挿入装置を含み、これらは既存の複合ウェブ・サービス・プロセスのモデル定義をさらに処理するのに使用される。図4のステップS410で、モデル解析装置は、複合ウェブ・サービス・プロセスのモデル定義におけるステップを解析して、例えば、図3のステップ2A及び2Bといったパートナー・ウェブ・サービスの呼び出しを起動するステップを探索し、ステップS420で、モデル定義におけるこのステップが、パートナー・ウェブ・サービスを呼び出すかどうかが判断される。ステップS420で、パートナー・ウェブ・サービスが呼び出されないと判断された場合には、流れは以下に説明するステップS460に進む。ステップS420で、パートナー・ウェブ・サービスが呼び出されると判断された場合には、ステップS430で修復論理生成装置が修復論理を生成し、ステップS440で、修復論理挿入装置が、ステップ(2A、2B)の後に生成された修復論理を挿入し、この修復論理が、図3の自己修復プロセス・モデルにおけるステップ2A−H、2B−Hといった、複合ウェブ・サービス・プロセスのモデル定義により探索されたパートナー・ウェブ・サービスの呼び出しを起動し、これらのステップが、先行するステップ2A及び2Bにおいてパートナー・ウェブ・サービスの呼び出しが成功したかどうかを検出するために用いられる。修復論理は、パートナーの応答が取得されたかどうかに応じて、パートナー・ウェブ・サービスの呼び出しが成功したかどうかを判断することができる。
The repair generator includes a model analyzer, repair logic generator, and repair logic inserter, which are used to further process the model definition of an existing composite web service process. In step S410 of FIG. 4, the model analysis apparatus analyzes the steps in the model definition of the composite web service process, and starts a partner web service call such as
ステップS450では、修復ツール生成装置が、図3のWS2A−Healer及びWS2B−Healerといった修復論理に対応する修復ツールを生成する。以下に、修復ツールについて詳細に説明する。 In step S450, the repair tool generation device generates a repair tool corresponding to the repair logic such as WS2A-Healer and WS2B-Healer in FIG. The repair tool will be described in detail below.
ステップS460で、ウェブ・サービスのモデルが終了するかどうかが判断される。終了すると判断された場合には、本発明の方法は終了する。終了ではないと判断された場合には、プロセスはステップS410に戻り、モデル定義における次のステップが解析される。 In step S460, a determination is made whether the web service model is complete. If it is determined to end, the method of the present invention ends. If it is determined that the process is not finished, the process returns to step S410, and the next step in the model definition is analyzed.
以下に、修復ツールについて詳細に説明する。修復ツール自体はウェブ・サービスであり、パートナー・ウェブ・サービスが使用不可である場合に、パートナー・ウェブ・サービス・リポジトリからパートナー・ウェブ・サービスの代替ウェブ・サービスを呼び出して、望ましいサービスを得ることができる。例えば、パートナー・ウェブ・サービスWS2Aが使用不可である場合には、ステップ2Aの出力は、システム・レベル例外である。システム・レベル例外とは、システム障害、ネットワーク障害、及びアプリケーション欠陥が原因で発生した例外を意味する。この場合、修復論理2A−Hは、修復ツールWS2A−Healerを呼び出す。図5は、修復ツールの基本プロセスのフローチャートを示す。ステップS510で、修復ツールWS2A−Healerは、例えば、WS2A_alternative_1といった、前述の代替ウェブ・サービス選択ポリシーに応じて、呼び出されるべき代替ウェブ・サービスを選択し、ステップS520で代替ウェブ・サービスを呼び出す。修復ツールは、さらに、いつ及びどのパートナー・ウェブ・サービスが使用不可であるかについて、パートナー・ウェブ・サービス・プロバイダとのコラボレーションのログとして記録することができる。修復ツールはまた、パートナー・ウェブ・サービス・リポジトリと通信して、代替ウェブ・サービスの呼び出しレベルの評価に参加することができる。
The repair tool will be described in detail below. The remediation tool itself is a web service, and if the partner web service is not available, call the partner web service alternative web service from the partner web service repository to get the desired service Can do. For example, if partner web service WS2A is not available, the output of
上述のプロセスを通して、既存の複合ウェブ・サービス・プロセスは、ウェブ・サービス・プロセス・エンジン上で実行される自己修復機能を有する自己修復複合ウェブ・サービス・プロセスとなる。複合ウェブ・サービス・プロセスの自己修復プロセスは、図6を参照して以下に説明する。ステップS610で、複合ウェブ・サービス・プロセスのそれぞれのステップは、複合ウェブ・サービス・プロセスのモデル定義に応じて実行される。ステップS620で、パートナー・ウェブ・サービスは、複合ウェブ・サービス・プロセスの要求に応じて呼び出される。そして、ステップS630で、呼び出しが成功かどうかが判断される。呼び出しが成功したと判断された場合には、プロセスはステップS650に進む。呼び出しが失敗したと判断された場合には、修復ツール・ウェブ・サービスがステップS640で呼び出される。代替ウェブ・サービスが修復ツール・ウェブ・サービスによって呼び出される。ステップS650で、複合ウェブ・サービス・プロセスが、このステップで終了するかどうかが判断される。終了しない場合には、プロセスはステップS610に戻り、複合ウェブ・サービス・プロセスを実行し続ける。終了する場合には、自己修復プロセスは終了する。 Through the above-described process, the existing composite web service process becomes a self-healing composite web service process with a self-healing function executed on the web service process engine. The self-healing process of the composite web service process is described below with reference to FIG. In step S610, each step of the composite web service process is performed according to the model definition of the composite web service process. In step S620, the partner web service is invoked in response to a request for a composite web service process. Then, in step S630, it is determined whether the call is successful. If it is determined that the call is successful, the process proceeds to step S650. If it is determined that the call has failed, the repair tool web service is called at step S640. An alternative web service is invoked by the repair tool web service. In step S650, it is determined whether the composite web service process ends at this step. If not, the process returns to step S610 and continues to execute the composite web service process. If so, the self-healing process ends.
本発明に開示される方法によるBPEL4WSに基づく実施形態を、図7乃至図8を参照して以下に説明する。図7は、顧客がローンの要求を送信し、その要求が処理されて、顧客がローンの要求が承認されたかどうかについて調べる、BPEL4WSプロセスの例を示す。このプロセスにおいて、動作は、メッセージを得ること、金融機関のウェブ・サービスを呼び出すこと、最後に顧客に応答することで構成される。これら3つの動作は、<受信><呼び出し>、及び<応答>の活動を用いて、BPELにおいて定義される。構築された活動を用いることにより定義されるこうした活動間の関係は、これらの活動をいかに稼動させるかについての制限を定義する。この例では、順番付けは、活動が次々に稼動されるようにする<順序>活動を用いて実現される。図8は、この例の自己修復BPEL4WSプロセスを示す。<呼び出し>の出力結果が例外である場合に、プロセスが、代替パートナー・サービスを呼び出す修復ツール・ウェブ・サービスを呼び出して、BPEL4WSプロセスの信頼性を保証するようにする点が異なる。 Embodiments based on BPEL4WS according to the method disclosed in the present invention are described below with reference to FIGS. FIG. 7 shows an example of a BPEL4WS process in which a customer sends a loan request and the request is processed to see if the customer has approved the loan request. In this process, the action consists of getting a message, calling a financial institution's web service, and finally responding to the customer. These three actions are defined in BPEL using <Receive> <Call> and <Response> activities. The relationship between these activities, defined by using built activities, defines the restrictions on how these activities can be run. In this example, ordering is achieved using <order> activities that cause the activities to be run one after the other. FIG. 8 illustrates this example self-healing BPEL4WS process. The difference is that if the output of <call> is an exception, the process calls the repair tool web service that calls the alternate partner service to ensure the reliability of the BPEL4WS process.
この例の実施ステップは、以下の通りである。 The implementation steps of this example are as follows.
(1)まず、ウェブ・サービス・プロセス文書、loanapproval.bpelを解析して、パートナー・ウェブ・サービス(金融サービス)を呼び出す活動(<呼び出し>金融サービス)を探索し、パートナー・ウェブ・サービスの情報を得る。 (1) First, a web service process document, loaproval. By analyzing bpel, an activity for calling a partner web service (financial service) (<call> financial service) is searched, and information on the partner web service is obtained.
(2)パートナー・ウェブ・サービスの代替ウェブ・サービスを呼び出す修復ツール・ウェブ・サービスを生成する。代替ウェブ・サービスの名称及びアドレスといった、呼び出しに必要な情報を、パートナー・ウェブ・サービス・リポジトリ、及び、対応するサービスWSDLから得ることができる。 (2) Generate a repair tool web service that calls an alternative web service for the partner web service. Information required for the call, such as the name and address of the alternative web service, can be obtained from the partner web service repository and the corresponding service WSDL.
(3)パートナー・ウェブ・サービスを呼び出すステップの後、<切り換え>活動及び<呼び出し>活動を挿入して、前に呼び出されたパートナー・ウェブ・サービスに障害が生じた場合に、修復ツール・ウェブ・サービスを呼び出せるようにする。 (3) After the step of invoking partner web service, insert <switch> activity and <call> activity, and if the previously invoked partner web service fails, remediation tool web -Make the service callable.
(4)プロセス、関連パートナー・ウェブ・サービス、及び修復ツール・ウェブ・サービスを展開する。 (4) Develop processes, related partner web services, and remediation tools web services.
(5)プロセス・エンジン上で自己修復複合ウェブ・サービス・プロセスを実行する。 (5) Run a self-healing complex web service process on the process engine.
上述の方法及び装置は、修復論理を複合ウェブ・サービス・プロセスに加え、次いで、ウェブ・サービス・プロセスがプロセス・エンジン上で実行されて、複合ウェブ・サービス・プロセスの信頼性を保証するようにする。本発明による方法は、さらに、ウェブ・サービス・プロセス実行エンジンによって採用されるように変更することができる。即ち、複合ウェブ・サービス・プロセス自体は変更されないが、その代わりに、修復プロセスがウェブ・サービス・プロセスによって実行される。以下では、「ウェブ・サービス・プロセス実行エンジン」は、簡単に「プロセス・エンジン」と呼ばれる。 The method and apparatus described above adds repair logic to the composite web service process, and then the web service process is executed on the process engine to ensure the reliability of the composite web service process. To do. The method according to the present invention can be further modified to be employed by a web service process execution engine. That is, the composite web service process itself is not changed, but instead a repair process is performed by the web service process. In the following, the “web service process execution engine” is simply referred to as the “process engine”.
まず、プロセス・エンジンについて簡単に説明する。複合ウェブ・サービス・プロセス仕様と共に、少数のツールが仕様に与えられている。例えば、IBM社は、複合ウェブ・サービス・プロセスを実行することができる、BPWS4Jと呼ばれるプロセス・エンジンを提供している。複合ウェブ・サービス・プロセス・エンジンは、実行されるべきビジネス・プロセスを記述する複合ウェブ・サービス・プロセス定義文書、パートナー・ウェブ・サービスを記述するWSDL文書、及び結果として生じた顧客に対するビジネス・プロセスのインターフェースを記述するWDSL文書を取り込む。この入力から、プロセス・エンジンは、SOAP(サービス志向アーキテクチャ及びプログラミング)インターフェースをもつウェブ・サービスとして使用可能になるプロセスを生成する。プロセスのインターフェースを記述するWDSLファイルは、ランタイムに検索することができる。エンジンもまた、プロセス内からウェブ・サービスの呼び出しをサポートする。図9は、プロセス・エンジンが、活動の実施において、どのようにしてパートナー・ウェブ・サービスを呼び出すかを示す。定義後、プロセスのモデルは、サービス・リクエスタを介してプロセス・エンジンに入力される。プロセス・エンジンは、対応するプロセスを実行し、SOAPメッセージをウェブ・サービス・プロバイダのSOAPハンドラに送信するサービス呼び出しユティリティと通信し、そのサービス・コンテナ内のサービスを呼び出して、SOAPメッセージをサービス呼び出しユティリティに戻す。 First, the process engine will be briefly described. A small number of tools are given to the specification along with the composite web service process specification. For example, IBM provides a process engine called BPWS4J that can execute complex web service processes. The composite web service process engine includes a composite web service process definition document that describes the business process to be executed, a WSDL document that describes the partner web service, and the resulting business process for the customer. WDSL document that describes the interface of From this input, the process engine creates a process that can be used as a web service with a SOAP (Service Oriented Architecture and Programming) interface. The WDSL file that describes the interface of the process can be retrieved at runtime. The engine also supports invoking web services from within the process. FIG. 9 shows how the process engine invokes the partner web service in performing the activity. After definition, the process model is input to the process engine via the service requester. The process engine executes a corresponding process, communicates with a service invocation utility that sends a SOAP message to the web service provider's SOAP handler, invokes a service in the service container, and sends the SOAP message to the service invocation utility. Return to.
図10は、本発明による自己修復プロセス・エンジンを示す。複合ウェブ・サービス・プロセス・エンジンは、修復コンポーネントを複合ウェブ・サービス・プロセス・エンジンに挿入することにより、パートナー・ウェブ・サービスの障害に対処することができる。前述の修復論理と同様に、修復コンポーネントは、過去の呼び出しが失敗したかどうかを検出する。失敗の場合には、サービス呼び出しユティリティを通じて、障害が生じたパートナー・ウェブ・サービスの代替ウェブ・サービスを呼び出す。このワークフローは、上で開示された自己修復プロセスと同様であり、唯一の違いは、自己修復プロセスが、プロセス自体ではなく、プロセス・エンジンにおいて取り扱われることである。本発明をプロセス・エンジンで実行する利点は、プロセスのモデル自体が変更されないことである。プロセス・エンジンは、稼動中の複合ウェブ・サービス・プロセスの信頼性に責任を負う。欠点は、修復コンポーネントが固定的であり、稼動するプロセスの利害関係者にとって可視的でないことである。 FIG. 10 illustrates a self-healing process engine according to the present invention. The composite web service process engine can address partner web service failures by inserting remediation components into the composite web service process engine. Similar to the repair logic described above, the repair component detects whether past calls have failed. In case of failure, the alternative web service of the failed partner web service is invoked through the service invocation utility. This workflow is similar to the self-healing process disclosed above, the only difference is that the self-healing process is handled in the process engine, not the process itself. An advantage of running the present invention on a process engine is that the process model itself is not changed. The process engine is responsible for the reliability of the running complex web service process. The disadvantage is that the repair component is fixed and not visible to the stakeholders of the running process.
本発明は、本発明の好ましい実施形態を参照して詳細に述べられ、示されているが、当業者であれば、添付の特許請求の範囲により定義される本発明の精神及び範囲から離れることなく、形態及び詳細に対して種々の修正を行うことができることを理解すべきである。 While the invention has been described and shown in detail with reference to preferred embodiments of the invention, those skilled in the art will depart from the spirit and scope of the invention as defined by the appended claims. However, it should be understood that various modifications can be made to the form and details.
Claims (4)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200410039642.9A CN1668014A (en) | 2004-03-12 | 2004-03-12 | Auto-restored composite network service method and device |
CN200410039642.9 | 2004-03-12 | ||
PCT/EP2005/051089 WO2005091186A2 (en) | 2004-03-12 | 2005-03-10 | Method and apparatus for self-healthing composite web services |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007529067A JP2007529067A (en) | 2007-10-18 |
JP2007529067A6 JP2007529067A6 (en) | 2008-02-14 |
JP4493692B2 true JP4493692B2 (en) | 2010-06-30 |
Family
ID=34961236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007502349A Expired - Fee Related JP4493692B2 (en) | 2004-03-12 | 2005-03-10 | Self-healing device for handling complex web service processes |
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)
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)
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 |
US7194543B2 (en) | 2001-11-12 | 2007-03-20 | Mci, Llc | System and method for creating and managing survivable, service hosting networks |
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 |
-
2004
- 2004-03-12 CN CN200410039642.9A patent/CN1668014A/en active Pending
-
2005
- 2005-03-10 KR KR1020067017491A patent/KR100951093B1/en not_active IP Right Cessation
- 2005-03-10 BR BRPI0508608-6A patent/BRPI0508608A/en not_active IP Right Cessation
- 2005-03-10 WO PCT/EP2005/051089 patent/WO2005091186A2/en not_active Application Discontinuation
- 2005-03-10 CA CA002555697A patent/CA2555697A1/en not_active Abandoned
- 2005-03-10 JP JP2007502349A patent/JP4493692B2/en not_active Expired - Fee Related
- 2005-03-10 EP EP05716992A patent/EP1738308A1/en not_active Withdrawn
-
2006
- 2006-08-31 IL IL177794A patent/IL177794A0/en unknown
Also Published As
Publication number | Publication date |
---|---|
CN1668014A (en) | 2005-09-14 |
KR100951093B1 (en) | 2010-04-07 |
IL177794A0 (en) | 2006-12-31 |
EP1738308A1 (en) | 2007-01-03 |
CA2555697A1 (en) | 2005-09-29 |
JP2007529067A (en) | 2007-10-18 |
KR20070001981A (en) | 2007-01-04 |
BRPI0508608A (en) | 2007-12-18 |
WO2005091186A2 (en) | 2005-09-29 |
WO2005091186A8 (en) | 2006-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Miller et al. | WebWork: METEOR 2's web-based workflow management system | |
Bhiri et al. | Ensuring required failure atomicity of composite web services | |
US11205150B2 (en) | Apparatus and method for policy-driven business process exception handling | |
US8306996B2 (en) | Processing model-based commands for distributed applications | |
US20080294408A1 (en) | Method and system for developing a conceptual model to facilitate generating a business-aligned information technology solution | |
Alonso et al. | Enhancing the fault tolerance of workflow management systems | |
Liang et al. | Service pattern discovery of web service mining in web service registry-repository | |
Luo et al. | Exception handling for conflict resolution in cross-organizational workflows | |
JP4493692B2 (en) | Self-healing device for handling complex web service processes | |
Rukoz et al. | Faceta*: Checkpointing for transactional composite web service execution based on petri-nets | |
Fugini et al. | Recovery of faulty web applications through service discovery | |
He | Recovery in web service applications | |
JP2007529067A6 (en) | Method and apparatus for self-healing composite web service | |
Casati et al. | Error handling in process support systems | |
Ezenwoye et al. | A Proxy-Based Approach to Enhancing the Autonomic Behavior in Composite Services. | |
Alonso et al. | Processes in electronic commerce | |
Xiao et al. | Process dependencies and process interference rules for analyzing the impact of failure in a service composition environment | |
Fang et al. | Dynamic support for BPEL process instance adaptation | |
Ermagan et al. | A fault tolerance approach for enterprise applications | |
Alhosban et al. | Assessing fault occurrence likelihood for service-oriented systems | |
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 | |
Atluri et al. | Handling faults in composite webservices | |
Christos et al. | Towards Dynamic, Relevance-Driven Exception Resolution in Composite Web Services | |
Pataricza et al. | Verification and validation of Nonfunctional aspects in Enterprise modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080205 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100215 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100330 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100406 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |