KR100819032B1 - Apparatus and method for automatic recovery for web services-based business process - Google Patents

Apparatus and method for automatic recovery for web services-based business process Download PDF

Info

Publication number
KR100819032B1
KR100819032B1 KR1020060082304A KR20060082304A KR100819032B1 KR 100819032 B1 KR100819032 B1 KR 100819032B1 KR 1020060082304 A KR1020060082304 A KR 1020060082304A KR 20060082304 A KR20060082304 A KR 20060082304A KR 100819032 B1 KR100819032 B1 KR 100819032B1
Authority
KR
South Korea
Prior art keywords
execution
business process
recovery
model
automatic recovery
Prior art date
Application number
KR1020060082304A
Other languages
Korean (ko)
Other versions
KR20070061278A (en
Inventor
문진영
김록원
김연준
이대하
조현성
김경일
정문영
송병열
조영조
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20070061278A publication Critical patent/KR20070061278A/en
Application granted granted Critical
Publication of KR100819032B1 publication Critical patent/KR100819032B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 실행 도중 시스템 에러로 실행이 중단된 웹 서비스 기반의 비즈니스 프로세스의 복구 장치 및 방법에 관한 것으로 상기 비즈니스 프로세스의 실행 특성에 따라 자동 복구 정책을 상기 프로세스 설계 과정에서 미리 설정하는 비즈니스 프로세스 자동 복구 속성 설정부, 상기 프로세스의 실행 진행 상황을 순차적으로 기록하는 저장부 및 상기 기설정된 자동 복구 정책을 인출하여 상기 비즈니스 프로세스의 실행 진행 상황을 기초로 상기 프로세스의 실행을 복구하는 비즈니스 프로세스 자동 복구부를 포함하여 구성된다. 웹서비스 기반의 비즈니스 프로세스의 복구에 있어 인간의 개입을 최소화하고, 프로세스 관리자의 판단 착오로 인해 수동 복구 중에 발생할 할 수 있는 오류를 방지할 수 있다.The present invention relates to an apparatus and method for recovering a web service based business process that has been suspended due to a system error during execution. The present invention relates to an automatic process for automatically recovering a business process based on an execution characteristic of the business process. An attribute setting unit, a storage unit for sequentially recording the execution progress of the process, and a business process automatic recovery unit for retrieving the execution of the process based on the execution progress of the business process by retrieving the predetermined automatic recovery policy; It is configured by. Minimize human involvement in the restoration of web services based business processes and prevent errors that can occur during manual recovery due to process manager's misunderstanding.

시스템 오류, 웹서비스, 비즈니스 프로세스, 자동 복구 정책 System Failure, Web Service, Business Process, Auto Recovery Policy

Description

웹 서비스로 구성된 비지니스 프로세스 자동 복구 장치 및 방법{Apparatus and method for automatic recovery for web services-based business process} Apparatus and method for automatic recovery for web services-based business process}

도 1은 본 발명에 따른 웹 서비스로 구성된 비즈니스 프로세스에 복구 정책설정 및 시스템 에러 발생 후 실행 중단되었던 비즈니스 프로세스의 자동 복구 장치 구성도1 is a block diagram of an automatic recovery device for a business process that has been suspended after a recovery policy setting and a system error in a business process composed of a web service according to the present invention.

도 2는 본 발명에 따른 웹 서비스로 구성된 비즈니스 프로세스에 복구 정책설정 및 시스템 에러 발생 후 실행 중단되었던 비즈니스 프로세스의 자동 복구 방법에 대한 흐름도2 is a flowchart illustrating an automatic recovery method of a business process that has been suspended after setting a recovery policy and a system error in a business process composed of a web service according to the present invention.

도 3은 본 발명의 바람직한 일실시예에 따른 복구 정책이 " 계속실행 "으로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도3 is a flowchart illustrating a business process recovery method composed of a web service when the recovery policy is set to "continue execution" according to an embodiment of the present invention.

도 4는 본 발명의 바람직한 일실시예에 따른 복구 정책이 " 재시작 "으로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도4 is a flowchart illustrating a business process recovery method composed of a web service when the recovery policy is set to "restart" according to an exemplary embodiment of the present invention.

도 5는 본 발명의 바람직한 일실시예에 따른 복구 정책이 " 역방향 복구 "로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도5 is a flowchart illustrating a business process recovery method composed of a web service when the recovery policy is set to "reverse recovery" according to an exemplary embodiment of the present invention.

도 6은 본 발명의 바람직한 일실시예에 따른 복구 정책이 " 역방향 복구 후 재시작 "으로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도6 is a flowchart illustrating a business process recovery method composed of a web service when the recovery policy is set to "restart after reverse recovery" according to an exemplary embodiment of the present invention.

도 7은 본 발명의 바람직한 일실시예에 따른 복구 정책이 " 수동복구 알림 "으로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도이다.7 is a flowchart illustrating a business process recovery method configured as a web service when the recovery policy is set to "manual recovery notification" according to an embodiment of the present invention.

본 발명은 웹 서비스로 구성된 비즈니스 프로세스 복구 장치 및 그 방법에 관한 것으로, 상세하게는 실행 도중 시스템 에러로 실행이 중단된 경우, 미리 설정된 복구 정책에 따라 웹 서비스로 구성된 비즈니스 프로세스를 자동으로 복구하는 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for recovering a business process composed of a web service. Specifically, an apparatus for automatically recovering a business process composed of a web service according to a preset recovery policy when execution is stopped due to a system error during execution. And to a method.

웹 서비스(Web Services)란 벤더 중립적인 초경량의 통신 프로토콜을 통해 네트워크상의 다른 시스템으로부터의 XML(Extensible Markup Language) 포맷의 요청을 받는 모듈형 애플리케이션이다. 정의에 의하면 웹 서비스를 요청하는 주체는 네트워크 상의 다른 시스템이므로 웹 서비스는 새로운 분산 컴퓨팅 기술이다. 사용되는 프로토콜의 초경량화를 위해서 보안, 트랙젝션 관리 등은 다른 확장 스펙에서 처리하도록 한다. Web Services are modular applications that accept requests in Extensible Markup Language (XML) format from other systems on the network through vendor-neutral, ultra-lightweight communication protocols. By definition, web services are a new distributed computing technology because the subjects requesting them are other systems on the network. To make the protocols lightweight, security, transaction management, etc. are handled by other extension specifications.

그리고 벤더 중립적으로 개방형 프로토콜을 사용하여 웹 서비스 스택을 구현한 시스템이라면 운영 체제에 상관없이 상호 운영성을 가지게 된다. 현재 웹 서비스를 위한 기본 표준에는 웹 서비스가 제공하는 서비스가 무엇인지, 그 웹 서비스에 어떻게 접근하는지, 예상되는 응답의 타입이 무엇인지를 기술하는 WSDL(Web Service Description Language), XML 기반의 메시징 프로토콜인 SOAP(Simple Object Access Protocol), 웹 서비스의 등록과 검색을 위한 디렉토리 서비스인 UDDI(Universal Description, Discovery and Integration)가 있다. And a system that implements a Web services stack using vendor-neutral open protocols will be interoperable regardless of operating system. The current standard for web services includes the Web Service Description Language (WSDL), an XML-based messaging protocol that describes what services a web service provides, how to access the web service, and what type of response is expected. Simple Object Access Protocol (SOAP), Universal Description, Discovery and Integration (UDDI), a directory service for registering and retrieving Web services.

네트워크에 접근 가능하고, XML을 인식하는 모든 애플리케이션은 이 표준들을 사용함으로써 프로그래밍 언어나 운영체제에 관계없이 웹 서비스를 호출할 수 있는 것이다.Any application that is network-accessible and XML-aware can use these standards to invoke Web services regardless of programming language or operating system.

따라서, 기존의 레거시 애플리케이션(Legacy Application)들은 웹 서비스로 등록되는 절차를 거친 뒤에 네트워크를 통해 다른 애플리케이션에서 호출하여 사용할 수 있게 되었다. 이런 특성으로 인해 웹 서비스가 분산 환경에서의 통합을 위한 획기적인 솔루션으로 떠오르고 있다. 특히 EAI(Enterprise Application Integration)나 B2B(Business to Business) 애플리케이션, 인트라넷(Intranet)의 컴포넌트(Component) 재사용에 효과적으로 사용될 것으로 기대되고 있다.Therefore, legacy applications can be called and used by other applications through the network after being registered as web services. These characteristics make Web services an innovative solution for integration in distributed environments. In particular, it is expected to be effectively used for component reuse of enterprise application integration (EAI), business to business (B2B) applications, and intranets.

기본 표준인 WSDL, SOAP, UDDI를 통해서는 하나의 웹 서비스에 의한 서비스만 가능하다. 그러나 실제 웹 서비스를 이용해서 제공하고자 하는 서비스는 훨씬 복잡하다.Only basic web services are available through WSDL, SOAP, and UDDI. However, the service you want to provide using a real web service is much more complicated.

비즈니스 프로세스(Business Process)란 복수 개의 비즈니스 액티버티들의 코리어그래피(choreography)한 시퀀스를 말한다. 예를 들어, 인터넷에서 상품 구매하는 비즈니스 프로세스를 웹 서비스로 구현하기 위해서는 소비자가 해당 상품에 대한 구매를 요청하는 웹 서비스, 요청한 상품의 재고를 조사하는 웹 서비스, 재고가 있는 경우 판매하겠다는 의사를 전달하는 웹 서비스, 재고가 없는 경우 품절임 을 알리는 웹 서비스, 소비자의 입금을 확인하는 웹 서비스, 택배 회상 물품 운송을 요청하는 웹 서비스 등 여러 개의 웹 서비스가 비즈니스 로직에 따라 연결되고 조직화되어야 한다. A business process is a choreography sequence of a plurality of business activities. For example, in order to implement a business process of purchasing goods on the Internet as a web service, a web service requesting a consumer to purchase the product, a web service that examines the stock of the requested product, and a willingness to sell if there is stock Several web services need to be connected and organized according to business logic, such as web services that do not run out of stock, web services that notify you of out-of-stocks, web services that confirm consumer deposits, and web services that require parcel delivery.

이러한 비즈니스 프로세스를 웹 서비스 컴포지션으로 표현하기 위한 W3C사의 WSCI(Web Service Choreography Interface)와, IBM사와 마이크로소프트사의 BPEL4WS(Business Process Execution Language for Web Service), BPMI.org(Business Process Management Initiative)의 BPML(Business Process Modeling Language)등이 등장하였다. 이 중에서, 실행 가능한 내부 프로세스를 기술하는 웹 서비스 컴포지션 표준에는 BPEL4WS와 BPML 등이 있다.W3C's Web Service Choreography Interface (WSCI) to represent these business processes as Web service compositions, and BPML (Business Process Management Language for Web Services) and Business Process Management Initiative (BPMI.org) from IBM and Microsoft. Business Process Modeling Language). Among these, Web service composition standards describing executable internal processes are BPEL4WS and BPML.

각각의 스펙을 따라 XML 문서로 기술된 실행 가능한 비즈니스 프로세스는 특정 스펙 기반의 비즈니스 프로세스 실행 시스템에서 실행된다. 예를 들어 BPEL을 따르는 비즈니스 프로세스는 BPEL 실행 엔진에서 실행된다. 따라서 웹서비스 기술은 웹서비스 컴포지션 스펙을 따르는 비즈니스 프로세스를 통해 특정 프로그래밍 언어 기반의 코드 생성없이 애플리케이션을 개발하는 새로운 애플리케이션 개발 방법으로 부각되고 있다. Following each specification, an executable business process described as an XML document runs in a business process execution system based on a specific specification. For example, a BPEL-compliant business process runs on the BPEL execution engine. Therefore, Web services technology is emerging as a new application development method for developing applications without generating code based on a specific programming language through a business process following the web services composition specification.

웹서비스 기술이 빠르고 저비용으로 기존의 컴포넌트를 활용하여 점진적으로 소프트웨어를 개발 방법을 제시하고 있으나, 웹서비스 기술이 현장에서 안정적으로 사용되기 위해서는 웹서비스의 신뢰성 보장 문제가 우선적으로 해결되어야 한다. 웹서비스 컴포지션 스펙에서는 특정 액티비티의 신뢰성 보장을 위해 폴트 발생에 대한 폴트 처리부와 특정 영역을 트랜잭션화하기 위해서 영역의 실행 결과를 되돌 리는 보상 처리부를 제공하고 있다. 실제 보상 처리부가 제대로 수행되기 위해서 웹서비스 기반 트랜잭션 스펙도 함께 연동되고 있다. While web services technology is fast and low cost, it is suggested to develop the software gradually by using existing components. However, in order to use web service technology stably in the field, the problem of guaranteeing the reliability of web services should be solved first. The web service composition specification provides a fault processing unit for fault occurrence to ensure the reliability of a specific activity and a compensation processing unit that returns the execution result of a zone to transact a specific area. In order to properly execute the compensation processing unit, the web service based transaction specification is also linked.

그런데 웹서비스 컴포지션 스펙에서 제공하는 폴트 처리와 보상만으로는 수행 중 발생하는 논리적 에러를 처리할 수 있을 뿐 시스템 에러로 인해서 중단된 비즈니스 프로세스의 실행을 복구할 수는 없다. 왜냐하면 시스템 복구 후에 프로세스를 복구하려고 할 때 어느 액티비티까지는 실행 완료하고 어느 부분을 하던 도중에 중단되었는지는 알아도, 처음부터 다시 해야할지 중단된 시점부터 새로 시작해야 하는지 등 어떤 복구 조치를 취해야 하는지의 정보를 포함하지 않기 때문이다. 따라서 시스템 에러 등으로 실행 중단된 비즈니스 프로세스를 시스템 복구 후에 적절한 복구 조치를 통해 자동으로 복구하는 기술이 요구된다. However, fault handling and compensation provided by the web service composition specification can only handle logical errors that occur during execution, but cannot recover the execution of business processes that were interrupted due to system errors. Because when you try to recover a process after a system recovery, you know which activities are finished running and where you left off while you were doing it, but they do not contain information about what recovery actions you need to take, such as starting from scratch or starting from where you left off. Because it does not. Therefore, there is a need for a technology that automatically recovers a business process that has been stopped due to a system error and then automatically recovers the system through appropriate recovery measures.

본 발명은 상기 문제점을 해결하기 위하여, 미리 설계 과정에서 실행 도중 시스템 에러로 중단된 경우에 대한 자동 복구 정책을 설정하여 웹 서비스 기반의 비즈니스 프로세스를 자동으로 복구함으로써, 웹서비스 기반의 비즈니스 프로세스의 복구에 있어 인간의 개입을 최소화하고, 프로세스 관리자의 판단 착오로 인해 수동 복구 중에 발생할 할 수 있는 복구 오류를 최소화할 수 있는 웹서비스 기반 비즈니스 프로세스 자동 복구 방법 및 시스템을 제공하는데 그 목적이 있다.In order to solve the above problems, the present invention is to recover a web service based business process by automatically restoring a web service based business process by setting an automatic recovery policy for a case where it is interrupted by a system error during execution in the design process in advance. The purpose of the present invention is to provide a web service-based business process automatic recovery method and system that can minimize human intervention and minimize the recovery error that can occur during manual recovery due to the error of process manager.

상기 본원 발명의 바람직한 일실시예로 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 장치는 실행 시스템 자체의 에러로 웹 서비스로 구성된 비즈니스 프 로세스의 실행이 중단시 상기 비즈니스 프로세스의 실행 특성에 따라 중단 시점 이후의 상기 비즈니스 프로세스의 진행에 대한 자동 복구 정책을 상기 프로세스 설계 과정에서 미리 설정하는 비즈니스 프로세스 자동 복구 속성 설정부, 상기 시스템 에러 발생 시점까지 상기 비즈니스 프로세스의 실행 진행 상황을 순차적으로 기록하는 저장부 및 시스템 에러 발생시 상기 기설정된 자동 복구 정책을 인출하여 상기 자동 복구 정책에 따라 상기 저장부에 기록된 상기 비즈니스 프로세스의 실행 진행 상황을 기초로 상기 프로세스의 실행을 복구하는 비즈니스 프로세스 자동 복구부를 포함하여 구성된다.In a preferred embodiment of the present invention, the business process automatic recovery apparatus composed of the web service is the error after the interruption time according to the execution characteristics of the business process when the execution of the business process composed of the web service is interrupted by an error of the execution system itself. A business process automatic recovery property setting unit which sets an automatic recovery policy for the progress of a business process in the process design process, a storage unit that sequentially records the progress of execution of the business process until a system error occurs, and a system error occurrence. And a business process automatic recovery unit for retrieving the execution of the process on the basis of the execution progress of the business process recorded in the storage unit according to the automatic recovery policy by drawing out the preset automatic recovery policy. It is made.

상기 본원 발명의 바람직한 일실시예로 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법은 실행 시스템 자체의 에러로 웹 서비스로 구성된 비즈니스 프로세스의 실행이 중단시 상기 비즈니스 프로세스의 실행 특성에 따라 중단 시점 이후의 상기 비즈니스 프로세스의 진행에 대한 자동 복구 정책을 상기 프로세스 설계 과정에서 미리 설정하는 단계, 상기 비즈니스 프로세스의 실행이 상기 실행 시스템의 에러로 실행 중단되는 경우 상기 기설정된 자동 복구 정책을 인출하는 단계 및 저장 장치에 기록된 상기 비즈니스 프로세스의 실행 진행 상황을 기초로 상기 인출된 자동 복구 정책에 따라 상기 프로세스의 실행을 복구하는 단계를 포함하여 구성된다.According to an exemplary embodiment of the present invention, a method for automatically recovering a business process composed of a web service may include the business after the point of interruption according to an execution characteristic of the business process when the execution of the business process consisting of the web service is interrupted due to an error of the execution system itself. Presetting an automatic recovery policy for the progress of the process in the process designing process; if the execution of the business process is interrupted due to an error of the execution system, fetching the preset automatic recovery policy, and writing to a storage device Restoring execution of the process according to the retrieved automatic recovery policy based on the execution progress of the business process.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또 한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.

이하에서, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예에 대하여 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment according to the present invention.

도 1은 본 발명에 따른 웹 서비스로 구성된 비즈니스 프로세스에 복구 정책설정 및 시스템 에러 발생 후 실행 중단되었던 비즈니스 프로세스의 자동 복구 장치 구성도이다.1 is a block diagram of an automatic recovery apparatus for a business process that is suspended after execution of a recovery policy setting and a system error in a business process composed of a web service according to the present invention.

먼저 비즈니스 프로세스의 실행과 관련하여 XML 문서로 기술된 비즈니스 프로세스가 실행 엔진에서 수행되기 위해서는 각 액티비티 별 상태 등의 추가 정보를 담은 비즈니스 프로세스 실행 모델이 필요하다. 따라서 상기 XML 기반의 웹 서비스로 구성된 비즈니스 프로세스는 상기 실행 모델을 생성하고 복구하는 과정을 가지게 된다. 이하 웹 서비스로 구성된 비즈니스 프로세스를 웹 서비스 기반 비즈니스 프로세스로 표현한다.First, in order for a business process described as an XML document to be executed in the execution engine in relation to the execution of a business process, a business process execution model with additional information such as the status of each activity is required. Therefore, the business process composed of the XML-based web service has a process of generating and restoring the execution model. Hereinafter, a business process composed of web services is expressed as a web service based business process.

도 1을 참조하면, 웹서비스 기반 비즈니스 프로세스 자동 복구 시스템은 웹서비스 기반 비즈니스 프로세스(101)에 자동복구 정책 등의 복구 관련 속성을 설정하여 상기 비즈니스 프로세스를 확장(103)하는 비즈니스 프로세스 자동 복구 속성 설정부(102), 웹서비스 기반 비즈니스 프로세스를 실행 모델로 변환시키는 비즈니스 프로세스 실행 모델 생성부(105), 실행 모델을 실제 실행하는 비즈니스 프로세스 실행 모델 실행부(106), 시스템 에러 등으로 실행 중단된 프로세스의 실행 모델 을 복구하는 비즈니스 프로세스 실행 모델 자동 복구부(107) 및 자동 복구를 위해서 복구 직전까지 수행 기록을 저장하는 저장부(108)를 포함한다. Referring to FIG. 1, the web service based business process automatic recovery system sets a business process auto recovery property setting to extend 103 the business process by setting recovery related properties such as an auto recovery policy in the web service based business process 101. Part 102, a business process execution model generation unit 105 for converting a web service based business process into an execution model, a business process execution model execution unit 106 that actually executes the execution model, a process suspended due to a system error, etc. The business process execution model automatic recovery unit 107 for restoring the execution model of the storage unit for storing the performance record until just before the recovery for automatic recovery.

도 2는 본 발명에 따른 웹 서비스로 구성된 비즈니스 프로세스에 복구 정책설정 및 시스템 에러 발생 후 실행 중단되었던 비즈니스 프로세스의 자동 복구 방법에 대한 흐름도이다.2 is a flowchart illustrating a method for automatically recovering a business process that has been suspended after setting a recovery policy and a system error in a business process composed of a web service according to the present invention.

도 2를 참조하면, 웹서비스 기반 비즈니스 프로세스(200)는 비즈니스 프로세스 복구 속성 설정(201)에 의해 웹서비스 기반 확장 비즈니스 프로세스(207)로 확장되고 이렇게 확장된 비즈니스 프로세스는 복구 가능한 실행 시스템(104)에서 실행된다. 실행에 관련하여 비즈니스 프로세스 실행 모델 생성부에서 상기 비즈니스 프로세스가 실행 시스템에서 수행되는 실행 모델(202)로 변환된 후 상기 비즈니스 프로세스 실행부에 의해 실행 완료시(209)까지 실행된다(203). 시스템 에러(204)로 인해서 상기 실행이 중단되면 시스템 복구(205) 후에 비즈니스 프로세스 실행 모델 복구부를 통해 설정된 자동복구 정책에 따라 중단된 비즈니스 프로세스 실행 모델을 복구한다(206). 모델 복구 후 다시 실행 시스템을 통해 실행을 재개할지는 설정된 복구 정책에 따라 달라진다. Referring to FIG. 2, the web service based business process 200 is extended to the web service based extended business process 207 by the business process recovery attribute setting 201, and this expanded business process is the recoverable execution system 104. Is run on In relation to the execution, the business process is converted from the business process execution model generation unit to the execution model 202 performed in the execution system, and then executed by the business process execution unit until completion of execution 209 (203). If the execution is interrupted due to the system error 204, the system process 205 recovers the suspended business process execution model according to the auto recovery policy set through the business process execution model recovery unit after the system recovery 205 (206). Redo after model recovery Whether or not execution resumes through the system depends on the recovery policy set.

비즈니스 프로세스 자동 복구 설정부는 웹서비스 기반 비즈니스 프로세스를 입력받아 이 XML 문서에 확장 엘리먼트를 추가하여 이 프로세스에 대한 복구 정책을 설정하는 모듈로 결과 복구 정책을 설정한 확장 비즈니스 프로세스가 만들어진다. The business process auto-recovery configuration unit receives a web service-based business process and adds an extension element to this XML document to set a recovery policy for this process. An extended business process with a result recovery policy is created.

복구 정책은 실행 계속, 재시작, 역방향 복구, 역방향 복구 후 재시작, 수동 복구알림 네 가지 중 하나를 취한다. 실행 계속은 실행이 중단된 시점부터 실행을 재개하는 것이다. 재시작은 이 프로세스가 한번도 수행되지 않은 것처럼 처음부터 새로 실행하는 것이며 역방향 복구는 중단되기 전까지 정상적으로 실행 종료한 액티비티들의 역순으로 역방향으로 액티비티 실행 효과를 되돌리는 것이다. 역방향 복구 후 재시작은 역방향 복구 후에 처음부터 다시 실행 모델을 실행하는 것을 말한다. 각 복구 정책에 따른 복구 조치는 각 정책별로 이하 도 3부터 도 7에서 설명하기로 한다.The recovery policy takes one of four things: continue execution, restart, reverse recovery, restart after reverse recovery, and manual recovery notification. Execution of execution is to resume execution from the point where execution was interrupted. Restarting is a new run from the beginning, as if this process had never been done, and reverse recovery reverses the effect of running the activity in the reverse order of activities that terminated normally before stopping. Restart after reverse recovery is to execute the execution model from the beginning after reverse recovery. Recovery measures according to each recovery policy will be described below with reference to FIGS. 3 to 7.

도 3은 본 발명의 바람직한 일실시예에 따른 복구 정책이 "계속실행"으로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도이다.3 is a flowchart illustrating a business process recovery method configured as a web service when the recovery policy is set to "continue execution" according to an exemplary embodiment of the present invention.

도 3을 참조하면, 복구 정책이 "계속실행"으로 설정한 경우의 웹서비스 기반 비즈니스 프로세스 복구 방법을 보여준다. 먼저 웹서비스 기반 확장 비즈니스 프로세스에서 설정된 복구 모델을 조회한다. 복구 정책이 "계속실행"인 경우 프로세스 모델의 실행 진행 상태를 기록한 저장부를 통해 중단직전까지의 비즈니스 프로세스 실행모델을 복원한다. 그런 다음, 복원된 실행 모델은 중단된 부분부터 다시 실행하기 위해서 실행 시스템에 전달된다.Referring to FIG. 3, it shows a web service based business process recovery method when the recovery policy is set to "continue execution." First, the recovery model set in the web service based extended business process is queried. If the recovery policy is "Continue running", restore the business process execution model up to the point of interruption through the storage that records the progress of the execution of the process model. The restored execution model is then passed to the execution system to resume execution from where it left off.

복구정책이 상기 "계속실행" 인 일실시예로, 가정에서의 홈 오토메이션 중 실내 온도 조절에 대한 웹서비스 기반의 비즈니스 프로세스(TemperatureControlOfRoom)를 BPEL 기반 XML 상의 필요한 요소로 나타내면 다음과 같다. In one embodiment where the recovery policy is " continue execution ", a web service-based business process (TemperatureControlOfRoom) for controlling room temperature during home automation at home is represented as a necessary element in the BPEL-based XML.

<process name="TemperatureControlOfRoom "..><process name = "TemperatureControlOfRoom" ..>

<variables>   <variables>

<variable name="RegulationTemperature" type="xsd:integer"/>      <variable name = "RegulationTemperature" type = "xsd: integer" />

<variable name="CurrentTemperature" type="xsd:integer"/>      <variable name = "CurrentTemperature" type = "xsd: integer" />

...      ...

<variables>   <variables>

<sequence>   <sequence>

<receive name="ReceivingRequestForTemperatureControl".../>      <receive name = "ReceivingRequestForTemperatureControl" ... />

<copy>      <copy>

<from>25</from>         <from> 25 </ from>

<to variable="RegulationTemeprature"/>         <to variable = "RegulationTemeprature" />

</copy>      </ copy>

<while name="loop" condition="...">      <while name = "loop" condition = "...">

<sequence>       <sequence>

<invoke="RequestCurrentTemperature" Variable="temperature".../>       <invoke = "RequestCurrentTemperature" Variable = "temperature" ... />

<switch name="ComparisonBetweenCurrentandRegulation">       <switch name = "ComparisonBetweenCurrentandRegulation">

<case condition="CurrentTemperature-RegulationTemperature>2">         <case condition = "CurrentTemperature-RegulationTemperature> 2">

<invoke name="RequestCoolingOperation"/>         <invoke name = "RequestCoolingOperation" />

</case>         </ case>

<case condition="CurrentTemperature-RegulationTemperature<-2">         <case condition = "CurrentTemperature-RegulationTemperature <-2">

<invoke name="RequestHeatingOperation"/>         <invoke name = "RequestHeatingOperation" />

</case>         </ case>

</switch>      </ switch>

<wait for="10M"/>      <wait for = "10M" />

</sequence>      </ sequence>

</while>     </ while>

<reply name="StoppingTemperatureControl".../>    <reply name = "StoppingTemperatureControl" ... />

</sequence>  </ sequence>

</process></ process>

상기 프로세스는 희망조절온도(RegulationTemperature)를 25도로 설정하고(copy 엘레멘트) 10분마다 주기적으로(while 엘리멘트) 현재 기온(CurrentTemperature)을 측정하여(invoke 엘리먼트) 현재 기온이 희망온도보다 2도 보다 더 높으면 냉방시스템을 호출하고, 현재 기온이 희망온도보다 2도 보다 더 낮으면 난방시스템을 호출한다.The process sets the RegulationTemperature to 25 degrees (copy element) every 10 minutes (while element) and measures the CurrentTemperature (invoke element) so that the current temperature is higher than 2 degrees above the desired temperature. Call the cooling system, and call the heating system if the current temperature is lower than 2 degrees below the desired temperature.

본 프로세스의 복구 정책을 "계속실행"으로 설정한 경우, 수행중이던 상태 어디에서 다시 수행을 하더라도 현재 기온을 희망조절온도로 유지하는데 무리가 없다. 왜냐하면 희망온도를 다시 설정하든지, 현재 기온을 측정하던지, 현재 기온에 따라 냉방 또는 난방을 하던지 어느 단계부터 재시작해도 전체 프로세스에 영향을 미치지 않기 때문이다. 만약 복구 정책을 설정하지 않은 경우라면 프로세스 관리자가 현재 프로세스의 기능과 의미 정보를 파악해서 현재 프로세스를 복구해야 하는지 않아야 하는지를 점검해야하고, 수동으로 다시 배치한 뒤에 어디서부터 다시 시 작해야 할지를 점검해야 하는 불편이 따른다. 관련하여 본 프로세스의 복구정책을 "재시작"으로 설정해도 무관하나 이 경우에는 희망조절온도를 다시 설정하는 절차를 추가로 해 주어야 하므로 "계속실행" 이 더 적합하다고 할 수 있다. If the recovery policy of this process is set to "Continue running", it is not unreasonable to keep the current temperature at the desired control temperature even if it is performed again wherever it was running. Because resetting the desired temperature, measuring the current temperature, cooling or heating depending on the current temperature, restarting at any stage does not affect the overall process. If you do not have a recovery policy set up, process managers should identify the current process's capabilities and semantic information to see if they should or should not recover the current process, and then manually redeploy and then where to start again. Inconvenience follows. In this regard, the recovery policy of this process may be set to "restart", but in this case, "continue execution" is more appropriate because it requires an additional procedure for resetting the desired control temperature.

도 4는 본 발명의 바람직한 일실시예에 따른 복구 정책이 "재시작"으로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도이다.4 is a flowchart illustrating a business process recovery method configured as a web service when the recovery policy is set to "restart" according to an embodiment of the present invention.

도 4를 참조하면, 상기 복구 정책을 "재시작"으로 설정한 경우의 웹서비스 기반 비즈니스 프로세스 복구 방법을 보여준다. 먼저 웹서비스 기반 확장 비즈니스 프로세스에서 설정된 복구 모델을 조회한다. 복구 정책이 "재시작"인 경우 비즈니스 프로세스 실행 모델을 초기화한다. 그런 다음 초기화된 비즈니스 프로세스 실행 모델을 실행 시스템에 전달한다. 그러면 실행 시스템에서는 이 실행 모델을 마치 처음 수행하는 것처럼 수행하게 된다.Referring to FIG. 4, it shows a web service based business process recovery method when the recovery policy is set to "restart". First, the recovery model set in the web service based extended business process is queried. If the recovery policy is "Restart", initialize the business process execution model. It then passes the initialized business process execution model to the execution system. The execution system then executes this execution model as if it were the first time.

복구정책이 상기 "재시작" 인 일실시예로, 가정내 특정 디바이스(예를 들어, 홈 로봇 또는 홈 오디오, 홈 TV 등등)를 통해서 아침마다 간단한 브리핑(Morning Briefing)을 받는 프로세스를 BPEL 기반 XML 상의 필요한 요소로 나타내면 다음과 같다. In one embodiment, where the recovery policy is "restart", the process of receiving a brief briefing (Morning Briefing) every morning through a specific device in the home (e.g., home robot or home audio, home TV, etc.) is described in BPEL-based XML. The necessary elements are as follows.

<process name = Morning Briefing.../><process name = Morning Briefing ... />

<sequence>   <sequence>

<receive name="ReceivingRequestForMorningBriefing".../>      <receive name = "ReceivingRequestForMorningBriefing" ... />

<sequence name="briefing">      <sequence name = "briefing">

<invoke name="Today'sAppointment".../>         <invoke name = "Today'sAppointment" ... />

<invoke name="Today'sWeatherForecast".../>         <invoke name = "Today'sWeatherForecast" ... />

<invoke name="Today'sTODOList".../>         <invoke name = "Today'sTODOList" ... />

</sequence>      </ sequence>

<reply name="EndOfMorningBriefing" .../>     <reply name = "EndOfMorningBriefing" ... />

</sequence>   </ sequence>

</process></ process>

본 프로세스는 가정내 한 디바이스(예를 들어, 홈로봇 또는 홈 오디오, 홈 TV 등등)를 통해서 아침에 간단한 브리핑(Morning Briefing) 받는 프로세스로서 우선 아침 브리핑에 대한 요청이 들어오면 그날의 약속(Today's Appointment), 날씨정보(WeatherForcast), 할 일(TODOList)을 차례로 알려준다. 본 프로세스의 복구 정책을 "재시작"으로 설정한 경우, 오늘의 약속에 대해서 알려주다가 셧다운 된 경우, 자동 복구를 통해 다시 처음부터 약속, 날씨정보, 할 일에 대해서 일괄적으로 알려준다. The process is a briefing briefing in the morning through a device in your home (for example, a home robot or home audio, home TV, etc.). When a request for a morning briefing comes in, today's Appointment ), Weather information (WeatherForcast), todo list (TODOList). If the recovery policy of this process is set to "Restart", it will notify you of today's appointments, and if it is shut down, it will automatically notify you again about the appointments, weather information, and things to do from the beginning.

본 프로세스의 복구 정책은 "재시작"으로 설정한 것은 아침에 일의 시작 전 약속, 날씨정보, 할 일 세 가지를 모두 한꺼번에 알려주는 것이 중요한 역할이므로 셧다운 후에 다시 프로세스가 복구되어 재수행될 때는 처음 약속부터 다시 알려주는 것이 사용자에게 더 유용하다고 판단하기 때문이다. 그리고 본 프로세스에 자동복구 정책을 설정하지 않아 수동으로 복구하게 되면 매일 아침마다 이루어지는 본 프로세스를 재배치하기 위해 프로세스 관리자가 프로세스의 목적 및 의미 정보를 파악하고 수동으로 재배치하는 번거로움을 감수해야 한다.The recovery policy of this process is set to "Restart," because it is important to inform all three of the tasks before the start of work in the morning, the weather information, and the to-do list at the same time. This is because it is more useful to users. And if you recover manually because you do not set an automatic recovery policy for this process, in order to relocate this process every morning, the process manager must take the hassle of grasping and manually redeploying the purpose and semantic information of the process.

도 5는 본 발명의 바람직한 일실시예에 따른 복구 정책이 "역방향 복구"로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도이다.5 is a flowchart illustrating a business process recovery method composed of a web service when the recovery policy is set to "reverse recovery" according to an exemplary embodiment of the present invention.

도 5를 참조하면, 자동 복구 정책을 "역방향 복구"로 설정한 경우의 웹서비스 기반 비즈니스 프로세스 복구 방법을 보여준다. 먼저 웹서비스 기반 확장 비즈니스 프로세스에서 설정된 복구 모델을 조회한다. 복구 정책이 "역방향 복구"인 경우 프로세스의 모델의 실행 진행 상태를 기록한 저장부를 통해 중단 직전까지의 비즈니스 프로세스 실행모델을 복원한다. 그런 다음, 복원된 비즈니스 프로세스 실행 모델을 구성하는 각 액티비티들을 실행 완료의 역순으로 복구해 나간다. 역방향 복구로 중단되기 직전까지의 실행 결과가 되돌려져서 이 실행 모델이 수행되지 않았던 시점과 동일해진다.Referring to FIG. 5, a web service based business process recovery method when the automatic recovery policy is set to "reverse recovery" is shown. First, the recovery model set in the web service based extended business process is queried. If the recovery policy is "reverse recovery", restore the business process execution model up to the point of interruption through the storage that records the progress of the process's model execution. Then, each activity that makes up the restored business process execution model is restored in the reverse order of execution completion. Execution results up until the interruption to reverse recovery are returned, which is the same as when this execution model was not performed.

도 6은 본 발명의 바람직한 일실시예에 따른 복구 정책이 "역방향 복구 후 재시작"으로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도이다.6 is a flowchart illustrating a business process recovery method configured as a web service when the recovery policy is set to "restart after reverse recovery" according to an exemplary embodiment of the present invention.

도 6을 참조하면 자동 복구 정책을 "역방향 복구 후 재시작"으로 설정한 경우의 웹서비스 기반 비즈니스 프로세스 복구 방법을 보여준다. 먼저 웹서비스 기반 확장 비즈니스 프로세스에서 설정된 복구 모델을 조회한다. 복구 정책이 "역방향 복구"인 경우 프로세스의 모델의 실행 진행 상태를 기록한 저장부를 통해 중단 직전까지의 비즈니스 프로세스 실행모델을 복원한다. 그런 다음, 복원된 비즈니스 프로세스 실행 모델을 구성하는 각 액티비티들을 실행 완료의 역순으로 복구해 나간 다. 그리고 나서 비즈니스 프로세스 실행 모델을 초기화시키고 초기화된 비즈니스 프로세스 실행 모델을 실행 시스템에 전달한다. 중단 직전까지의 실행 결과는 되돌려지고 자동으로 실행이 처음부터 다시 재개된다. Referring to FIG. 6, a web service based business process recovery method when the automatic recovery policy is set to "restart after reverse recovery" is shown. First, the recovery model set in the web service based extended business process is queried. If the recovery policy is "reverse recovery", restore the business process execution model up to the point of interruption through the storage that records the progress of the process's model execution. Then, each activity that makes up the restored business process execution model is restored in the reverse order of execution completion. It then initializes the business process execution model and passes the initialized business process execution model to the execution system. Execution results up to the interruption are reverted and execution resumes automatically from the beginning.

복구정책이 상기 "역방향 복구 후 재시작" 인 일실시예로, 출장 준비를 위해 우선 기차표를 예약한 다음, 호텔 방을 예약하는 비즈니스 프로세스를 BPEL 기반 XML 상의 필요한 요소로 나타내면 다음과 같다.In an embodiment in which the recovery policy is “restart after reverse recovery,” a business process of first booking a train ticket to prepare for a business trip, and then a hotel room is represented as a necessary element in the BPEL-based XML.

<process name="PreparingBusinessTrip"...><process name = "PreparingBusinessTrip" ...>

<variables><variables>

...  ...

</variables></ variables>

<sequence> <sequence>

<receive name="ReceivingRequestForPreparingBusinessTrip".../>   <receive name = "ReceivingRequestForPreparingBusinessTrip" ... />

<invoke name="ReserveTrainTicket" inputVariable="getResponse" ...>   <invoke name = "ReserveTrainTicket" inputVariable = "getResponse" ...>

<compensationHandler>   <compensationHandler>

<invoke name="CancelReserve" inputVariable="getResponse"     <invoke name = "CancelReserve" inputVariable = "getResponse"

outputVariable="getConfirmation"/>                     outputVariable = "getConfirmation" />

</compensationHandler>   </ compensationHandler>

</invoke> </ invoke>

<invoke name="ReserveHotelRoom" outputVariable="getResponse" ...>    <invoke name = "ReserveHotelRoom" outputVariable = "getResponse" ...>

<compensationHandler>  <compensationHandler>

<invoke name="CancelReservation" inputVariable="getResponse" outputVariable="getConfirmation"... />        <invoke name = "CancelReservation" inputVariable = "getResponse" outputVariable = "getConfirmation" ... />

</compensationHandler>  </ compensationHandler>

</invoke></ invoke>

......

<reply name="StoppingPreparingBusinessTrip".../> <reply name = "StoppingPreparingBusinessTrip" ... />

</sequence></ sequence>

</process></ process>

상기 출장 준비를 하는 프로세스는 우선 기차표를 예약(ReserveTrainTicket)한 다음, 호텔 방을 예약(ReserveHotelRoom)한다. 그런데 기차표 예약 웹서비스와 호텔 방 예약 웹서비스 모두 보상 핸들러(ConpensationHandler 엘리먼트)를 가지고 있으므로 보상 핸들러 내부의 보상 웹서비스를 호출하면 이미 수행한 결과를 역으로 돌릴 수가 있다. 웹서비스들은 그런데 기차표를 예약하는 중이나 방을 예약하는 중에 시스템이 셧다운 되는 경우에는 각각의 예약에 대해서 보상 핸들러 내부에 정의된 보상 웹서비스를 호출하여 예약을 취소할 수 있다. 이렇게 보상 핸들러를 통해 외부 웹서비스를 호출하여 수행한 결과를 역방향으로 복구 가능할 때에만 "역방향 복구" 또는 "역방향 복구 후 재시작" 정책을 사용할 수 있다(즉 외부 웹서비스와 연관된 부분은 보상 핸들러의 존재가 "역방향 복구" 또는 "역방향 복구 후 재시작" 복구 정책을 설정하기 위한 필요조건이다). 그리고, 역방향 복구 시에 예약 취소 순서는 실행결과의 역순이 되어야 한다. 즉 기차 예약과 호텔 예약 모두 완료한 상태에 복구를 하는 경우 호텔 예약을 먼저 취소하고 그 다음에 기차 예약을 취소한다. 그리고 복구 정책을 "역방향 복구" 또는 "역방향 복구 후 재시작" 프로세스가 수행되는 목적과 의미에 맞게 설정해주면 된다. The process of preparing a business trip first reserves a train ticket (ReserveTrainTicket) and then reserves a hotel room (ReserveHotelRoom). However, since both the train ticket reservation web service and the hotel room reservation web service have a compensation handler (ConpensationHandler element), calling the compensation web service inside the compensation handler can reverse the result. Web services, however, can be canceled by calling the reward web service defined inside the reward handler for each reservation if the system is shut down while booking a train ticket or while booking a room. The "reverse recovery" or "restart after reverse recovery" policy can be used only when the result of invoking an external web service through the compensation handler can be reversed. Is a requirement for setting the "reverse recovery" or "restart after reverse recovery" recovery policy). In the reverse recovery, the reservation cancellation order should be the reverse of the execution result. In other words, if you recover after completing both train and hotel reservations, cancel the hotel reservation first and then cancel the train reservation. The recovery policy can be set according to the purpose and meaning of the "reverse recovery" or "restart after reverse recovery" process.

도 7은 본 발명의 바람직한 일실시예에 따른 복구 정책이 "수동복구 알림"으로 설정한 경우의 웹 서비스로 구성된 비즈니스 프로세스 복구 방법에 대한 흐름도이다.7 is a flowchart illustrating a business process recovery method configured as a web service when the recovery policy is set to "manual recovery notification" according to an embodiment of the present invention.

도 7을 참조하면, 자동 복구 정책을 "수동복구 알림"으로 설정한 경우의 웹서비스 기반 비즈니스 프로세스 복구 방법을 보여준다. 먼저 웹서비스 기반 확장 비즈니스 프로세스에서 설정된 복구 모델을 조회한다. 복구 정책이 "수동복구 알림"인 경우 프로세스의 모델의 실행 진행 상태를 기록한 저장부를 통해 중단 직전까지의 비즈니스 프로세스 실행모델을 복원한다. 프로세스 관리자에게 해당 실행 모델이 중단되었음을 알리고 수동 복구를 요청을 알린다. 프로세스의 특성상 자동 복구가 힘들어 인간이 개입한 수동복구가 필요한 경우를 위한 복구 방법이다. Referring to FIG. 7, a web service based business process recovery method when the automatic recovery policy is set to "manual recovery notification" is shown. First, the recovery model set in the web service based extended business process is queried. If the recovery policy is "manual recovery notification," restore the business process execution model up to the point of interruption through the storage that records the progress of the process's model execution. Informs the process manager that the execution model is down and notifies the request for manual recovery. It is a recovery method for cases where manual recovery is required due to the nature of the process, and automatic recovery is difficult.

복구정책이 상기 "수동복구 알림" 인 일실시예로, 출장 준비를 위한 기차표를 구매(PurchaseTrainTicket) 프로세스를 BPEL 기반 XML 상의 필요한 요소로 나타내면 다음과 같다.In an embodiment in which the recovery policy is the "manual recovery notification", a process of purchasing a train ticket for preparing for a trip (PurchaseTrainTicket) as a necessary element in the BPEL-based XML is as follows.

<process name="PreparingBusinessTrip"...><process name = "PreparingBusinessTrip" ...>

<variables><variables>

......

</variables></ variables>

<sequence>   <sequence>

<receive name="ReceivingRequestForPurchasingBusinessTrip".../>     <receive name = "ReceivingRequestForPurchasingBusinessTrip" ... />

<invoke name="PurchaseTrainTicket" inputVariable="getResponse"...>     <invoke name = "PurchaseTrainTicket" inputVariable = "getResponse" ...>

<compensationHandler>      <compensationHandler>

<invoke name="CancelReserve" inputVariable="getResponse" outputVariable="getConfirmation"/>         <invoke name = "CancelReserve" inputVariable = "getResponse" outputVariable = "getConfirmation" />

</compensationHandler>      </ compensationHandler>

</invoke>     </ invoke>

...     ...

<reply name="StppingPreparingBusinessTrip".../>    <reply name = "StppingPreparingBusinessTrip" ... />

</sequence>   </ sequence>

</process></ process>

대부분의 결제와 관련된 경우 결제 관련 부분이 실제로 시스템 어디까지 갔는지 외부 결제 시스템에 요청이 들어갔는지 이미 대금 지불이 끝났는지 등에 대한 면밀한 분석이 필요하다. 이렇게 결제가 관련된 프로세스의 경우에 대부분 프로세스 관리자가 문제의 프로세스 리스트를 마련하고 외부 결제 시스템 운영자에게 연락을 취해서 상태를 확인한 뒤 수동 복구 절차를 밟는다. In the case of most payments, it is necessary to analyze in detail how far the payment-related part actually went to the system, whether the request was made to the external payment system or whether the payment was already completed. In the case of payment-related processes, most process managers prepare a list of processes in question, contact the external payment system operator to check the status, and then go through manual recovery procedures.

중요한 결제 시스템에서 결제 과정 중 시스템이 셧 다운된 경우, 이미 어디까지 결제되었는지 결제된 부분과 결제되지 않는 부분은 어떻게 처리할 것인지에 대하여 관리자의 면밀한 분석이 필요하다. 따라서 이러한 프로세스의 경우 자동 복 구 정책을 "수동복구 알림"으로 설정하여 관리자의 복구할 수 있게 하는 것이 타당할 것이다.If the system is shut down during the payment process in an important payment system, it is necessary to carefully analyze how the payment is made and how the payment is not made. Therefore, for such a process, it would be reasonable to set the automatic recovery policy to "manual recovery notification" to allow the administrator to recover.

상기와 같은 자동 복구 정책 중 어느 것을 선택하는지는 각 프로세스 설계자가 파악한 프로세스의 실행 목적 및 프로세스 개별 구성요소의 의미 정보에 기반함을 알 수 있다.Which of the above automatic recovery policies is selected may be determined based on the execution purpose of each process identified by each process designer and semantic information of individual process components.

상기와 같은 본 발명의 실행 도중 시스템 에러로 중단된 웹 서비스 기반의 비즈니스 프로세스 복구 방법 및 그 시스템은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함하는 것으로, 그 예로는 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk)-ROM, DVD(Digital Video Disk)-Rom, 자기 테이프, 플로피 디스크, 광데이터 저장 장치 등이 있다.The web service based business process recovery method and the system interrupted by a system error during the execution of the present invention as described above may be stored in a computer-readable recording medium. Such recording media include all kinds of recording media on which programs and data are stored so that they can be read by a computer system. Examples of the recording media include read only memory, random access memory and compact disk. ROM, Digital Video Disk (DVD) -Rom, magnetic tape, floppy disk, optical data storage device.

또한, 이러한 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행 될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.In addition, such recording media may be distributed over network coupled computer systems so that computer readable code is stored and executed in a distributed fashion. Since this process can be easily implemented by those skilled in the art will not be described in more detail.

이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

본 발명은 실행 도중 시스템 에러로 중단된 웹 서비스 기반의 비즈니스 프로세스의 복구 정책을 미리 설정함으로써 복구가 필요한 경우의 대부분을 인간의 개입 없이 자동으로 복구 가능하여 시스템의 안정성 및 자동화에 기여한다. 그리고 해당 비즈니스 프로세스에 가장 적합한 복구 정책을 실행 이전인 프로세스 설계 혹은 배치 시간에 미리 설정함으로 복구 과정에서 프로세스 관리자의 임의 복구로 인한 복구 오류를 최소화할 수 있다.The present invention presets a recovery policy of a web service based business process interrupted by a system error during execution, thereby automatically recovering most of cases where recovery is required without human intervention, thereby contributing to the stability and automation of the system. And by setting the recovery policy that is most appropriate for the business process in advance at process design or deployment time, recovery errors caused by random recovery by the process manager during the recovery process can be minimized.

Claims (14)

실행 시스템 자체의 에러로 웹 서비스로 구성된 비즈니스 프로세스의 실행이 중단시 상기 비즈니스 프로세스의 실행 특성에 따라 중단 시점 이후의 상기 비즈니스 프로세스의 진행에 대한 자동 복구 정책을 상기 프로세스 설계 과정에서 미리 설정하는 비즈니스 프로세스 자동 복구 속성 설정부;When the execution of a business process consisting of a web service is interrupted due to an error in the execution system itself, a business process for setting an automatic recovery policy for the progress of the business process after the interruption point in advance in the process designing process according to the execution characteristics of the business process. An automatic recovery property setting unit; 상기 시스템 에러 발생 시점까지 상기 비즈니스 프로세스의 실행 진행 상황을 순차적으로 기록하는 저장부; 및A storage unit which sequentially records the execution progress of the business process until the system error occurs; And 시스템 에러 발생시 상기 기설정된 자동 복구 정책을 인출하여 상기 자동 복구 정책에 따라, 상기 저장부에 기록된 상기 비즈니스 프로세스의 실행 진행 상황을 기초로 상기 프로세스의 실행을 복구하는 비즈니스 프로세스 자동 복구부;를 포함하는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 장치.And a business process automatic recovery unit for retrieving the execution of the process based on the execution progress of the business process recorded in the storage unit according to the automatic recovery policy by drawing the preset automatic recovery policy when a system error occurs. Business process automatic recovery device consisting of a web service, characterized in that. 제 1항에 있어서,The method of claim 1, 상기 웹 서비스로 구성된 비즈니스 프로세스는 XML 문서로 기술된 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 장치.Business process automatic recovery device composed of a web service, characterized in that the business process consisting of the web service is described in an XML document. 제 1항에 있어서, 상기 비즈니스 프로세스의 실행시The method of claim 1, wherein the execution of the business process 상기 비즈니스 프로세스를 실행 시스템에서 수행되는 상기 비즈니스 프로세 스의 실행 모델로 변환시키는 비즈니스 프로세스 실행 모델 생성부; 및A business process execution model generation unit for converting the business process into an execution model of the business process performed in an execution system; And 상기 비즈니스 프로세스의 실행 모델을 상기 실행 시스템 내에서 실행시키는 비즈니스 프로세스 실행 모델 실행부;를 더 포함하는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 장치.And a business process execution model execution unit that executes the execution model of the business process in the execution system. 제 1항에 있어서,The method of claim 1, 상기 자동 복구 정책은 The automatic recovery policy 중단시점부터의 실행계속, 재시작, 중단시점부터 역방향으로의 실행 과정 복구, 역방향으로의 실행과정 복구 후 재시작, 관리자에게 수동 복구 필요를 알림 중에 선택되는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 장치.Automatic recovery of business processes consisting of web services, characterized by continuing, restarting from the point of interruption, restoring the execution process from the point of interruption to the reverse direction, restarting after the recovery process from the reverse direction, and notifying the administrator of the need for manual recovery. Device. 실행 시스템 자체의 에러로 웹 서비스로 구성된 비즈니스 프로세스의 실행이 중단시 상기 비즈니스 프로세스의 실행 특성에 따라 중단 시점 이후의 상기 비즈니스 프로세스의 진행에 대한 자동 복구 정책을 상기 프로세스 설계 과정에서 미리 설정하는 단계;Setting an automatic recovery policy for the progress of the business process after the interruption point in the process designing process according to an execution characteristic of the business process when the execution of the business process consisting of the web service is interrupted due to an error in the execution system itself; 상기 비즈니스 프로세스의 실행이 상기 실행 시스템의 에러로 실행 중단되는 경우, 상기 기설정된 자동 복구 정책을 인출하는 단계; 및If the execution of the business process is suspended due to an error of the execution system, fetching the preset automatic recovery policy; And 저장 장치에 기록된 상기 비즈니스 프로세스의 실행 진행 상황을 기초로 상기 인출된 자동 복구 정책에 따라 상기 프로세스의 실행을 복구하는 단계;를 포함 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.Restoring execution of the process according to the retrieved automatic recovery policy based on the execution progress of the business process recorded in a storage device. 제 5항에 있어서,The method of claim 5, 상기 웹 서비스로 구성된 비즈니스 프로세스는 XML 문서로 기술된 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.The business process consisting of the web service is automatically described as a business process consisting of a web service, characterized in that described in the XML document. 제 5항에 있어서, 상기 비즈니스 프로세스의 실행시The method of claim 5, wherein the execution of the business process 상기 비즈니스 프로세스를 상기 실행 시스템에 수행되는 상기 비즈니스 프로세스의 실행 모델로 변환시키는 단계; 및Converting the business process into an execution model of the business process performed on the execution system; And 상기 비즈니스 프로세스의 실행 모델을 상기 실행 시스템에서 실제 실행하는 단계를 더 포함하는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.And automatically executing the execution model of the business process in the execution system. 제 5항에 있어서, 상기 자동 복구 정책은 The method of claim 5, wherein the automatic recovery policy 중단시점부터의 실행계속, 재시작, 중단시점부터 역방향으로의 실행 과정 복구, 역방향으로의 실행과정 복구 후 재시작, 관리자에게 수동 복구 필요를 알림 중에 선택되는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.Automatic recovery of business processes consisting of web services, characterized by continuing, restarting from the point of interruption, restoring the execution process from the point of interruption to the reverse direction, restarting after the recovery process from the reverse direction, and notifying the administrator of the need for manual recovery. Way. 제 5항에 있어서, The method of claim 5, 상기 인출된 자동 복구 정책이 " 실행계속 "으로 설정된 경우 상기 프로세스의 실행을 복구하는 단계는Restoring the execution of the process if the withdrawn automatic recovery policy is set to " continue execution " 상기 비즈니스 프로세스의 실행 모델 실행 진행 상황을 기록한 저장부로부터 상기 비즈니스 프로세스의 실행 모델 중단 시점 및 상기 실행 중단까지의 실행 진행 상황을 인출하는 단계;Retrieving the execution model interruption time of the business process and the execution progress until the execution interruption from a storage unit which records the execution model execution progress of the business process; 상기 인출된 정보를 기초로 상기 중단 시점 직전의 상기 비즈니스 프로세스의 실행 모델을 복원하는 단계; 및Restoring an execution model of the business process immediately before the interruption point based on the retrieved information; And 상기 복원된 실행 모델을 실행 시스템 내에서 상기 중단된 부분부터 다시 실행시키는 단계;를 포함하는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.And executing the restored execution model again from the interrupted part in the execution system. 제 5항에 있어서, The method of claim 5, 상기 인출된 자동 복구 정책이 " 재시작 "으로 설정된 경우 상기 프로세스의 실행을 복구하는 단계는Restoring execution of the process if the withdrawn automatic recovery policy is set to " restart " 상기 비즈니스 프로세스의 실행 모델을 최초 상태로 초기화시키는 단계; 및Initializing an execution model of the business process to an initial state; And 상기 비즈니스 프로세스의 실행 모델을 실행 시스템 내에서 처음부터 다시 실행시키는 단계;를 포함하는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.And re-running the execution model of the business process from the beginning in the execution system. 제 5항에 있어서, The method of claim 5, 상기 인출된 자동 복구 정책이 " 역방향 복구 "로 설정된 경우 상기 프로세스의 실행을 복구하는 단계는Restoring the execution of the process if the withdrawn automatic recovery policy is set to "reverse recovery" 상기 비즈니스 프로세스의 실행 모델 실행 진행 상황을 기록한 저장부로부터 상기 비즈니스 프로세스의 실행 모델의 중단 시점 및 상기 실행 중단까지의 실행 진행 상황을 인출하는 단계;Retrieving the execution timing of the execution model of the business process and the execution progress until the execution suspension from the storage unit which records the execution model execution progress of the business process; 상기 인출된 정보를 기초로 상기 중단 시점 직전의 상기 비즈니스 프로세스의 실행 모델을 복원시키는 단계; 및Restoring an execution model of the business process immediately before the interruption point based on the retrieved information; And 상기 복원된 실행 모델을 구성하는 각 액티비티들을 실행 완료의 역순으로 복구시키는 단계;를 포함하는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.Restoring activities constituting the restored execution model in the reverse order of execution completion; and automatically recovering a business process consisting of a web service. 제 5항에 있어서, The method of claim 5, 상기 인출된 자동 복구 정책이 " 역방향 복구 후 재시작 "으로 설정된 경우 상기 프로세스의 실행을 복구하는 단계는Restoring the execution of the process if the withdrawn automatic recovery policy is set to " restart after reverse recovery " 상기 비즈니스 프로세스의 실행 모델 실행 진행 상황을 기록한 저장부로부터 상기 비즈니스 프로세스의 실행 모델의 중단 시점 및 상기 실행 중단까지의 실행 진행 상황을 인출하는 단계;Retrieving the execution timing of the execution model of the business process and the execution progress until the execution suspension from the storage unit which records the execution model execution progress of the business process; 상기 인출된 정보를 기초로 상기 중단 시점 직전의 상기 비즈니스 프로세스의 실행 모델을 복원시키는 단계; 및Restoring an execution model of the business process immediately before the interruption point based on the retrieved information; And 상기 복원된 실행 모델을 구성하는 각 액티비티들을 실행 완료의 역순으로 복구시키는 단계;Restoring activities constituting the restored execution model in the reverse order of execution completion; 상기 복구된 실행 모델을 최초 상태로 초기화시키는 단계; 및Initializing the restored execution model to an initial state; And 상기 비즈니스 프로세스의 실행 모델을 실행 시스템 내에서 처음부터 다시 실행시키는 단계;를 포함하는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.And re-running the execution model of the business process from the beginning in the execution system. 제 5항에 있어서, The method of claim 5, 상기 인출된 자동 복구 정책이 " 수동 복구 알림 "으로 설정된 경우 상기 프로세스의 실행을 복구하는 단계는Restoring the execution of the process if the withdrawn automatic recovery policy is set to "manual recovery notification " 상기 비즈니스 프로세스의 실행 모델 실행 진행 상황을 기록한 저장부로부터 상기 비즈니스 프로세스의 실행 모델의 중단 시점 및 상기 실행 중단까지의 실행 진행 상황을 인출하는 단계;Retrieving the execution timing of the execution model of the business process and the execution progress until the execution suspension from the storage unit which records the execution model execution progress of the business process; 상기 인출된 정보를 기초로 상기 중단된 시점 직전의 상기 비즈니스 프로세스의 실행 모델을 복원시키는 단계; 및Restoring an execution model of the business process immediately before the interrupted time point based on the retrieved information; And 프로세스 관리자에게 상기 실행 모델이 중단되었음을 알리고 수동 복구를 요청하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 방법.And informing the process manager that the execution model has been interrupted and requesting manual recovery. 삭제delete
KR1020060082304A 2005-12-08 2006-08-29 Apparatus and method for automatic recovery for web services-based business process KR100819032B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050119462 2005-12-08
KR20050119462 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061278A KR20070061278A (en) 2007-06-13
KR100819032B1 true KR100819032B1 (en) 2008-04-02

Family

ID=38357214

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060082304A KR100819032B1 (en) 2005-12-08 2006-08-29 Apparatus and method for automatic recovery for web services-based business process

Country Status (1)

Country Link
KR (1) KR100819032B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101703082B1 (en) * 2016-07-05 2017-02-06 주식회사 디리아 Apparatus And Method For Financial Service support

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020042823A1 (en) 1998-05-29 2002-04-11 Debettencourt Jason Web service
JP2004151861A (en) 2002-10-29 2004-05-27 Oki Electric Ind Co Ltd Method for detecting web page display failure, restoration method therefor, and program of customer terminal for making the method executed

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020042823A1 (en) 1998-05-29 2002-04-11 Debettencourt Jason Web service
JP2004151861A (en) 2002-10-29 2004-05-27 Oki Electric Ind Co Ltd Method for detecting web page display failure, restoration method therefor, and program of customer terminal for making the method executed

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101703082B1 (en) * 2016-07-05 2017-02-06 주식회사 디리아 Apparatus And Method For Financial Service support

Also Published As

Publication number Publication date
KR20070061278A (en) 2007-06-13

Similar Documents

Publication Publication Date Title
US7925981B2 (en) Systems and methods for managing web services via a framework of interfaces
US7801976B2 (en) Service-oriented architecture systems and methods
US7509651B2 (en) System and method for providing event notifications to information technology resource managers
CN101243445B (en) Data change notifications
US7549153B2 (en) Apparatus and method for content and context processing of web service traffic
Erickson et al. Web services, service-oriented computing, and service-oriented architecture: Separating hype from reality
US7912895B2 (en) System and method for managing service interactions
US8843877B2 (en) Integrated SOA deployment and management system and method for software services
US20060190948A1 (en) Connection manager, method, system and program product for centrally managing computer applications
US20070234272A1 (en) Configuring and allocating software product technical services
WO2002079916A2 (en) Method for incorporating human-based activities in business process models
US7877695B2 (en) Tailored object
US8819695B2 (en) Controlling application landscapes
KR100819032B1 (en) Apparatus and method for automatic recovery for web services-based business process
US20070022071A1 (en) Context based work environment
He Recovery in web service applications
KR101888131B1 (en) Method for Performing Real-Time Changed Data Publish Service of DDS-DBMS Integration Tool
US7496624B2 (en) Client registration for purposes of maintaining detailed client information at a web services registry
WO2009114559A1 (en) Agent-based digital cinema management systems
Sairamesh et al. Self-managing, disconnected processes and mechanisms for mobile e-business
Fung et al. Achieving survivability in business process execution language for web services (bpel) with exception-flows
Müller et al. A conceptual framework for unified and comprehensive SOA management
Shwartz et al. It service provider's multi-customer and multi-tenant environments
US20080134197A1 (en) Method, Apparatus and Media for Managing Information Model Jobs
Fung et al. System recovery through dynamic regeneration of workflow specification

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20111208

Year of fee payment: 18