JP4493692B2 - Self-healing device for handling complex web service processes - Google Patents

Self-healing device for handling complex web service processes Download PDF

Info

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
Application number
JP2007502349A
Other languages
Japanese (ja)
Other versions
JP2007529067A (en
JP2007529067A6 (en
Inventor
リー、イン
ユウ、シウ、ラン
チェン、イン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 Corp filed Critical International Business Machines Corp
Publication of JP2007529067A publication Critical patent/JP2007529067A/en
Publication of JP2007529067A6 publication Critical patent/JP2007529067A6/en
Application granted granted Critical
Publication of JP4493692B2 publication Critical patent/JP4493692B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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.

米国特許番号第6,330,689号B1US Patent No. 6,330,689 B1 米国特許公表番号第2002/0007468号A1US Patent Publication No. 2002/0007468 A1 米国特許公表番号第2003/0144894号A1US Patent Publication No. 2003/0144894 A1

従って、複合ウェブ・サービスのパートナーのウェブ・サービスに障害が発生した場合に、自己修復を実現できることが望まれる。自己修復とは、パートナーのウェブ・サービスに障害が生じた場合でも、ウェブ・サービス・プロセスがその元のサービス目標を実行し続けてこれを果たす能力を有することを意味する。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に説明される解決策は、リアルタイムの回復を実現することはできない。   Patent Document 1 discloses a system architecture that detects and recovers an application in which an out-of-process failure has occurred, where detection is performed by logging and reviewing, and recovery is a crashed application It is executed by restarting. However, the solution described in Patent Document 1 cannot achieve real-time recovery.

特許文献2は、ネットワーク・コンピュータ・システムの高可用性を実現するための方法及びシステムを開示する。全体的な高可用性は、各コンポーネントに高可用性を与えることにより実現される。しかしながら複合ウェブ・サービスでは、全てのパートナーのウェブ・サービスが高可用性をもつことは実際的ではない。   Patent Document 2 discloses a method and a system for realizing high availability of a network computer system. Overall high availability is achieved by giving each component high availability. However, in complex web services, it is not practical that all partner web services are highly available.

特許文献3は、ウェブを介して提供される永続サービスを生成し、管理するためのシステム及び方法を開示し、これは、個別サービスの自己修復に関するものである。特許文献3に述べられる解決法は、障害が生じた個別サービスを検出して再構築し、リアルタイムで再構築サービスを探索し、そのサービスを再び呼び出すために管理エージェント・モードを用いる。この特許は、サービスの信頼性を実現するために、各サービスが、該サービスにより定義された管理エージェント・モードに従うことを必要とする。   Patent document 3 discloses a system and method for generating and managing a persistent service provided via the web, which relates to self-healing of individual services. The solution described in Patent Document 3 uses a management agent mode to detect and reconstruct a failed individual service, search for the reconstructed service in real time, and call the service again. This patent requires each service to follow the management agent mode defined by the service in order to achieve service reliability.

本発明の第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, step 1 is executed first, then step 2A and step 2B are executed simultaneously, finally step 3 is executed, and step 2A and step 2B are , Call web services “WS2A” and “WS2B”, respectively.

パートナー・ウェブ・サービス・リポジトリは、代替ウェブ・サービスのコンテナであり、ここでは、複合ウェブ・サービス・プロセスにおいて呼び出されるべきウェブ・サービス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 steps 2A and 2B of FIG. Searching and in step S420 it is determined whether this step in the model definition invokes a partner web service. If it is determined in step S420 that the partner web service is not invoked, the flow proceeds to step S460 described below. If it is determined in step S420 that the partner web service is to be called, the repair logic generation device generates the repair logic in step S430, and the repair logic insertion device in step S440 performs steps (2A, 2B). The repair logic generated after is inserted, and this repair logic is searched by the model definition of the complex web service process, such as steps 2A-H and 2B-H in the self-healing process model of FIG. Invoking a web service call, these steps are used to detect whether the partner web service call was successful in the preceding steps 2A and 2B. The repair logic can determine whether the partner web service call was successful depending on whether the partner response was obtained.

ステップ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 step 2A is a system level exception. System level exceptions refer to exceptions caused by system failures, network failures, and application defects. In this case, the repair logic 2A-H calls the repair tool WS2A-Healer. FIG. 5 shows a flowchart of the basic process of the repair tool. In step S510, the repair tool WS2A-Healer selects an alternative web service to be called according to the above-described alternative web service selection policy, for example, WS2A_alternative_1, and calls the alternative web service in step S520. The remediation tool can also record as a collaboration log with the partner web service provider about when and which partner web service is unavailable. The remediation tool can also communicate with a partner web service repository to participate in an alternative web service call level assessment.

上述のプロセスを通して、既存の複合ウェブ・サービス・プロセスは、ウェブ・サービス・プロセス・エンジン上で実行される自己修復機能を有する自己修復複合ウェブ・サービス・プロセスとなる。複合ウェブ・サービス・プロセスの自己修復プロセスは、図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.

複合ウェブ・サービスの例を示す。An example of a composite web service is shown. BPEL4WSプロセスの概略図を示す。Figure 2 shows a schematic of the BPEL4WS process. 複合ウェブ・サービス・プロセスに、本発明による自己修復能力を与えるための関連装置を概略的に示す。1 schematically illustrates an associated apparatus for providing self-healing capabilities in accordance with the present invention to a composite web service process. 複合ウェブ・サービス・プロセスに、本発明による自己修復能力を与えるための方法のフローチャートを示す。Fig. 4 shows a flowchart of a method for providing a complex web service process with self-healing capabilities according to the present invention. 修復ツールの基本プロセスのフローチャートを示す。2 shows a flowchart of the basic process of the repair tool. 複合ウェブ・サービス・プロセスの自己修復のフローチャートを示す。Fig. 3 shows a flowchart of a self-healing of a complex web service process. BPEL4WSプロセスの例を示す。An example of a BPEL4WS process is shown. 図7に示す例の自己修復BPEL4WSプロセスを示す。FIG. 8 illustrates the example self-healing BPEL4WS process shown in FIG. プロセス・エンジンが、活動の実施において、どのようにしてパートナーのウェブ・サービスを呼び出すかを示す。Shows how the process engine invokes the partner's web service in performing the activity. 本発明による自己修復プロセス・エンジンを示す。1 illustrates a self-healing process engine according to the present invention.

Claims (4)

少なくとも1つの基本ウェブ・サービスを呼び出す複合ウェブ・サービス・プロセスを処理するための自己修復装置であって、前記基本ウェブ・サービスに、前記基本ウェブ・サービスから独立しており、対応する基本ウェブ・サービスの少なくとも1つの機能を実施する少なくとも1つの代替ウェブ・サービスを設けるための代替ウェブ・サービス・リポジトリと、前記複合ウェブ・サービス・プロセスのモデル定義を解析して、前記基本ウェブ・サービスの呼び出しを起動するステップを識別するためのモデル解析手段と、前記複合ウェブ・サービス・プロセスの前記モデル定義により識別された、前記基本ウェブ・サービスの呼び出しを起動する前記ステップの後に、修復論理を挿入する修復論理挿入手段と、を含み、前記複合ウェブ・サービス・プロセスの実行中に、前記基本ウェブ・サービスの以前の呼び出しが失敗したかどうかを前記修復論理が検出し、呼び出しの失敗が検出された場合には、呼び出しが失敗した前記基本ウェブ・サービスに対応して、前記修復論理が前記代替ウェブ・サービス・リポジトリから前記代替ウェブ・サービスを呼び出すようにした、装置。  A self-healing device for processing a complex web service process that invokes at least one basic web service, wherein the basic web service is independent of the basic web service and has a corresponding basic web service Invoking the basic web service by analyzing a model definition of the composite web service process and an alternative web service repository for providing at least one alternative web service for performing at least one function of the service Model analysis means for identifying the step of invoking and inserting the repair logic after the step of invoking the basic web service call identified by the model definition of the composite web service process Repair logic insertion means, and the composite web During execution of a service process, the repair logic detects whether a previous call of the basic web service has failed, and if a call failure is detected, the basic web service for which the call failed Correspondingly, the apparatus causes the repair logic to invoke the alternative web service from the alternative web service repository. 前記修復論理を生成するための修復論理生成手段をさらに含む、請求項に記載の装置。Further comprising a restoration logic generation means for generating said repair logic device according to claim 1. 前記修復論理が、前記基本ウェブ・サービスから応答が取得されたか否かに応じて、前記基本ウェブ・サービスの呼び出しが失敗したかどうかを判断することを特徴とする、請求項に記載の装置。The repair logic, depending on whether the response from the base web service is acquired, the basic call web services and wherein the determining whether the failure, according to claim 1 . 前記代替ウェブ・サービス・リポジトリ内に設けられた前記代替ウェブ・サービスが、複数の呼び出しレベルに分割され、これに基づいて、前記修復論理が前記代替ウェブ・サービスを呼び出すことを特徴とする、請求項に記載の装置。The alternative web service provided in the alternative web service repository is divided into a plurality of call levels, based on which the repair logic invokes the alternative web service. Item 2. The apparatus according to Item 1 .
JP2007502349A 2004-03-12 2005-03-10 Self-healing device for handling complex web service processes Expired - Fee Related JP4493692B2 (en)

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)

* 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
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

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