KR100549381B1 - Method For Transforming From BPEL To BPML - Google Patents

Method For Transforming From BPEL To BPML Download PDF

Info

Publication number
KR100549381B1
KR100549381B1 KR1020040042748A KR20040042748A KR100549381B1 KR 100549381 B1 KR100549381 B1 KR 100549381B1 KR 1020040042748 A KR1020040042748 A KR 1020040042748A KR 20040042748 A KR20040042748 A KR 20040042748A KR 100549381 B1 KR100549381 B1 KR 100549381B1
Authority
KR
South Korea
Prior art keywords
bpel
bpml
dependent
target
source
Prior art date
Application number
KR1020040042748A
Other languages
Korean (ko)
Other versions
KR20050117438A (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 한국전자통신연구원
Priority to KR1020040042748A priority Critical patent/KR100549381B1/en
Publication of KR20050117438A publication Critical patent/KR20050117438A/en
Application granted granted Critical
Publication of KR100549381B1 publication Critical patent/KR100549381B1/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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 BPEL(Business Process Execution Language)에서 BPML(Business Process Modeling Language)로의 변환 방법에 관한 것임.The present invention relates to a method of converting from BPEL (Business Process Execution Language) to BPML (Business Process Modeling Language).

2. 발명이 해결하고자 하는 기술적 과제2. Technical problem to be solved by the invention

본 발명은 BPEL의 실행 가능한 비즈니스 프로세스를 대응되는 BPML의 프로세스로 변환시킴으로써, BPML을 지원하는 시스템에서 BPEL로 기술된 웹 서비스의 컴포지션의 참조를 가능하게 하기 위한 BPEL에서 BPML로의 변환 방법을 제공하는데 그 목적이 있음.The present invention provides a method of converting from BPEL to BPML to enable reference of the composition of a web service described as BPEL in a system supporting BPML by converting the executable business process of BPEL into a corresponding BPML process. There is a purpose.

또한, 본 발명은 BPEL의 실행 가능한 비즈니스 프로세스를 대응되는 BPML의 프로세스로 변환시킴으로써, BPML을 지원하는 시스템에서 BPEL을 따르는 비즈니스 프로세스 기술 문서를 산출하기 위한 BPEL에서 BPML로의 변환 방법을 제공하는데 그 목적이 있음.In addition, the present invention provides a method for converting from BPEL to BPML for calculating a business process description document following BPEL in a system supporting BPML by converting a BPEL executable business process into a corresponding BPML process. has exist.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은 BPEL의 기본 액티버티를 수행하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 기본 액티버티 처리 단계, BPEL의 여러 개의 액티버티를 구조화시키는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 구조화된 액티버티 처리 단계, BPEL의 구조화된 액티버티 내부의 실행 환경을 기술하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 실행 환경 처리 단계, BPEL의 액티버티간의 병렬 구조에서 순서를 지정하는 엘리먼트에 근거하여 BPML의 대응되는 엘리먼트를 생성하는 소스/타겟 처리 단계 및 상기 실행 환경 처리 단계의 요구에 응답하여 BPML의 실행 환경을 기술하는 엘리먼트를 생성하는 프로세스 생성 단계를 포함함.The present invention provides a basic activity processing step of generating an element of a BPML corresponding to an element performing a basic activity of a BPEL, and a structured activity of generating an element of a BPML corresponding to an element of structuring multiple activities of a BPEL. The processing step, the execution environment processing step of generating an element of BPML corresponding to the element describing the execution environment inside the structured activity of the BPEL, the correspondence of the BPML based on the element specifying the order in the parallel structure between the activities of the BPEL A source / target processing step of generating an element to be formed, and a process generation step of generating an element describing an execution environment of a BPML in response to a request of the execution environment processing step.

4. 본 발명의 중요한 용도4. Important uses of the present invention

본 발명은 웹 서비스를 관리하는데 이용될 수 있음.The present invention can be used to manage web services.

변환, 비즈니스 프로세스, BPEL, BPMLTransformation, Business Process, BPEL, BPML

Description

BPEL에서 BPML로의 변환 방법{Method For Transforming From BPEL To BPML} Method for Transforming From BPEL To BPML}             

도 1은 본 발명에 따른 BPEL(Business Process Execution Language)을 BPML(Business Process Modeling Language)로 변환시키는 변환기의 구성도,1 is a block diagram of a converter for converting Business Process Execution Language (BPEL) into Business Process Modeling Language (BPLM) according to the present invention;

도 2a 및 도 2b는 도 1의 기본 액티버티 처리부가 BPML의 대응되는 엘리먼트를 생성하는 흐름도,2A and 2B are flowcharts of the basic activity processor of FIG. 1 generating corresponding elements of the BPML;

도 3a 및 도 3b는 도 1의 구조화된 액티버티 처리부가 BPML의 대응되는 엘리먼트를 생성하는 흐름도,3A and 3B are flow charts in which the structured activity processor of FIG. 1 generates corresponding elements of a BPML;

도 4는 도 1의 소스/타겟 처리부가 액티버티의 병렬 구조에서 순서를 지정하는 엘리먼트를 처리하는 흐름도,4 is a flowchart in which the source / target processing unit of FIG. 1 processes elements specifying an order in the parallel structure of the activity;

도 5는 도 1의 실행 환경 처리부가 액티버티의 실행 환경을 기술한 엘리먼트를 처리하는 흐름도,5 is a flowchart in which an execution environment processor of FIG. 1 processes elements describing an execution environment of an activity;

도 6은 도 1의 프로세스 생성부가 액티버티의 실행 환경을 기술한 "scope" 엘리먼트를 처리하는 흐름도,FIG. 6 is a flowchart in which the process generator of FIG. 1 processes an "scope" element describing an execution environment of an activity;

도 7은 BPEL의 엘리먼트로 구성된 BPEL 문서를 설명하기 위한 도면,7 is a view for explaining a BPEL document composed of elements of a BPEL;

도 8은 도 7의 BPEL 엘리먼트가 대응되는 BPML 엘리먼트로 변환된 것을 설명 하기 위한 도면이다.FIG. 8 is a diagram for explaining that the BPEL element of FIG. 7 is converted into a corresponding BPML element.

* 도면의 주요 참조부호에 대한 설명 *Explanation of the main references in the drawings

110 : BPEL-to-BPML 변환기 120 : 기본 액티버티 처리부110: BPEL-to-BPML converter 120: basic activity processing unit

130 : 구조화된 액티버티 처리부 140 : 실행 환경 처리부130: structured activity processing unit 140: execution environment processing unit

150 : 소스/타겟 처리부 160 : 프로세스 생성부150: source / target processing unit 160: process generation unit

본 발명은 BPEL의 실행 가능한 프로세스를 대응되는 BPML 프로세스로 변환하는 방법에 관한 것이다.The present invention relates to a method of converting an executable process of a BPEL into a corresponding BPML process.

웹 서비스(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 Web Services Description Language (WSDL), XML-based messaging that describes what services a web service provides, how to access the web service, and what type of response is expected. Protocols include Simple Object Access Protocol (SOAP), and 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. But the service you want to provide using a real web service is much more complicated.

예를 들어, 인터넷에서 상품 구매하는 비즈니스 프로세스를 웹 서비스로 구현하기 위해서는 소비자가 해당 상품에 대한 구매를 요청하는 웹 서비스, 요청한 상품의 재고를 조사하는 웹 서비스, 재고가 있는 경우 판매하겠다는 의사를 전달하 는 웹 서비스, 재고가 없는 경우 품절임을 알리는 웹 서비스, 소비자의 입금을 확인하는 웹 서비스, 택배 회상 물품 운송을 요청하는 웹 서비스 등 여러 개의 웹 서비스가 비즈니스 로직에 따라 연결되고 조직화되어야 한다. 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 must be connected and organized according to the business logic, such as web services that are not in stock, web services that notify 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)등이 등장하였다.W3C's Web Service Choreography Interface (WSCI) for expressing these business processes as Web service compositions, and BPML (Business Process Management Initiative) for Business Process Execution Language for Web Services (BPEL4WS) and Business Process Management Initiative (BPMI.org) from IBM and Microsoft. Business Process Modeling Language).

이와 같이 비즈니스 프로세스란 복수개의 비즈니스 액티버티들의 코리어그래피(choreography)한 시퀀스를 말한다. 비즈니스 프로세스는 크게 공중 비즈니스 프로세스(public business process)와 사설 비즈니스 프로세스(private business process)로 나뉜다. 공중 비즈니스 프로세스는 B2B 통합 도메인에서 참여자들간에 공유되는 협업적 프로세스이고, 사설 비즈니스 프로세스는 EAI에서 한 기업 내부의 시스템에 사용되는 내부 프로세스이다.As such, a business process refers to a choreography sequence of a plurality of business activities. Business processes are largely divided into public business processes and private business processes. Public business processes are collaborative processes that are shared among participants in the B2B integration domain, while private business processes are internal processes used by EAI for systems within an enterprise.

상기에서 언급한 WSCI, BPEL4WS, BPML 중에서, 한 기업의 실행 가능한 내부 프로세스를 기술하는 웹 서비스 컴포지션 표준에는 BPEL4WS와 BPML이 있다.Among the above-mentioned WSCI, BPEL4WS, and BPML, BPEL4WS and BPML are the web service composition standards that describe a company's executable internal processes.

BPML은 비즈니스 프로세스를 모델링하기 위한 방법으로 BPMI.org에 의해 개발된 XML 기반의 메타 언어이다. BPMI.org에는 Intalio, SAP, Sun 등의 벤더들이 참여하고 있다. BPML은 트랜잭션을 포함하는 유한 상태 기계(finite-state machine)의 개념에 기반을 둔 추상화된 실행 모델을 제공한다. 협업적 비즈니스 프 로세스를 지원하는 WSCI와는 상호보완 관계에 있다.BPML is an XML-based meta language developed by BPMI.org as a way to model business processes. BPMI.org includes vendors from Intalio, SAP and Sun. BPML provides an abstracted execution model based on the concept of a finite-state machine that includes transactions. It is complementary to WSCI, which supports collaborative business processes.

BPEL4WS(이하 BPEL)는 2002년에 마이크로소프트사의 XLANG과 IBM사의 WSFL를 통합하여 만든 웹 오케스트레이션(orchestration)언어이다. 오케스트레이션은 메시지 단계에서 웹 서비스가 상호 작용하는 방법을 기술하는데, 비즈니스 로직과 상호 작용의 실행 순서를 포함한다. BPEL4WS (BPEL) is a Web orchestration language created in 2002 by integrating Microsoft's XLANG with IBM's WSFL. An orchestration describes how Web services interact at the message level, which includes the business logic and the order in which the interactions are executed.

즉, BPEL의 비즈니스 프로세스는 외부로부터 서비스 제공을 요청하는 메시지를 받았을 때, 외부 웹 서비스를 호출하여 추가 데이터를 제공받아, 서비스를 요청한 측에 응답하는 비즈니스 절차를 기술한다. 복잡한 비즈니스 로직이 바로 이 BPEL 비즈니스 프로세스에서 웹 서비스의 컴포지션으로 기술된다. That is, when BPEL's business process receives a message requesting to provide a service from the outside, the BPEL describes a business procedure that calls an external web service to receive additional data and responds to the requester. Complex business logic is described in this BPEL business process as the composition of the Web service.

IBM, 마이크로소프트 및 BEA는 표준 채택을 위해 2003년 4월에 BPEL 스펙을 OASIS에 제출하였고, OASIS에서는 스펙을 발전시키기 위해 OASIS BPEL 기술 위원회를 구성하였다.IBM, Microsoft, and BEA submitted the BPEL specification to OASIS in April 2003 to adopt the standard, and OASIS formed the OASIS BPEL Technical Committee to evolve the specification.

웹 서비스 컴포지션을 위한 표준은 크게 WSCI와 BPML의 연합과 BPEL로 양분된 상태로, 현재 웹 서비스와 관련된 IT 업계의 동향은 다음과 같다.The standards for Web service composition are largely divided into WSCI and BPML alliance and BPEL. The current trends in the IT industry related to web services are as follows.

각 표준을 지원하는 메이저 벤더들이 서로 다른 표준화 단체를 통해 표준화 작업에 박차를 가하고 있다. 또한 이를 토대로 각 표준을 따르는 제품 구현도 활발히 이루어지고 있다. Major vendors supporting each standard are speeding up their standardization efforts through different standards bodies. Based on this, the implementation of products conforming to each standard is also active.

인탈리오(Intalio)와 버질 테크놀러지(Vergil Technologies)는 WSCI와 연계된 BPML을 구현한 제품을 내놓았고, 썬 마이크로시스템(Sun Microsystems)는 WSCI를 지원하는 Sun ONE WSCI 에디터를 제공하고 있다. Intalio and Vergil Technologies have introduced products that implement BPML in conjunction with WSCI, and Sun Microsystems offers the Sun ONE WSCI editor, which supports WSCI.

반면, IBM에서는 BPEL을 위한 에디터 및 BPEL 엔진인 BPWS4J를 제공하고, 바인드 시스템(BindSystems)에서는 BPEL 모델링 및 편집 도구를 제공하며, 콜락사(Collaxa)에서는 BPEL을 위한 실행 플랫폼을 제공한다. 그리고 마이크로소프트와 BEA는 향후에 BPEL 기반 제품을 생산할 것이라고 공표하였다. 이처럼 산업계에서도 웹 서비스 제품군 시장에서 우위를 차지하기 위한 두 스펙간의 경쟁은 계속 되고 있으면, 당분간 웹 서비스 컴포지션을 위한 표준 스펙은 WSCI와 BPEL이 독립적으로 존재하며 기술적으로는 상보적으로, 산업적으로는 경쟁적으로 발전되리라 예상된다.IBM, on the other hand, provides BPWS4J, an editor and BPEL engine for BPEL, BindSystems provides BPEL modeling and editing tools, and Collaxa provides an execution platform for BPEL. Microsoft and BEA have announced that they will produce BPEL-based products in the future. As such, competition between the two specifications for the web service product market advantage in the industry continues, and for the time being, the standard specifications for web service composition are independent of WSCI and BPEL, and technically complementary and industrially competitive. It is expected to develop into.

이와 같이, BPML과 BPEL이 각각 서로 다른 표준화 단체인 BPMI.org와 OASIS에서, 서로 다른 메이저 벤더들의 지원을 받으며 독립적으로 발전되고 있는 상황에서 실행 가능한 비즈니스 프로세스를 위한 BPML과 BPEL간의 상호 변환 기술이 요구되어진다.As such, BPML and BPEL require different interconversion technologies between BPML and BPEL for business processes that can be developed independently with the support of different major vendors at BPMI.org and OASIS. It is done.

본 발명은 상기와 같은 요구에 부응하기 위해 창안된 것으로서, BPEL의 실행 가능한 비즈니스 프로세스를 대응되는 BPML의 프로세스로 변환시킴으로써, BPML을 지원하는 시스템에서 BPEL로 기술된 웹 서비스의 컴포지션의 참조를 가능하게 하기 위한 BPEL에서 BPML로의 변환 방법을 제공하는데 그 목적이 있다.The present invention was devised to meet the above demands, and by converting a BPEL executable business process into a corresponding BPML process, it is possible to refer to the composition of a web service described in BPEL in a system supporting BPML. The purpose is to provide a conversion method from BPEL to BPML.

또한, 본 발명은 BPEL의 실행 가능한 비즈니스 프로세스를 대응되는 BPML의 프로세스로 변환시킴으로써, BPML을 지원하는 시스템에서 BPEL을 따르는 비즈니스 프로세스 기술 문서를 산출하기 위한 BPEL에서 BPML로의 변환 방법을 제공하는데 그 목적이 있다.In addition, the present invention provides a method for converting from BPEL to BPML for calculating a business process description document following BPEL in a system supporting BPML by converting a BPEL executable business process into a corresponding BPML process. have.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

본 발명은 BPEL의 기본 액티버티를 수행하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 기본 액티버티 처리 단계, BPEL의 여러 개의 액티버티를 구조화시키는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 구조화된 액티버티 처리 단계, BPEL의 구조화된 액티버티 내부의 실행 환경을 기술하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 실행 환경 처리 단계, BPEL의 액티버티간의 병렬 구조에서 순서를 지정하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 소스/타겟 처리 단계 및 상기 실행 환경 처리 단계의 요구에 응답하여 BPML의 실행 환경을 기술하는 엘리먼트를 생성하는 프로세스 생성 단계를 포함한다.The present invention provides a basic activity processing step of generating an element of a BPML corresponding to an element performing a basic activity of a BPEL, and a structured activity of generating an element of a BPML corresponding to an element of structuring multiple activities of a BPEL. Processing step, generating an element of BPML corresponding to an element describing an execution environment inside a structured activity of a BPEL processing step, element of a BPML corresponding to an element specifying an order in a parallel structure between activities of a BPEL And a process generation step of generating an element describing an execution environment of the BPML in response to a request of the source / target processing step of generating a and the execution environment processing step.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명 이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.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, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이하 설명에 있어서 엘리먼트와 애트리뷰트는 XML 문서와 같은 마크업(Markup) 언어 문서를 구성하는 구성요소이다. 엘리먼트는 태그를 사용하여 표현되고, 애트리뷰트는 엘리먼트에 대한 세부 속성을 기술하기 위해서 사용된다. In the following description, elements and attributes are components that constitute a markup language document such as an XML document. Elements are represented using tags, and attributes are used to describe detailed attributes of the element.

또한, 액티버티는 하나의 특정한 기능을 수행하는 비즈니스 프로세스 구성 요소이다. 통상적으로 액티버티는 원자 단위의 액티버티인 기본 액티버티와 복수 개의 액티버티들로 구성된 구조화된 액티버티로 구분할 수 있다.An activity is also a business process component that performs one particular function. Typically, an activity can be divided into a basic activity, which is an atomic activity, and a structured activity composed of a plurality of activities.

도 1은 본 발명에 따른 BPEL을 BPML로 변환시키는 변환기의 구성도이다.1 is a block diagram of a converter for converting BPEL into BPML according to the present invention.

도시된 바와 같이, BPEL 문서로 구성된 프로세스가 BPEL-to-BPML 변환기(110)에 의해 BPML 프로세스로 변환된다.As shown, the process composed of BPEL documents is converted to BPML process by the BPEL-to-BPML converter 110.

또한, BPEL-to-BPML 변환기(110)는 BPEL의 기본 액티버티를 수행하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 기본 액티버티 처리부(120), BPEL의 여러 개의 액티버티를 구조화시키는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 구조화된 액티버티 처리부(130), BPEL의 구조화된 액티버티 내부의 실행 환경을 기술하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 실행 환경 처리부(140), BPEL의 액티버티간의 병렬 구조에서 순서를 지정하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 소스/타겟 처리부(150) 및 상기 실행 환경 처리부(140)의 요구에 응답하여 BPML의 실행 환경을 기술하는 엘리먼트를 생성하는 프로 세스 생성부(160)를 포함한다.In addition, the BPEL-to-BPML converter 110 corresponds to an element for structuring a plurality of activities of the BPEL, the basic activity processing unit 120 for generating an element of the BPML corresponding to the element for performing the basic activity of the BPEL. Structured activity processing unit 130 to generate an element of the BPML that is to be, execution environment processing unit 140 to generate an element of the BPML corresponding to the element describing the execution environment inside the structured activity of the BPEL, activity of the BPEL A program for generating an element describing an execution environment of the BPML in response to a request of the source / target processing unit 150 and the execution environment processing unit 140 that generate the elements of the BPML corresponding to the ordering elements in the parallel structure between the programs. The set generator 160 is included.

기본 액티버티 처리부(120)는 BPEL의 기본 액티버티를 수행하는 엘리먼트가 액티버티간의 병렬 구조에서 순서를 지정하는 "source" 또는 "target" 엘리먼트를 포함할 때와 포함하지 않을 때를 고려하여 BPML의 엘리먼트를 생성한다. The basic activity processing unit 120 considers when the element performing the basic activity of the BPEL includes and does not include the "source" or "target" elements that specify the order in the parallel structure between the activities. Create an element.

상기 BPEL의 엘리먼트가 "source" 엘리먼트 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트는 기본 액티버티 처리부(120)에 의해서만 생성되고, 상기 BPEL의 엘리먼트가 "source" 엘리먼트 또는 "target" 엘리먼트를 포함하는 경우, 상기 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트는 기본 액티버티 처리부(120)와 "source" 엘리먼트와 "target" 엘리먼트를 처리하는 소스/타겟 처리부(150)의 연동에 의해 생성된다.If the element of the BPEL does not include a "source" element or a "target" element, the element of the BPML corresponding to the element of the BPEL is generated only by the basic activity processing unit 120, the element of the BPEL is "source" When the element includes a "element" or a "target" element, the element of the BPML corresponding to the element of the BPEL is the basic activity processor 120 and the source / target processor 150 that processes the "source" element and the "target" element. It is created by the linkage of.

또한, 구조화된 액티버티 처리부(130)도 여러 개의 액티버티를 구조화 시키는 엘리먼트가 액티버티간의 병렬 구조에서 순서를 지정하는 "source" 엘리먼트 또는 "target" 엘리먼트를 포함할 때와 포함하지 않을 때를 고려하여 BPML의 엘리먼트를 생성한다. In addition, the structured activity processing unit 130 also considers whether an element structuring a plurality of activities includes or does not include a "source" element or a "target" element that specifies an order in a parallel structure between activities. To create an element of BPML.

상기 BPEL의 엘리먼트가 "source" 엘리먼트 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트는 구조화된 액티버티 처리부(130)에 의해서만 생성되고, 상기 BPEL의 엘리먼트가 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트는 구조화된 액티버티 처리부(130)와 "source" 엘리먼트와 "target" 엘리먼트를 처리하는 소스/타겟 처리부(150)의 연동에 의해 생성된다. When the element of the BPEL does not include a "source" element or a "target" element, the element of the BPML corresponding to the element of the BPEL is generated only by the structured activity processing unit 130, and the element of the BPEL is " In the case of including a source "or" target "element, the element of the BPML corresponding to the element of the BPEL is a structured activity processor 130 and a source / target processor 150 that processes the" source "element and the" target "element. ) Is generated by linkage.

또한, 구조화된 액티버티 처리부(130)가 처리하는 "flow", "sequence", "while", "scope" 엘리먼트는 내부에 실행 환경을 기술하는 "scope" 엘리먼트를 포함할 수 있고, 특히 "flow" 엘리먼트는 "link" 엘리먼트를 포함할 수 있다. In addition, the "flow", "sequence", "while", and "scope" elements processed by the structured activity processor 130 may include a "scope" element that describes an execution environment therein, and in particular, a "flow" element. The "element may include a" link "element.

따라서, 상기 엘리먼트가 "scope" 엘리먼트 또는 "link" 엘리먼트를 포함할 경우, 구조화된 액티버티 처리부(130)는 실행 환경 처리부(140)와 함께 연동하여 BPEL에 대응되는 BPML의 엘리먼트를 생성한다.Therefore, when the element includes a "scope" element or a "link" element, the structured activity processor 130 cooperates with the execution environment processor 140 to generate an element of the BPML corresponding to the BPEL.

또한, 실행 환경 처리부(140)은 "scope" 엘리먼트를 처리하기 위해 프로세스 생성부(150)와 연동한다.In addition, the execution environment processor 140 interworks with the process generator 150 to process the "scope" element.

BPEL-to-BPML 변환기(110)의 각 구성에서 엘리먼트를 처리하는 과정은 이하 흐름도와 함께 더욱 상세하게 설명한다.The process of processing elements in each component of the BPEL-to-BPML converter 110 is described in more detail in conjunction with the flow chart below.

도 2a 및 도 2b는 본 발명에 따른 BPEL의 기본 액티버티 처리부가 기본 액티버티를 수행하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 흐름도이다.2A and 2B are flowcharts of generating an element of a BPML corresponding to an element performing a basic activity by a basic activity processing unit of a BPEL according to the present invention.

도 2a 및 도 2b에 도시된 바와 같이, 기본 액티버티 처리부(120)는 기본 액티버티를 수행하는 BPEL의 엘리먼트 "invoke", "receive", "reply", "empty", "throw", "compensate", "assign", "wait"에 대응되는 BPML의 엘리먼트를 생성한다. As shown in FIGS. 2A and 2B, the basic activity processing unit 120 performs the elements "invoke", "receive", "reply", "empty", "throw", and "compensate" of the BPEL that performs the basic activity. Create elements of BPML corresponding to "," assign "and" wait ".

기본 액티버티 처리부(120)는 BPEL의 엘리먼트가 "invoke", "receive" 또는 "reply" 엘리먼트인지 판단하여(200), "invoke", "receive" 또는 "reply" 엘리먼트이면 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단한다(205).The basic activity processor 120 determines whether an element of the BPEL is an "invoke", "receive", or "reply" element (200), and if it is an "invoke", "receive", or "reply" element, the "source" as a dependent element. Or if it includes a "target" element (205).

상기 판단 결과(205), "invoke", "receive" 또는 "reply" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 기본 액티버티 처리부(120)는 상기 BPEL의 "invoke", "receive" 또는 "reply" 엘리먼트에 대응되는 BPML의 "action" 엘리먼트를 소스/타겟 처리부(150)와 연동하여 생성한다.When the determination result 205, the "invoke", "receive" or "reply" element includes a "source" or "target" element as a dependent element, the basic activity processing unit 120 is the "invoke" of the BPEL , the “action” element of the BPML corresponding to the “receive” or “reply” element is generated in cooperation with the source / target processing unit 150.

소스/타겟 처리부(150)가 기본 액티버티 처리부(120)와 연동하는 과정은 도 4와 함께 후술한다.A process in which the source / target processor 150 interworks with the basic activity processor 120 will be described later with reference to FIG. 4.

만약, 상기 판단 결과(205), 상기 "invoke", "receive" 또는 "reply" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "invoke", "receive" 또는 "reply" 엘리먼트에 대응되는 BPML의 "action" 엘리먼트가 기본 액티버티 처리부(120)에 의해서 생성된다(210).If the determination result 205 indicates that the "invoke", "receive" or "reply" element does not include a "source" or "target" element as a dependent element, the "invoke", "receive" or " The "action" element of the BPML corresponding to the reply "element is generated by the basic activity processing unit 120 (210).

또한, 상기 판단 결과(200), BPEL의 엘리먼트가 "invoke", "receive" 또는 "reply" 엘리먼트가 아니면 기본 액티버티 처리부(120)는 BPEL의 엘리먼트가 "empty" 엘리먼트인지 판단한다(215).In addition, if the element of the BPEL is not an “invoke”, “receive” or “reply” element, the basic activity processor 120 determines whether the element of the BPEL is an “empty” element (215).

상기 판단 결과(215), BPEL의 엘리먼트가 "empty" 엘리먼트인 경우, 기본 액티버티 처리부(120)는 상기 BPEL의 "empty" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(220), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면, 소스/타겟 처리부(150)와 연동하여 대응되는 BPML의 "empty" 엘리먼트를 생성한다.As a result of the determination 215, when the element of the BPEL is an "empty" element, the basic activity processor 120 determines whether the "empty" element of the BPEL includes a "source" or "target" element as a dependent element. If 220 includes a "source" or a "target" element as a dependent element, it interworks with the source / target processing unit 150 to generate an "empty" element of the corresponding BPML.

만약, 상기 판단 결과(220), 상기 BPEL의 "empty" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면, 상기 BPEL의 "empty" 엘리먼트에 대응하는 BPML의 "empty" 엘리먼트가 기본 액티버티 처리부(120)에 의해 서 생성된다(225).If the determination result 220, the "empty" element of the BPEL does not include a "source" or "target" element as a dependent element, the "empty" element of the BPML corresponding to the "empty" element of the BPEL It is generated by the basic activity processing unit 120 (225).

또한, 상기 판단 결과(215), BPEL의 엘리먼트가 "empty" 엘리먼트가 아니면 기본 액티버티 처리부(120)는 BPEL의 엘리먼트가 "throw" 엘리먼트인지 판단한다(230).Also, if the element of the BPEL is not an "empty" element, the basic activity processor 120 determines whether the element of the BPEL is a "throw" element (230).

상기 판단 결과(230), BPEL의 엘리먼트가 "throw" 엘리먼트인 경우, 기본 액티버티 처리부(120)는 상기 "throw" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(235), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면, 기본 액티버티 처리부(120)는 소스/타겟 처리부(150)와 연동하여 대응되는 BPML의 "fault" 엘리먼트를 생성한다.As a result of the determination 230, when the element of the BPEL is a "throw" element, the basic activity processor 120 determines whether the "throw" element includes a "source" or "target" element as a dependent element (235). ), If it includes a "source" or "target" element as a dependent element, the basic activity processing unit 120 generates a "fault" element of the corresponding BPML in cooperation with the source / target processing unit 150.

만약, 상기 판단 결과(235), 상기 "throw" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하으면, 상기 "throw" 엘리먼트에 대응하는 BPML의 "fault" 엘리먼트가 기본 액티버티 처리부(120)에 의해서 생성된다(240).If the determination result 235 indicates that the "throw" element includes a "source" or "target" element as a dependent element, the "fault" element of the BPML corresponding to the "throw" element is a basic activity processor. Generated by 120 (240).

또한, 상기 판단 결과(230), BPEL의 엘리먼트가 "throw" 엘리먼트가 아니면 기본 액티버티 처리부(120)는 BPEL의 엘리먼트가 "compensate" 엘리먼트인지 판단한다(245).In addition, if the element of the BPEL is not a "throw" element, the determination result 230, the basic activity processing unit 120 determines whether the element of the BPEL is a "compensate" element (245).

상기 판단 결과(245), BPEL의 엘리먼트가 "compensate" 엘리먼트인 경우, 상기 "compensate" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(250), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 기본 액티버티 처리부(120)는 소스/타겟 처리부(150)와 연동하여 대응되 는 BPML의 "compensate" 엘리먼트를 생성한다.As a result of the determination 245, if the element of the BPEL is a "compensate" element, it is determined whether the "compensate" element includes a "source" or "target" element as a dependent element (250), and a "source" as a dependent element. Alternatively, when the "target" element is included, the basic activity processor 120 generates a "compensate" element of the corresponding BPML in cooperation with the source / target processor 150.

만약, 상기 판단 결과(250), 상기 BPEL의 "compensate" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면, 상기 "compensate" 엘리먼트에 대응되는 BPML의 "compensate" 엘리먼트가 기본 액티버티 처리부(120)에 의해서 생성된다(255).If the determination result 250 indicates that the "compensate" element of the BPEL does not include a "source" or "target" element as a dependent element, the "compensate" element of the BPML corresponding to the "compensate" element is a basic activity. Generated by the vertex processing unit 120 (255).

이 때, 기본 액티버티 처리부(120)는 BPML "compensate" 엘리먼트의 "process" 애트리뷰트 값을 BPEL "compensate" 엘리먼트의 "scope" 애트리뷰트의 값으로 설정한다.At this time, the basic activity processing unit 120 sets the value of the "process" attribute of the BPML "compensate" element to the value of the "scope" attribute of the BPEL "compensate" element.

또한, 상기 판단 결과(245), BPEL의 엘리먼트가 "compensate" 엘리먼트가 아니면 기본 액티버티 처리부(120)는 BPEL의 엘리먼트가 "assign" 엘리먼트인지 판단한다(260).In addition, if the element of the BPEL is not a "compensate" element, the basic activity processor 120 determines whether the element of the BPEL is an "assign" element (260).

상기 판단 결과(260), BPEL의 엘리먼트가 "assign" 엘리먼트인 경우, 상기 "assign" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(265), 상기 "assign" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 기본 액티버티 처리부(120)는 소스/타겟 처리부(150)와 연동하여 대응되는 BPML의 "assign" 엘리먼트를 생성한다.As a result of the determination 260, if the element of the BPEL is an "assign" element, it is determined whether the "assign" element includes a "source" or "target" element as a dependent element (265), so that the "assign" element is Including the "source" or "target" element as the dependent element, the basic activity processing unit 120 generates the "assign" element of the corresponding BPML in cooperation with the source / target processing unit 150.

만약, 상기 판단 결과(265), 상기 BPEL의 "assign" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면, 상기 BPEL의 "assign" 엘리먼트의 종속 엘리먼트인 "copy" 엘리먼트마다 하나의 BPML의 "assign" 엘리먼트가 기본 액티버티 처리부(120)에 의해서 생성된다(270). If the determination result 265 indicates that the "assign" element of the BPEL does not include a "source" or "target" element as a dependent element, one for each "copy" element that is a dependent element of the "assign" element of the BPEL. An "assign" element of the BPML of is generated by the basic activity processing unit 120 (270).

또한, 기본 액티버티 처리부(120)는 상기 생성된 "assign" 엘리먼트의 종속 엘리먼트인 "from" 엘리먼트가 "variable" 애트리뷰트의 값을 가지는지 또는 "expression" 애트리뷰트나 literal text의 값을 가지는지 판단하여(275), "from" 엘리먼트가 "variable" 애트리뷰트를 가지면 상기 BPML의 "assign" 엘리먼트의 종속 엘리먼트로 "source" 엘리먼트를 생성한다(280).In addition, the basic activity processor 120 determines whether the "from" element that is the dependent element of the generated "assign" element has a value of a "variable" attribute or a "expression" attribute or a literal text value. 275, if the "from" element has a "variable" attribute, create a "source" element as a dependent element of the "assign" element of the BPML (280).

또한, 상기 판단 결과(275), "from" 엘리먼트가 "expression" 애트리뷰트나 "literal text"를 가지면 기본 액티버티 처리부(120)는 상기 BPML의 "assign" 엘리먼트의 종속 엘리먼트로 "value" 엘리먼트를 생성한다(285).In addition, when the determination result 275 indicates that the "from" element has the "expression" attribute or the "literal text", the basic activity processor 120 generates the "value" element as a dependent element of the "assign" element of the BPML. (285).

한편, 상기 판단 결과(260), BPEL의 엘리먼트가 "assign" 엘리먼트가 아니면 기본 액티버티 처리부(120)는 BPEL의 엘리먼트가 "wait" 엘리먼트인지 판단한다(288).On the other hand, when the determination result 260, if the element of the BPEL is not the "assign" element, the basic activity processing unit 120 determines whether the element of the BPEL is a "wait" element (288).

상기 판단 결과(288), BPEL의 엘리먼트가 "wait" 엘리먼트인 경우, 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(290), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 기본 액티버티 처리부(120)는 소스/타겟 처리부(150)와 연동하여 대응되는 BPML의 "delay" 엘리먼트를 생성한다.As a result of the determination (288), if the element of the BPEL is a "wait" element, it is determined whether the "source" or "target" element is included as a dependent element (290), and a "source" or "target" element is defined as a dependent element. If included, the basic activity processor 120 generates a "delay" element of the corresponding BPML in cooperation with the source / target processor 150.

만약, 상기 판단 결과(290), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면, 상기 "wait" 엘리먼트에 대응하는 BPML의 "delay" 엘리먼트가 기본 액티버티 처리부(120)에 의해서 생성된다.If the determination result 290 does not include a "source" or "target" element as a dependent element, the "delay" element of the BPML corresponding to the "wait" element is generated by the basic activity processor 120. do.

이 때, 기본 액티버티 처리부(120)는 상기 "wait" 엘리먼트가 "for" 애트리 뷰트를 가지는지 또는 "until" 애트리뷰트를 가지는지 판단하여(292), 상기 "wait" 엘리먼트가 "for" 애트리뷰트를 가지면 "duration" 애트리뷰트를 가지는 BPML의 "delay"를 생성하고(294), 상기 "wait" 엘리먼트가 "until" 애트리뷰트를 가지면 "instant" 애트리뷰트를 가지는 BPML의 "delay"를 생성한다(296).In this case, the basic activity processor 120 determines whether the "wait" element has an "for" attribute or a "until" attribute (292), and the "wait" element has a "for" attribute. If a "delay" of the BPML having a "duration" attribute is generated (294), and if the "wait" element has a "until" attribute, generates a "delay" of a BPML having an "instant" attribute (296).

이와 같은 과정을 거쳐서 기본 액티버티 처리부(120)는 기본 액티버티를 수행하는 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트를 생성한다. Through this process, the basic activity processor 120 generates an element of BPML corresponding to an element of BPEL that performs the basic activity.

도 3a 및 도 3b는 본 발명에 따른 BPEL의 구조화된 액티버티 변환부가 여러 액티버티를 구조화시키는 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 흐름도이다.3A and 3B are flowcharts of the structured activity conversion unit of the BPEL according to the present invention to generate an element of the BPML corresponding to an element of the BPEL for structuring various activities.

도 3a 및 도 3b에 도시된 바와 같이, BPEL의 구조화된 액티버티 처리부(130)는 BPEL의 엘리먼트 "flow", "sequence", "while", "scope", switch", "pick" 에 대응되는 BPML의 엘리먼트로 생성한다.As shown in FIGS. 3A and 3B, the structured activity processing unit 130 of the BPEL corresponds to the elements "flow", "sequence", "while", "scope", switch ", and" pick "of the BPEL. It is created as an element of BPML.

상기 "flow", "sequence", "while", "scope" 엘리먼트 각각은 내부에 액티버티의 실행 환경을 기술하는 "scope" 엘리먼트를 포함할 수 있고, 특히 "flow" 엘리먼트는 "link" 엘리먼트를 포함할 수 있는데, 상기 "scope" 또는 "link" 엘리먼트를 처리하기 위해 실행 환경 처리부(140)가 실행한다.Each of the "flow", "sequence", "while", and "scope" elements may include a "scope" element that describes the execution environment of the activity therein. In particular, the "flow" element represents a "link" element. It may include, it is executed by the execution environment processor 140 to process the "scope" or "link" element.

실행 환경 처리부(140)가 상기 "scope" 또는 "link" 엘리먼트를 처리하는 과정은 도 5와 함께 후술한다.A process of the execution environment processor 140 processing the "scope" or "link" element will be described later with reference to FIG. 5.

구조화된 액티버티 처리부(130)도 기본 액티버티 처리부(120)와 마찬가지로 각 엘리먼트에 대하여 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하 는지를 판단하는 기능을 한다.The structured activity processing unit 130, like the basic activity processing unit 120, functions to determine whether each element includes a "source" or "target" element as a dependent element.

먼저, 구조화된 액티버티 처리부(130)는 BPEL의 엘리먼트가 "flow" 엘리먼트인지 판단한다(300).First, the structured activity processing unit 130 determines whether an element of the BPEL is a "flow" element (300).

상기 판단 결과(300), BPEL의 엘리먼트가 "flow" 엘리먼트인 경우, 상기 "flow" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(305), 상기 "flow" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 구조화된 액티버티 처리부(130)는 소스/타겟 처리부(150)와 연동하여 대응되는 BPML의 "all" 엘리먼트를 생성한다.As a result of the determination 300, when the element of the BPEL is a "flow" element, it is determined whether the "flow" element includes a "source" or "target" element as a dependent element (305), so that the "flow" element is If the subordinate element includes a "source" or "target" element, the structured activity processor 130 generates an "all" element of the corresponding BPML in cooperation with the source / target processor 150.

소스/타겟 처리부(150)가 상기 "source" 또는 "target" 엘리먼트를 처리하는 과정은 도 4와 함께 후술한다.A process of the source / target processor 150 processing the “source” or “target” element will be described later with reference to FIG. 4.

만약, 상기 판단 결과(305), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면, 상기 "flow" 엘리먼트에 대응하는 BPML의 "all" 엘리먼트는 구조화된 액티버티 처리부(130)에 의해서 생성된다(310).If the determination result 305 does not include a "source" or "target" element as a dependent element, the "all" element of the BPML corresponding to the "flow" element is determined by the structured activity processor 130. Is generated 310.

한편, 상기 판단 결과(300), BPEL의 엘리먼트가 "flow"가 아니면, 구조화된 액티버티 처리부(130)는 BPEL의 엘리먼트가 "sequence" 엘리먼트인지 판단한다(315). On the other hand, if the determination result 300, the element of the BPEL is not "flow", the structured activity processing unit 130 determines whether the element of the BPEL is a "sequence" element (315).

상기 판단 결과(315), BPEL의 엘리먼트가 "sequence" 엘리먼트인 경우, 구조화된 액티버티 처리부(130)는 상기 "sequence" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(320), 상기 "sequence" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 소스/타 겟 처리부(150)와 연동하여 대응되는 BPML의 "sequence" 엘리먼트를 생성한다.As a result of the determination 315, when the element of the BPEL is a "sequence" element, the structured activity processing unit 130 determines whether the "sequence" element includes a "source" or "target" element as a dependent element ( 320, when the "sequence" element includes a "source" or "target" element as a dependent element, the "sequence" element is interworked with the source / target processing unit 150 to generate a "sequence" element of the corresponding BPML.

만약, 상기 판단 결과(320), 상기 BPEL의 "sequence" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면 상기 BPEL의 "sequence" 엘리먼트에 대응하는 BPML의 "sequence" 엘리먼트가 구조화된 액티버티 처리부(130)에 의해서 생성된다(325). If the determination result 320 indicates that the "sequence" element of the BPEL does not include a "source" or "target" element as a dependent element, the "sequence" element of the BPML corresponding to the "sequence" element of the BPEL is structured. The generated activity processor 130 is generated (325).

상기 판단 결과(315), BPEL의 엘리먼트가 "sequence"가 아니면, 구조화된 액티버티 처리부(130)는 BPEL의 엘리먼트가 "while" 엘리먼트인지 판단한다(330). As a result of the determination 315, if the element of the BPEL is not "sequence", the structured activity processing unit 130 determines whether the element of the BPEL is a "while" element (330).

상기 판단 결과(330), BPEL의 엘리먼트가 "while" 엘리먼트인 경우, 구조화된 액티버티 처리부(130)는 상기 "while" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(335), 상기 "while" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 소스/타겟 처리부(150)와 연동하여 대응되는 BPML의 "while" 엘리먼트를 생성한다.As a result of the determination 330, when the element of the BPEL is a "while" element, the structured activity processing unit 130 determines whether the "while" element includes a "source" or "target" element as a dependent element ( 335) If the "while" element includes a "source" or "target" element as a dependent element, the "while" element of the corresponding BPML is generated in cooperation with the source / target processing unit 150.

만약, 상기 판단 결과(335), 상기 BPEL의 "while" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면 상기 BPEL의 "sequence" 엘리먼트에 대응하는 BPML의 "while" 엘리먼트가 구조화된 액티버티 처리부(130)에 의해서 생성된다(340). If the determination result 335 indicates that the "while" element of the BPEL does not include a "source" or "target" element as a dependent element, the "while" element of the BPML corresponding to the "sequence" element of the BPEL is structured. The generated activity processing unit 130 is generated (340).

상기 판단 결과(330), BPEL의 엘리먼트가 "while" 엘리먼트가 아니면, 구조화된 액티버티 처리부(130)는 BPEL의 엘리먼트가 "scope" 엘리먼트인지 판단한다(345). As a result of the determination 330, if the element of the BPEL is not a "while" element, the structured activity processing unit 130 determines whether the element of the BPEL is a "scope" element (345).

상기 판단 결과(345), BPEL의 엘리먼트가 "scope" 엘리먼트인 경우, 구조화 된 액티버티 처리부(130)는 상기 "scope" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(350), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 소스/타겟 처리부(150)와 연동하여 상기 "scope" 엘리먼트에 대응되는 BPML의 "call" 엘리먼트를 생성한다.As a result of the determination 345, when the element of the BPEL is a "scope" element, the structured activity processing unit 130 determines whether the "scope" element includes a "source" or "target" element as a dependent element ( 350, when the subordinate element includes a "source" or "target" element, the source / target processor 150 interworks with the source / target processor 150 to generate a "call" element of the BPML corresponding to the "scope" element.

만약, 상기 판단 결과(350), 상기 "scope" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면, 상기 "scope" 엘리먼트에 대응하는 BPML의 "call" 엘리먼트가 구조화된 액티버티 처리부(130)에 의해서 생성된다(355). If the determination result 350 indicates that the "scope" element does not include a "source" or "target" element as a dependent element, the "call" element of the BPML corresponding to the "scope" element is structured activity. Generated by the processing unit 130 (355).

이 때, "scope" 엘리먼트는 종속 엘리먼트로 사용될 변수를 나열하는 "variable" 엘리먼트, 메세지 식별과 관련된 "correlationSets" 엘리먼트, 예외 처리를 하는 "faultHandlesrs" 엘리먼트, 트랜잭션 처리를 하는 "compensationHandler" 엘리먼트 및 이벤트 처리를 하는 "eventHandlers" 엘리먼트등과 같은 실행 환경을 기술하고 있다. In this case, the "scope" element is a "variable" element that lists the variable to be used as a dependent element, a "correlationSets" element related to message identification, an "faultHandlesrs" element for handling exceptions, a "compensationHandler" element for processing transactions, and event handling. It describes the execution environment, such as the "eventHandlers" element.

이와 같이 실행 환경을 기술하는 "scope" 엘리먼트는 BPML에서 실행 환경을 기술하는 "context" 엘리먼트를 종속 엘리먼트로 포함하는 "process" 엘리먼트에 대응될 수 있다. 따라서 "scope" 엘리먼트에 기술된 실행 환경은 "process" 엘리먼트에 정의하고, "scope" 엘리먼트는 BPML에서 "process" 엘리먼트를 호출하는 "call" 엘리먼트로 변환한다. As such, the "scope" element describing the execution environment may correspond to the "process" element including the "context" element describing the execution environment as a dependent element in BPML. Thus, the execution environment described in the "scope" element is defined in the "process" element, which translates the "scope" element into a "call" element that calls the "process" element in BPML.

상기 "scope" 엘리먼트에 대응하는 "process" 엘리먼트를 생성하는 프로세스 생성부(160)에 대해서는 도 6와 함께 후술한다.The process generator 160 generating the “process” element corresponding to the “scope” element will be described later with reference to FIG. 6.

상기 판단 결과(345), BPEL의 엘리먼트가 "scope" 엘리먼트가 아니면, 구조화된 액티버티 처리부(130)는 BPEL의 엘리먼트가 "switch" 엘리먼트인지 판단한다(360). As a result of the determination 345, if the element of the BPEL is not a "scope" element, the structured activity processing unit 130 determines whether the element of the BPEL is a "switch" element (360).

상기 판단 결과(360), BPEL의 엘리먼트가 "switch" 엘리먼트인 경우, 구조화된 액티버티 처리부(130)는 상기 "switch" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(365), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 소스/타겟 처리부(150)와 연동하여 대응되는 BPML의 "switch" 엘리먼트를 생성한다.As a result of the determination 360, when the element of the BPEL is a "switch" element, the structured activity processing unit 130 determines whether the "switch" element includes a "source" or "target" element as a dependent element ( 365), when the subordinate element includes the "source" or "target" element, it interworks with the source / target processing unit 150 to generate a "switch" element of the corresponding BPML.

만약, 상기 판단 결과(365), 상기 BPEL의 "switch" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면 상기 BPEL의 "switch" 엘리먼트에 대응하는 BPML의 "switch" 엘리먼트가 구조화된 액티버티 처리부(130)에 의해서 생성된다(370). If the determination result 365 shows that the "switch" element of the BPEL does not include a "source" or "target" element as a dependent element, the "switch" element of the BPML corresponding to the "switch" element of the BPEL is structured. The generated activity processor 130 is generated (370).

또한 이 때, 구조화된 액티버티 처리부(130)는 상기 BPEL의 "switch" 엘리먼트의 종속 엘리먼트가 "case" 엘리먼트인지 "otherwise" 엘리먼트인지 판단하여(375), 상기 BPEL의 "switch" 엘리먼트의 종속 엘리먼트가 "case" 엘리먼트인 경우, 상기 BPML의 "switch" 엘리먼트의 종속 엘리먼트로 "case" 엘리먼트를 생성한다(380).In this case, the structured activity processor 130 determines whether the dependent element of the "switch" element of the BPEL is a "case" element or an "otherwise" element (375), and the dependent element of the "switch" element of the BPEL. If is a "case" element, create a "case" element as a dependent element of the "switch" element of the BPML (380).

또한, 상기 판단 결과(375), 상기 BPEL의 "switch" 엘리먼트의 종속 엘리먼트가 "otherwise" 엘리먼트인 경우, 상기 BPML의 "switch" 엘리먼트의 종속 엘리먼트로 "default" 엘리먼트를 생성한다(384).In operation 384, when the dependent element of the "switch" element of the BPEL is the "otherwise" element, the "default" element is generated as the dependent element of the "switch" element of the BPML (384).

또한, 상기 판단 결과(360), BPEL의 엘리먼트가 "switch" 엘리먼트가 아니면, 구조화된 액티버티 처리부(130)는 BPEL의 엘리먼트가 "pick" 엘리먼트인지 판단한다(386). In addition, when the determination result 360 indicates that the element of the BPEL is not a "switch" element, the structured activity processor 130 determines whether the element of the BPEL is a "pick" element (386).

상기 판단 결과(386), BPEL의 엘리먼트가 "pick" 엘리먼트인 경우, 구조화된 액티버티 처리부(130)는 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하여(388), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하면 소스/타겟 처리부(150)와 연동하여 대응되는 BPML의 "choice" 엘리먼트를 생성한다.As a result of the determination 386, when the element of the BPEL is a "pick" element, the structured activity processing unit 130 determines whether it includes a "source" or "target" element as a dependent element (388), Including the "source" or "target" element in conjunction with the source / target processing unit 150 generates a "choice" element of the corresponding BPML.

만약, 상기 판단 결과(388), 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않으면 상기 "pick" 엘리먼트에 대응하는 BPML의 "choice" 엘리먼트가 구조화된 액티버티 처리부(130)에 의해서 생성된다(390). If the determination result 388 does not include a "source" or "target" element as a dependent element, the "choice" element of the BPML corresponding to the "pick" element is generated by the structured activity processor 130. 390.

이 때, 구조화된 액티버티 처리부(130)는 상기 BPEL의 "pick" 엘리먼트의 종속 엘리먼트가 "onMessage" 엘리먼트인지 "onAlarm" 엘리먼트인지 판단하여(392), 상기 "pick" 엘리먼트의 종속 엘리먼트가 "onMessage" 엘리먼트인 경우 상기 BPML의 "choice" 엘리먼트의 종속 엘리먼트로 "action" 엘리먼트를 생성한다(394).In this case, the structured activity processing unit 130 determines whether the dependent element of the "pick" element of the BPEL is an "onMessage" element or an "onAlarm" element (392), and the dependent element of the "pick" element is "onMessage". If the element is an "action" element is created 394 as a dependent element of the "choice" element of the BPML.

또한, 상기 판단 결과(392), 상기 "pick" 엘리먼트의 종속 엘리먼트가 "onAlarm" 엘리먼트인 경우 상기 BPML의 "choice" 엘리먼트의 종속 엘리먼트로 "delay" 엘리먼트를 생성한다(398).In operation 398, when the dependent element of the “pick” element is an “onAlarm” element, the “delay” element is generated as a dependent element of the “choice” element of the BPML (398).

이와 같은 과정을 거쳐서 구조화된 액티버티 처리부(130)는 구조화된 액티버티를 수행하는 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트를 생성한다. Through this process, the structured activity processor 130 generates an element of BPML corresponding to an element of BPEL that performs the structured activity.

도 4는 본 발명에 따른 BPML의 소스/타겟 처리부가 "source" 및 "target" 엘리먼트를 처리하는 흐름도이다.4 is a flowchart in which a source / target processor of the BPML processes "source" and "target" elements according to the present invention.

BPEL 액티버티들은 모두 기본적으로 종속 엘리먼트로 "source" 와 "target" 엘리먼트를 가질 수 있다. "source" 와 "target" 엘리먼트는 "flow" 엘리먼트 내부에서 "link" 엘리먼트에 의해서 연결되며, "flow" 내부의 병렬적인 엘리먼트 수행 사이에서 "link" 엘리먼트에 의해 연결된 두 엘리먼트 간의 순서를 결정한다. BPML에서는 이런 "link" 와 "source" 및 "target" 엘리먼트의 개념이 존재하지 않으므로 대신 "signal" 과 "raise" 및 "synch" 엘리먼트를 사용한다. All BPEL activities can have "source" and "target" elements by default as dependent elements. The "source" and "target" elements are linked by the "link" element inside the "flow" element and determine the order between the two elements linked by the "link" element between parallel element executions within the "flow" element. In BPML, the concept of these "link" and "source" and "target" elements does not exist, so use the "signal" and "raise" and "synch" elements instead.

도시된 바와 같이, 소스/타겟 처리부(150)는 BPEL의 엘리먼트에 대해서 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단한다.As shown, the source / target processor 150 determines whether the element of the BPEL includes a "source" or "target" element as a dependent element.

상기 "source" 엘리먼트를 종속 엘리먼트로 포함하는 엘리먼트는 상기 "target" 엘리먼트를 종속 엘리먼트로 포함하는 엘리먼트보다 먼저 수행이 된다. 따라서 여러 개의 엘리먼트가 병렬적으로 수행이 될 때 각 엘리먼트가 포함하고 있는 종속 엘리먼트에 따라 실행되는 순서가 정해질 수 있다.An element including the "source" element as a dependent element is performed before an element including the "target" element as a dependent element. Therefore, when several elements are executed in parallel, the order of execution may be determined according to the dependent elements included in each element.

먼저, 소스/타겟 처리부(150)는 BPEL의 엘리먼트가 종속 엘리먼트로 "source" 엘리먼트만 포함하는지 판단한다(400).First, the source / target processor 150 determines whether an element of the BPEL includes only a "source" element as a dependent element (400).

상기 판단 결과(400), BPEL의 엘리먼트가 종속 엘리먼트로 "source" 엘리먼트만 포함하면 소스/타겟 처리부(150)는 각 액티버티의 순차적 수행을 보장하는 "sequence" 엘리먼트를 생성하고(405), 상기 "sequence" 엘리먼트의 종속 엘리먼트로 상기 BPEL의 대응되는 BPML의 엘리먼트를 생성한다(410). As a result of the determination 400, if an element of the BPEL includes only a "source" element as a dependent element, the source / target processing unit 150 generates a "sequence" element that guarantees sequential performance of each activity (405). Create an element of the corresponding BPML of the BPEL as a dependent element of the "sequence" element (410).

이 후, 소스/타겟 처리부(150)는 상기 "sequence" 엘리먼트의 종속 엘리먼트로 "raise" 엘리먼트를 생성하여(415) BPEL의 "source" 엘리먼트와 같은 효과를 구현한다.Thereafter, the source / target processor 150 generates a "raise" element as a dependent element of the "sequence" element (415) to implement the same effect as the "source" element of the BPEL.

또한, 상기 판단 결과(400), BPEL의 엘리먼트가 종속 엘리먼트로 "source" 엘리먼트를 포함하지 않으면 소스/타겟 처리부(150)는 "target" 엘리먼트만 포함하는지 판단한다(420).In addition, if the element 400 of the BPEL does not include a "source" element as a dependent element, the determination result 400 determines whether the source / target processing unit 150 includes only the "target" element (420).

상기 판단 결과(420), BPEL의 엘리먼트가 종속 엘리먼트로 "target" 엘리먼트만 포함하면 소스/타겟 처리부(150)는 각 액티버티의 순차적 수행을 보장하는 "sequence" 엘리먼트를 생성하고(425), 상기 "sequence" 엘리먼트의 종속 엘리먼트로 "target" 엘리먼트에 대응되는 BPML의 "synch" 엘리먼트를 생성하여(410), BPML의 "target" 엘리먼트와 같은 효과를 구현한다. As a result of the determination 420, if the element of the BPEL includes only the "target" element as a dependent element, the source / target processing unit 150 generates a "sequence" element that guarantees the sequential execution of each activity (425). As a dependent element of the "sequence" element, a "synch" element of the BPML corresponding to the "target" element is generated 410 to implement the same effect as the "target" element of the BPML.

이 후, 상기 "sequence" 엘리먼트의 종속 엘리먼트로 상기 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트를 생성한다(415).Thereafter, an element of BPML corresponding to an element of the BPEL is generated as a dependent element of the “sequence” element (415).

또한, 상기 판단 결과(420), BPEL의 엘리먼트가 종속 엘리먼트로 "target" 엘리먼트만 포함하지 않으면, 소스/타겟 처리부(150)는 "source" 엘리먼트와 "target" 엘리먼트를 포함하는지 판단한다(440).In addition, when the determination result 420, if the element of the BPEL does not include only the "target" element as a dependent element, the source / target processing unit 150 determines whether to include the "source" element and the "target" element (440) .

상기 판단 결과(440), BPEL의 엘리먼트가 종속 엘리먼트로 "source" 엘리먼트와 "target" 엘리먼트를 포함하면, 소스/타겟 처리부(150)는 액티버티간의 순차적 수행을 보장하는 "sequence" 엘리먼트를 생성하고(445), 종속 엘리먼트로 "synch" 엘리먼트를 생성한다(450), 이 후, 소스/타겟 처리부(150)는 상기 "sequence" 엘리먼트의 종속 엘리먼트로 상기 BPEL의 엘리먼트에 대응하는 엘리먼트를 생성한다(455). As a result of the determination 440, if the element of the BPEL includes a "source" element and a "target" element as dependent elements, the source / target processing unit 150 generates a "sequence" element that guarantees sequential performance between activities. In operation 445, the “synch” element is generated as the dependent element (450). Then, the source / target processor 150 generates an element corresponding to the element of the BPEL as the dependent element of the “sequence” element ( 455).

또한 상기 "sequence" 엘리먼트의 종속 엘리먼트로 "raise" 엘리먼트를 생성하여(460), 각 액티버티간에 순차적 실행이 되도록 한다. In addition, a "raise" element is generated as a subordinate element of the "sequence" element (460) to be sequentially executed between the activities.

이와 같은 과정을 거쳐서 소스/타겟 처리부(150)는 BPEL의 액티버티간의 순서를 지정하는 "source" 또는 "target" 엘리먼트와 같은 효과를 내는 BPML의 "synch", "raise" 엘리먼트를 생성한다.Through this process, the source / target processing unit 150 generates the "synch" and "raise" elements of the BPML having the same effect as the "source" or "target" elements that specify the order between the activities of the BPEL.

도 5는 본 발명에 따른 BPEL의 실행 환경 처리부가 "scope" 엘리먼트와 "link" 엘리먼트를 처리하는 흐름도이다.5 is a flowchart in which an execution environment processor of the BPEL processes a "scope" element and a "link" element according to the present invention.

도시된 바와 같이, 실행 환경 처리부(140)는 BPEL의 구조화된 액티버티를 수행하는 엘리먼트 중에서 종속 엘리먼트로 "scope" 엘리먼트나 "link" 엘리먼트를 가지는지를 판단한다(500).As shown, the execution environment processor 140 determines whether the element having the "scope" element or the "link" element as a dependent element among the elements for performing the structured activity of the BPEL (500).

상기 판단 결과(500), BPEL의 엘리먼트가 종속 엘리먼트로 "scope" 또는 "link" 엘리먼트중 하나라도 포함하면 실행 환경 처리부(140)는 상기 BPML 엘리먼트의 종속 엘리먼트로 "context" 엘리먼트를 생성한다. As a result of the determination 500, if an element of the BPEL includes at least one of a "scope" or a "link" element as a dependent element, the execution environment processor 140 generates a "context" element as a dependent element of the BPML element.

또한, 실행 환경 처리부(140)는 상기 BPEL의 엘리먼트에 포함된 종속 엘리먼트가 "link" 엘리먼트인지 판단하여(510), 상기 종속 엘리먼트가 "link" 엘리먼트이면, "link" 엘리먼트에 대응되는 BPML의 "signal" 엘리먼트를 생성한다(515).In addition, the execution environment processor 140 determines whether the dependent element included in the element of the BPEL is a “link” element (510). If the dependent element is a “link” element, the execution environment processor 140 determines “ create a signal "element (515).

상기 판단 결과(510),상기 BPEL의 엘리먼트에 포함된 종속 엘리먼트가 "link" 엘리먼트가 아니면 "scope" 엘리먼트인지 판단한다(520). 또한, 상기 "link" 엘리먼트를 포함한 BPEL의 엘리먼트가 "scope" 엘리먼트도 포함할 수 있으므로, 상기 "signal" 엘리먼트를 생성한 후에, 종속 엘리먼트로 "scope" 엘리먼트도 포함하는지 판단한다(520).As a result of the determination (510), it is determined whether the dependent element included in the element of the BPEL is a "scope" element or not (520). In addition, since an element of the BPEL including the “link” element may also include a “scope” element, after generating the “signal” element, it is determined whether the dependent element also includes the “scope” element (520).

상기 판단 결과(520), 상기 BPEL의 엘리먼트가 종속 엘리먼트로 "scope" 엘리먼트를 포함하는 경우, 실행 환경 처리부(140)는 프로세스 생성부(160)와 연동하여 상기 "scope" 엘리먼트를 처리한다(525).As a result of the determination 520, when the element of the BPEL includes a "scope" element as a dependent element, the execution environment processor 140 processes the "scope" element in cooperation with the process generation unit 160 (525). ).

프로세스 생성부(160)에서 상기 "scope" 엘리먼트를 처리하는 과정은 도 6과 함께 후술한다.The process of processing the “scope” element in the process generator 160 will be described later with reference to FIG. 6.

상기 "scope" 엘리먼트 처리 후, 상기 BPEL 엘리먼트 내부의 다른 엘리먼트에 대응되는 BPML의 엘리먼트가 생성된다(530). After processing the "scope" element, an element of BPML corresponding to another element inside the BPEL element is generated (530).

상기 판단 결과(500), 상기 BPEL의 엘리먼트가 "link" 또는 "scope" 엘리먼트를 포함하지 않는 경우, 상기 BPEL 엘리먼트 내부의 다른 엘리먼트에 대응되는 BPML의 엘리먼트가 생성된다(530).As a result of the determination 500, when the element of the BPEL does not include a "link" or "scope" element, an element of BPML corresponding to another element inside the BPEL element is generated (530).

도 6은 본 발명에 따른 프로세스 생성부에서 BPEL의 "scope" 엘리먼트를 처리하는 흐름도이다.6 is a flowchart of processing a "scope" element of a BPEL in a process generation unit according to the present invention.

도시된 바와 같이, 프로세스 생성부(160)는 BPEL의 "scope" 엘리먼트에 대응되는 BPML의 "process" 엘리먼트를 생성한다(600).As shown, the process generating unit 160 generates a "process" element of the BPML corresponding to the "scope" element of the BPEL (600).

또한 프로세스 생성부(160)는 상기 BPML의 "process" 엘리먼트의 종속 엘리먼트로 "context" 엘리먼트를 생성시킨다(605).In addition, the process generating unit 160 generates a "context" element as a dependent element of the "process" element of the BPML (605).

이 후, 프로세스 생성부(160)는 상기 BPEL의 "scope" 엘리먼트가 종속 엘리 먼트로 "variable" 엘리먼트를 포함하는지 판단한다(610).Thereafter, the process generator 160 determines whether the “scope” element of the BPEL includes a “variable” element as a dependent element (610).

상기 판단 결과(610), 상기 BPEL의 "scope" 엘리먼트가 종속 엘리먼트로 "variable" 엘리먼트를 가지면, 프로세스 생성부(160)는 각 "variable" 엘리먼트에 대해서 BPML의 "property" 엘리먼트를 상기 "context" 엘리먼트의 종속 엘리먼트로 생성한다(615).As a result of the determination 610, when the "scope" element of the BPEL has a "variable" element as a dependent element, the process generating unit 160 selects the "property" element of the BPML for each "variable" element. Create as a dependent element of the element (615).

또한 프로세스 생성부(160)는 상기 BPEL의 "scope" 엘리먼트 내에 "scope" 엘리먼트가 포함되어 있는지 판단하여(620) 포함하는 경우, 상기 "scope" 엘리먼트를 처리하기 위해 프로세스 생성부(160)가 실행된다(625).In addition, when the process generating unit 160 determines whether the "scope" element is included in the "scope" element of the BPEL (620), the process generating unit 160 is executed to process the "scope" element. 625.

또한, 프로세스 생성부(160)는 상기 BPEL의 "scope" 엘리먼트가 종속 엘리먼트로 "eventHandlers" 엘리먼트를 포함하는지 판단한다(630).In addition, the process generation unit 160 determines whether the "scope" element of the BPEL includes the "eventHandlers" element as a dependent element (630).

상기 판단 결과(630), 종속 엘리먼트로 "eventHandlers"를 포함하면, 프로세스 생성부(160)는 상기 "eventHandlers" 엘리먼트가 종속 엘리먼트로 "onMessage"를 포함하는지 종속 엘리먼트로 "onAlarm" 엘리먼트를 포함하는지 판단한다(635).If the determination result 630 includes the "eventHandlers" as the dependent element, the process generating unit 160 determines whether the "eventHandlers" element includes the "onMessage" as the dependent element or the "onAlarm" element as the dependent element. (635).

상기 판단 결과(635), 상기 "eventHandlers" 엘리먼트가 종속 엘리먼트로 "onMessage"를 포함하면, 프로세스 생성부(160)는 "eventHandlers" 엘리먼트에 대응하는 "exception" 엘리먼트를 상기 "context" 엘리먼트의 종속 엘리먼트로 생성하고, "exception" 엘리먼트의 종속 엘리먼트로 "event" 엘리먼트를 생성한다. 또한 프로세스 생성부(160)는 "onMessage" 내부의 엘리먼트에 대응하는 BPML 엘리먼트를 상기 "exception" 엘리먼트의 종속 엘리먼트로 생성한다(640).As a result of the determination 635, when the "eventHandlers" element includes "onMessage" as the dependent element, the process generating unit 160 adds an "exception" element corresponding to the "eventHandlers" element to the dependent element of the "context" element. Create an "event" element as a dependency of the "exception" element. In addition, the process generating unit 160 generates a BPML element corresponding to an element inside the “onMessage” as a dependent element of the “exception” element (640).

상기 판단 결과(635), 상기 "eventHandlers" 엘리먼트가 종속 엘리먼트로 "onAlarm" 엘리먼트를 포함하면 프로세스 생성부(160)는 "eventHandlers"에 대응하는 "schedule" 엘리먼트를 상기 "context" 엘리먼트의 종속 엘리먼트로 생성하고, "faults" 엘리먼트를 생성한 뒤, "faults" 엘리먼트의 종속 엘리먼트로 "case" 엘리먼트를 생성한다(650).As a result of the determination 635, when the "eventHandlers" element includes the "onAlarm" element as a dependent element, the process generating unit 160 sets a "schedule" element corresponding to "eventHandlers" as a dependent element of the "context" element. Create a "faults" element and then create a "case" element as a dependent element of the "faults" element (650).

또한 프로세스 생성부(160)는 상기 BPEL의 "scope" 엘리먼트가 종속 엘리먼트로 "faultsHandlers"를 포함하는지 판단하여(655), 포함하는 경우, 상기 "faultsHandlers" 엘리먼트가 종속 엘리먼트로 "catch" 엘리먼트를 포함하는지 또는 "catchAll" 엘리먼트를 포함하는지 판단한다(660).In addition, the process generation unit 160 determines whether the "scope" element of the BPEL includes "faultsHandlers" as a dependent element (655), and if so, the "faultsHandlers" element includes a "catch" element as a dependent element. Whether it contains a "catchAll" element (660).

상기 판단 결과(660), 상기 "faultsHandlers" 엘리먼트가 종속 엘리먼트로 "catch" 엘리먼트를 포함하면, "faults" 엘리먼트를 상기 "context" 엘리먼트의 종속 엘리먼트로 생성한 뒤, "faults" 엘리먼트의 종속 엘리먼트로 "case" 엘리먼트를 생성한다(665).As a result of the determination 660, if the "faultsHandlers" element includes a "catch" element as a dependent element, a "faults" element is created as a dependent element of the "context" element, and then as a dependent element of the "faults" element. Create a "case" element (665).

상기 판단 결과(660), 상기 "faultsHandlers" 엘리먼트가 종속 엘리먼트로 "catchAll" 엘리먼트를 포함하면, "faults" 엘리먼트를 상기 "context" 엘리먼트의 종속 엘리먼트로 생성한 뒤, "faults" 엘리먼트의 종속 엘리먼트로 "default" 엘리먼트를 생성한다(675).As a result of the determination 660, when the "faultsHandlers" element includes the "catchAll" element as a dependent element, the "faults" element is created as a dependent element of the "context" element and then as a dependent element of the "faults" element. Create a "default" element (675).

또한, 프로세스 생성부(160)는 상기 BPEL의 "scope" 엘리먼트가 종속 엘리먼트로 "compensationHandler"를 포함하는지 판단하여(680), 포함하는 경우 상기 "context" 엘리먼트는 상기 "compensation" 엘리먼트를 종속 엘리먼트로 포함할 수 없기 때문에 상기 "compensation" 엘리먼트를 상기 "process" 엘리먼트의 종속 엘 리먼트로 생성한다.In addition, the process generating unit 160 determines whether the "scope" element of the BPEL includes "compensationHandler" as a dependent element (680), and if so, the "context" element converts the "compensation" element into a dependent element. Since it cannot be included, the "compensation" element is created as a dependent element of the "process" element.

도 7은 도 3과 도 4의 "source", "target", "link" 그리고 "invoke" 엘리먼트로 구성된 BPEL의 문서를 설명하기 위한 도면이다.FIG. 7 is a diagram for describing a document of a BPEL composed of "source", "target", "link", and "invoke" elements of FIGS. 3 and 4.

도시된 바와 같이, "flow" 엘리먼트 내부에 "link" 엘리먼트를 선언하고, 상기 "link" 엘리먼트에 의해 이름이 "X"인 "invoke" 엘리먼트와 이름이 "Y"인 "invoke" 엘리먼트가 연결된다. 또한, 이름이 "X"인 "invoke" 엘리먼트가 종속 엘리먼트로 링크가 "XtoY"인 "source" 엘리먼트를 포함하고, 이름이 "Y"인 "invoke" 엘리먼트가 종속 엘리먼트로 링크가 "XtoY"인 "target" 엘리먼트를 포함한다.As shown, a "link" element is declared inside a "flow" element, and the "invoke" element named "X" and the "invoke" element named "Y" are connected by the "link" element. . Also, an "invoke" element named "X" contains a "source" element whose link is "XtoY" as a dependent element, and an "invoke" element named "Y" has a link "XtoY" as a dependent element. Contains a "target" element.

상기와 같은 경우, 링크가 "XtoY"인 "source" 엘리먼트를 종속 엘리먼트로 포함하는 이름이 "X"인 "invoke" 엘리먼트가 먼저 수행되고, 링크가 "XtoY"인 "target" 엘리먼트를 종속 엘리먼트로 포함하는 이름이 "Y"인 "invoke" 엘리먼트가 나중에 수행된다. 이렇게 각 엘리먼트간의 순서를 지정하는 "source" 엘리먼트와 "target" 엘리먼트에 대응되는 BPML의 "synch"와 "raise" 엘리먼트가 소스/타겟 처리부(150)에 의해 생성된다.In this case, the "invoke" element with the name "X" containing the "source" element with the link "XtoY" as the dependent element is performed first, and the "target" element with the link "XtoY" as the dependent element. An "invoke" element with the containing name "Y" is performed later. The source / target processing unit 150 generates “synch” and “raise” elements of the BPML corresponding to the “source” element and the “target” element that specify the order between the elements.

도 8은 도 7의 BPEL 엘리먼트가 대응되는 BPML 엘리먼트로 변환된 것을 설명하기 위한 도면이다.FIG. 8 is a diagram for explaining that the BPEL element of FIG. 7 is converted into a corresponding BPML element.

도시된 바와 같이, 상기 BPEL의 "flow" 엘리먼트에 대응되는 BPML의 "all" 엘리먼트가 생성되고, 상기 "flow" 엘리먼트가 "link" 엘리먼트를 종속 엘리먼트로 포함하기 때문에 상기 "all" 엘리먼트의 종속 엘리먼트로 "context" 엘리먼트를 생성한다. As shown, the "all" element of the BPML corresponding to the "flow" element of the BPEL is generated, and the dependent element of the "all" element because the "flow" element includes the "link" element as a dependent element. Creates a "context" element.

또한, BPEL의 이름이 "XtoY"인 "link" 엘리먼트에 대응하여 BPML의 이름이 "XtoY" 인 "signal" 엘리먼트가 생성된다.Also, a "signal" element with a name of BPML "XtoY" is generated corresponding to a "link" element with a name of BPEL of "XtoY".

또한, 이름이 "X"인 "invoke" 엘리먼트에 대응하여 이름이 "X"인 "action" 엘리먼트가 생성되고, 링크가 "XtoY"인 "source" 엘리먼트에 대응하여 시그널이 "XtoY"인 "raise" 엘리먼트가 생성되는데, 이 두 엘리먼트는 "sequence" 엘리먼트의 종속 엘리먼트로 포함되어져 순차적 실행이 되도록 한다.In addition, an "action" element named "X" is created corresponding to an "invoke" element named "X", and a "raise" signal whose signal is "XtoY" corresponding to a "source" element whose link is "XtoY". The element "is created, and these two elements are included as subordinates of the" sequence "element for sequential execution.

상기 이름이 "X"인 "action" 엘리먼트를 상기 시그널이 "XtoY"인 "raise" 엘리먼트보다 먼저 정의한 것은 상기 이름이 "X"인 "action" 엘리먼트가 먼저 실행된 다음에 상기 시그널이 "XtoY"인 "raise" 엘리먼트에 의해 시그널을 발생시키기 위해서이다.The "action" element with the name "X" is defined before the "raise" element with the signal "XtoY" so that the "action" element with the name "X" is executed first and then the signal is "XtoY". To generate a signal by the "raise" element.

또한, 링크가 "XtoY"인 "target" 엘리먼트에 대응하여 시그널이 "XtoY"인 "synch" 엘리먼트가 생성되고, 이름이 "Y"인 "invoke" 엘리먼트에 대응하여 이름이 "Y"인 "action" 엘리먼트가 생성되는데, 이 두 엘리먼트는 "sequence" 엘리먼트의 종속 엘리먼트로 포함되어져 순차적 실행이 되도록 한다.Also, a "synch" element with a signal of "XtoY" is created in response to a "target" element with a link of "XtoY", and an "action" named "Y" with a "invoke" element with a name of "Y". The element "is created, and these two elements are included as subordinates of the" sequence "element for sequential execution.

상기 이름이 "Y"인 "action" 엘리먼트를 시그널이 "XtoY"인 "synch" 엘리먼트보다 뒤에 정의한 것은 상기 시그널이 "XtoY"인 "raise" 엘리먼트에 의해 발생된 시그널이 상기 시그널이 "XtoY"인 "synch" 엘리먼트에 의해 동기화 된 뒤, 상기 이름이 "Y"인 "action" 엘리먼트가 실행되게 하기 위함이다.The "action" element named "Y" is defined after the "synch" element whose signal is "XtoY" so that the signal generated by the "raise" element whose signal is "XtoY" is "XtoY". This is to cause the "action" element named "Y" to be executed after being synchronized by the "synch" element.

따라서 종속 엘리먼트로 시그널이 "XtoY"인 "synch" 엘리먼트를 포함하는 이름이 "Y"인 "action" 엘리먼트가 종속 엘리먼트로 시그널이 "XtoY"인 "raise" 엘리 먼트를 포함하는 이름이 "X"인 "action" 엘리먼트보다 늦게 수행된다. Thus, an "action" element named "Y" containing a "synch" element whose signal is "XtoY" as a dependent element is named "X" containing a "raise" element whose signal is "XtoY" as a dependent element. Runs later than the "action" element.

이는, BPEL의 종속 엘리먼트로 링크가 "XtoY"인 "target" 엘리먼트를 포함하는 이름이 "Y"인 "invoke" 엘리먼트가 종속 엘리먼트로 링크가 "XtoY"인 "source" 엘리먼트를 포함하는 이름이 "X"인 "invoke" 엘리먼트보다 늦게 수행되는 것과 같은 원리이다.This means that an "invoke" element named "Y" that contains a "target" element whose link is "XtoY" as a dependent element of BPEL is named "source" which contains a "source" element whose link is "XtoY" as a dependent element. This is the same principle as running late than the "invoke" element, which is X ".

상기와 같은 본 발명의 BPEL에서 BPML로의 변환 방법은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함하는 것으로, 그 예로는 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk)-ROM, DVD(Digital Video Disk)-Rom, 자기 테이프, 플로피 디스크, 광데이터 저장 장치 등이 있다. The BPEL to BPML conversion method 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 can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

본 발명은 BPEL을 BPML로 변환시킴으로써 BPML을 지원하는 시스템에서 BPEL로 기술된 웹 서비스의 컴포지션의 참조를 가능하게 할 수 있다. The present invention may enable reference of the composition of a web service described in BPEL in a system supporting BPML by converting BPEL into BPML.

또한, 본 발명은 BPEL을 BPML로 변환시킴으로써 BPML을 지원하는 시스템에서 BPEL을 따르는 비즈니스 프로세스 기술 문서를 산출할 수 있다. In addition, the present invention can calculate a BPEL-compliant business process description document in a system supporting BPML by converting BPEL into BPML.

Claims (27)

BPEL의 기본 액티버티를 수행하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 기본 액티버티 처리 단계;A basic activity processing step of generating an element of BPML corresponding to an element that performs basic activity of BPEL; BPEL의 여러 개의 액티버티를 구조화시키는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 구조화된 액티버티 처리 단계;A structured activity processing step of generating an element of BPML corresponding to an element structuring several activities of the BPEL; BPEL의 구조화된 액티버티 내부의 실행 환경을 기술하는 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 실행 환경 처리 단계;An execution environment processing step of generating an element of the BPML corresponding to an element describing the execution environment inside the structured activity of the BPEL; BPEL의 액티버티간의 병렬 구조에서 각 액티버티간의 순서를 지정하는 엘리먼트에 근거하여 BPML의 대응되는 엘리먼트를 생성하는 소스/타겟 처리 단계; 및A source / target processing step of generating a corresponding element of the BPML based on an element specifying the order between the activities in the parallel structure between the activities of the BPEL; And 상기 실행 환경 처리 단계의 요구에 응답하여 BPML의 실행 환경을 기술하는 엘리먼트를 생성하는 프로세스 생성 단계A process generation step of generating an element describing an execution environment of a BPML in response to a request of the execution environment processing step 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 소스/타겟 처리 단계는,The source / target processing step, BPEL의 엘리먼트가 종속 엘리먼트로 "source" 엘리먼트만 포함하는 경우, 각 액티버티의 순차적 수행을 보장하는 "sequence" 엘리먼트를 생성하는 단계;If the element of the BPEL includes only the "source" element as a dependent element, creating a "sequence" element that ensures the sequential performance of each activity; 상기 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트를 상기 "sequence" 엘리먼트의 종속 엘리먼트로 생성하는 단계; Generating an element of BPML corresponding to an element of the BPEL as a dependent element of the “sequence” element; 상기 BPEL 엘리먼트가 여러 액티버티를 구조화시키는 엘리먼트인 경우, 상기 BPEL 엘리먼트 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계; 및If the BPEL element is an element that structures several activities, executing an execution environment processing step to process an execution environment of an activity inside the BPEL element; And 상기 "sequence" 엘리먼트의 종속 엘리먼트로 "raise" 엘리먼트를 생성하는 단계Creating a "raise" element as a dependent element of the "sequence" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 소스/타겟 처리 단계는,The source / target processing step, BPEL의 엘리먼트가 종속 엘리먼트로 "target" 엘리먼트만 포함하는 경우, 각 액티버티의 순차적 수행을 보장하는 "sequence" 엘리먼트를 생성하는 단계;If an element of the BPEL includes only a "target" element as a dependent element, creating a "sequence" element that ensures sequential performance of each activity; 상기 "sequence" 엘리먼트의 종속 엘리먼트로 "synch" 엘리먼트를 생성하는 단계; Creating a "synch" element as a dependent element of the "sequence" element; 상기 "sequence" 엘리먼트의 종속 엘리먼트로 상기 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 단계; 및Generating an element of BPML corresponding to an element of the BPEL as a dependent element of the "sequence" element; And 상기 BPEL 엘리먼트가 여러 액티버티를 구조화시키는 엘리먼트인 경우, 상기 BPEL 엘리먼트 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계If the BPEL element is an element that structures multiple activities, executing an execution environment processing step to process an execution environment of an activity inside the BPEL element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 소스/타겟 처리 단계는,The source / target processing step, BPEL의 엘리먼트가 종속 엘리먼트로 "source" 엘리먼트와 "target" 엘리먼트를 포함하는 경우, 각 액티버티의 순차적 수행을 보장하는 "sequence" 엘리먼트를 생성하는 단계;If an element of the BPEL includes a "source" element and a "target" element as dependent elements, creating a "sequence" element that ensures sequential performance of each activity; 상기 "sequence" 엘리먼트의 종속 엘리먼트로 "synch" 엘리먼트를 생성하는 단계;Creating a "synch" element as a dependent element of the "sequence" element; 상기 "sequence" 엘리먼트의 종속 엘리먼트로 상기 BPEL의 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 단계; Generating an element of BPML corresponding to an element of the BPEL as a dependent element of the "sequence" element; 상기 BPEL 엘리먼트가 여러 액티버티를 구조화시키는 엘리먼트인 경우, 상기 BPEL 엘리먼트 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계; 및If the BPEL element is an element that structures several activities, executing an execution environment processing step to process an execution environment of an activity inside the BPEL element; And 상기 "sequence" 엘리먼트의 종속 엘리먼트로 "raise" 엘리먼트를 생성하는 단계Creating a "raise" element as a dependent element of the "sequence" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 기본 액티버티 처리 단계는,The basic activity processing step, BPEL의 엘리먼트인 "invoke", "receive" 또는 "reply" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether an "invoke", "receive" or "reply" element of an BPEL element includes a "source" or "target" element as a dependent element; 상기 종속 엘리먼트로 상기 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the dependent element includes the "source" or "target" element, executing the source / target processing step to process the "sourece" or "target" element; 상기 BPEL 엘리먼트에 대응되는 BPML의 "action" 엘리먼트를 생성하는 단계; 및Creating an “action” element of BPML corresponding to the BPEL element; And 상기 종속 엘리먼트로 상기 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 BPEL의 엘리먼트에 대응되는 BPML의 "action" 엘리먼트를 생성하는 단계If the dependent element does not include the "source" or "target" element, creating a "action" element of the BPML corresponding to the element of the BPEL 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 기본 액티버티 처리 단계는,The basic activity processing step, BPEL의 엘리먼트인 "empty" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether an "empty" element that is an element of BPEL includes a "source" or "target" element as a dependent element; 상기 "empty" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "empty" element includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 "empty" 엘리먼트에 대응되는 BPML의 "empty" 엘리먼트를 생성하는 단계; 및Creating an "empty" element of BPML corresponding to the "empty" element; And 상기 "empty" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "empty" 엘리먼트에 대응되는 BPML의 "empty" 엘리먼트를 생성하는 단계If the "empty" element does not include a "source" or "target" element as a dependent element, creating an "empty" element of BPML corresponding to the "empty" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 기본 액티버티 처리 단계는,The basic activity processing step, BPEL의 엘리먼트인 "throw" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether a "throw" element that is an element of BPEL includes a "source" or "target" element as a dependent element; 상기 "throw" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "throw" element includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 "throw" 엘리먼트에 대응되는 BPML의 "fault" 엘리먼트를 생성하는 단계; 및Creating a “fault” element of BPML corresponding to the “throw” element; And 상기 "throw" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "throw" 엘리먼트에 대응되는 BPML의 "fault" 엘리먼트를 생성하는 단계If the "throw" element does not include a "source" or "target" element as a dependent element, creating a "fault" element of the BPML corresponding to the "throw" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 기본 액티버티 처리 단계는,The basic activity processing step, BPEL의 엘리먼트인 "compensate" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether a "compensate" element that is an element of a BPEL includes a "source" or "target" element as a dependent element; 상기 "compensate" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "compensate" element includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 "compensate" 엘리먼트에 대응되는 BPML의 "compensate" 엘리먼트를 생 성하는 단계; 및Generating a “compensate” element of BPML corresponding to the “compensate” element; And 상기 BPEL의 "compensate" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "compensate" 엘리먼트에 대응되는 BPML의 "compensate" 엘리먼트를 생성하는 단계If the "compensate" element of the BPEL does not include a "source" or "target" element as a dependent element, generating a "compensate" element of the BPML corresponding to the "compensate" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 기본 액티버티 처리 단계는,The basic activity processing step, BPEL의 엘리먼트인 "assign" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether an "assign" element that is an element of BPEL includes a "source" or "target" element as a dependent element; 상기 "assign" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "assign" element includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 "assign" 엘리먼트의 종속 엘리먼트인 "copy" 엘리먼트마다 대응되는 BPML의 "assign" 엘리먼트를 생성하는 단계; 및Generating an "assign" element of the corresponding BPML for each "copy" element that is a dependent element of the "assign" element; And 상기 BPEL의 "assign" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "assign" 엘리먼트에 대응되는 BPML의 "assign" 엘리먼트를 생성하는 단계If the "assign" element of the BPEL does not include a "source" or "target" element as a dependent element, generating an "assign" element of the BPML corresponding to the "assign" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 9 항에 있어서,The method of claim 9, 상기 기본 액티버티 처리 단계는,The basic activity processing step, 상기 BPEL의 "assign" 엘리먼트의 종속 엘리먼트인 "from" 엘리먼트가 "variable" 애트리뷰트, "expression" 애트리뷰트 또는 "literal text" 애트리뷰트를 가지는지 판단하는 단계; Determining whether a "from" element that is a dependent element of the "assign" element of the BPEL has a "variable" attribute, an "expression" attribute, or a "literal text" attribute; 상기 "from" 엘리먼트가 "variable" 애트리뷰트를 가지는 경우 상기 BPML의 "assign" 엘리먼트의 종속 엘리먼트로 "source" 엘리먼트를 생성하는 단계; 및Creating a "source" element as a dependent element of the "assign" element of the BPML when the "from" element has a "variable" attribute; And 상기 "from" 엘리먼트가 "expression" 애트리뷰트 또는 "literal text" 애트리뷰트를 가지는 경우, 상기 BPML의 "assign" 엘리먼트의 종속 엘리먼트로 "value" 엘리먼트를 생성하는 단계If the "from" element has an "expression" attribute or an "literal text" attribute, creating a "value" element as a dependent element of the "assign" element of the BPML 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.BPEL to BPML conversion method for executable business process further comprising. 제 1 항에 있어서,The method of claim 1, 상기 기본 액티버티 처리 단계는,The basic activity processing step, BPEL의 엘리먼트인 "wait" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판다하는 단계;Determining whether a "wait" element, which is an element of BPEL, includes a "source" or "target" element as a dependent element; 상기 "wait" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "wait" element includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 "wait" 엘리먼트에 대응되는 BPML의 "delay" 엘리먼트를 생성하는 단계; 및Generating a "delay" element of BPML corresponding to the "wait" element; And 상기 BPEL의 "assign" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "wait" 엘리먼트에 대응되는 BPML의 "delay" 엘리먼트를 생성하는 단계If the "assign" element of the BPEL does not include a "source" or "target" element as a dependent element, creating a "delay" element of the BPML corresponding to the "wait" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 11 항에 있어서,The method of claim 11, 기본 액티버티 처리 단계는.The main activity processing steps are: 상기 BPEL의 "wait" 엘리먼트가 "for" 애트리뷰트 또는 "until" 애트리뷰트를 가지는지 판단하는 단계;Determining whether the "wait" element of the BPEL has a "for" attribute or a "until" attribute; 상기 "wait" 엘리먼트가 "for" 애트리뷰트를 가지는 경우, "duration" 애트리뷰트를 가지는 "delay" 엘리먼트를 생성하는 단계; 및If the "wait" element has a "for" attribute, creating a "delay" element with a "duration" attribute; And 상기 "wait" 엘리먼트가 "until" 애트리뷰트를 가지는 경우, "instant" 애트리뷰트를 가지는 "delay" 엘리먼트를 생성하는 단계If the "wait" element has an "until" attribute, creating a "delay" element with an "instant" attribute 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.BPEL to BPML conversion method for executable business process further comprising. 제 1 항에 있어서,The method of claim 1, 상기 실행 환경 처리 단계는,The execution environment processing step, BPEL의 여러 액티버티를 구조화 시키는 액티버티를 수행하는 엘리먼트가 종속 엘리먼트로 "scope" 엘리먼트나 "link" 엘리먼트를 포함하는지 판단하는 단계; 및Determining whether an element performing an activity for structuring various activities of the BPEL includes a "scope" element or a "link" element as a dependent element; And 상기 BPEL 엘리먼트가 종속 엘리먼트로 "scope" 엘리먼트나 "link" 엘리먼트중 하나라도 포함하면 상기 BPEL 엘리먼트의 종속 엘리먼트로 "context" 엘리먼트를 생성하는 단계;Creating a "context" element as a dependent element of the BPEL element if the BPEL element includes any of the "scope" element or the "link" element as a dependent element; 상기 BPEL 엘리먼트의 종속 엘리먼트가 "link" 엘리먼트인지 또는 "scope" 엘리먼트인지 판단하는 단계;Determining whether the dependent element of the BPEL element is a "link" element or a "scope" element; 상기 BPEL의 종속 엘리먼트가 "link" 엘리먼트이면, "link" 엘리먼트를 나타내는 "signal" 엘리먼트를 생성하는 단계; If the dependent element of the BPEL is a "link" element, creating a "signal" element representing the "link" element; 상기 BPEL의 종속 엘리먼트가 "scope" 엘리먼트이면, "scope" 엘리먼트를 처리하기 위해 상기 프로세스 생성 단계를 실행하는 단계; If the dependent element of the BPEL is a "scope" element, executing the process creation step to process a "scope" element; 상기 BPEL 엘리먼트 내부의 다른 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 단계; 및Creating an element of a BPML corresponding to another element inside the BPEL element; And 상기 BPEL의 엘리먼트가 "link" 또는 "scope" 엘리먼트를 종속 엘리먼트로 포함하지 않는 경우, 상기 BPEL 엘리먼트 내부의 다른 엘리먼트에 대응되는 BPML의 엘리먼트를 생성하는 단계If the element of the BPEL does not include a "link" or "scope" element as a dependent element, creating an element of a BPML corresponding to another element inside the BPEL element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 구조화된 액티버티 처리 단계는,The structured activity processing step, BPEL의 엘리먼트인 "flow" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether a "flow" element that is an element of BPEL includes a "source" or "target" element as a dependent element; 상기 "flow" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "flow" element includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 "flow" 엘리먼트에 대응되는 BPML의 "all" 엘리먼트를 생성하는 단계; 및Generating an “all” element of BPML corresponding to the “flow” element; And 상기 BPEL의 "flow" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "flow" 엘리먼트에 대응되는 BPML의 "all" 엘 리먼트를 생성하는 단계; 및When the "flow" element of the BPEL does not include a "source" or "target" element as a dependent element, generating an "all" element of the BPML corresponding to the "flow" element; And 상기 "flow" 엘리먼트 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계Executing an execution environment processing step to process an execution environment of an activity inside the "flow" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 구조화된 액티버티 처리 단계는,The structured activity processing step, BPEL의 엘리먼트인 "sequence" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether a "sequence" element that is an element of a BPEL includes a "source" or "target" element as a dependent element; 상기 BPEL의 "sequence" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "sequence" element of the BPEL includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 BPEL의 "sequence" 엘리먼트에 대응되는 BPML의 "sequence" 엘리먼트를 생성하는 단계; Generating a “sequence” element of BPML corresponding to the “sequence” element of the BPEL; 상기 BPEL의 "sequence" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 BPEL의 "sequence" 엘리먼트에 대응되는 BPML의 "sequence" 엘리먼트를 생성하는 단계; 및If the "sequence" element of the BPEL does not include a "source" or "target" element as a dependent element, generating a "sequence" element of the BPML corresponding to the "sequence" element of the BPEL; And 상기 BPEL의 "sequence" 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계Executing an execution environment processing step to process an execution environment of an activity inside the " sequence " of the BPEL. 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 구조화된 액티버티 처리 단계는, The structured activity processing step, BPEL의 엘리먼트인 "while" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether a "while" element that is an element of BPEL includes a "source" or "target" element as a dependent element; 상기 BPEL의 "while" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "while" element of the BPEL includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 BPEL의 "while" 엘리먼트에 대응되는 BPML의 "while" 엘리먼트를 생성하는 단계; Generating a "while" element of the BPML corresponding to the "while" element of the BPEL; 상기 BPEL의 "while" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 BPEL의 "while" 엘리먼트에 대응되는 BPML의 "while" 엘리먼트를 생성하는 단계; 및When the "while" element of the BPEL does not include a "source" or "target" element as a dependent element, generating a "while" element of the BPML corresponding to the "while" element of the BPEL; And 상기 BPEL의 "while" 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계Executing an execution environment processing step to process an execution environment of an activity inside the "while" of the BPEL; 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 구조화된 액티버티 처리 단계는,The structured activity processing step, BPEL의 엘리먼트인 "scope" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether a "scope" element that is an element of BPEL includes a "source" or "target" element as a dependent element; 상기 "scope" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "scope" element includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 "scope" 엘리먼트에 대응되는 BPML의 "call" 엘리먼트를 생성하는 단계; 및Generating a "call" element of the BPML corresponding to the "scope" element; And 상기 "scope" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "scope" 엘리먼트에 대응되는 BPML의 "call" 엘리먼트를 생성하는 단계; 및If the "scope" element does not include a "source" or "target" element as a dependent element, generating a "call" element of a BPML corresponding to the "scope" element; And 상기 BPEL의 "scope" 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계Executing an execution environment processing step to process an execution environment of an activity inside the "scope" of the BPEL 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 1 항에 있어서,The method of claim 1, 상기 구조화된 액티버티 처리 단계는,The structured activity processing step, BPEL의 엘리먼트인 "switch" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether a "switch" element that is an element of a BPEL includes a "source" or "target" element as a dependent element; 상기 BPEL의 "switch" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "sourece" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "switch" element of the BPEL includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "sourece" or "target" element; 상기 BPEL의 "switch" 엘리먼트에 대응되는 BPML의 "switch" 엘리먼트를 생성하는 단계; 및Generating a "switch" element of the BPML corresponding to the "switch" element of the BPEL; And 상기 BPEL의 "switch" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 BPEL의 "switch" 엘리먼트에 대응되는 BPML의 "switch" 엘리먼트를 생성하는 단계If the "switch" element of the BPEL does not include a "source" or "target" element as a dependent element, creating a "switch" element of the BPML corresponding to the "switch" element of the BPEL 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 18 항에 있어서,The method of claim 18, 상기 구조화된 액티버티 처리 단계는,The structured activity processing step, 상기 BPEL의 "switch" 엘리먼트의 종속 엘리먼트가 "case" 엘리먼트인지 "otherwise" 엘리먼트인지 판단하는 단계;Determining whether the dependent element of the "switch" element of the BPEL is a "case" element or an "otherwise" element; 상기 BPEL의 "switch" 엘리먼트의 종속 엘리먼트가 "case" 엘리먼트인 경우, 상기 BPML "switch" 엘리먼트의 종속 엘리먼트로 "case" 엘리먼트를 생성하는 단계; Creating a "case" element as a dependent element of the BPML "switch" element when the dependent element of the "switch" element of the BPEL is a "case" element; 상기 상기 BPEL의 "switch" 엘리먼트의 종속 엘리먼트가 "otherwise" 엘리먼트인 경우, 상기 BPML "switch" 엘리먼트의 종속 엘리먼트로 "default" 엘리먼트를 생성하는 단계; 및Creating a "default" element as a dependent element of the BPML "switch" element when the dependent element of the "switch" element of the BPEL is an "otherwise" element; And 상기 "case" 엘리먼트 또는 "default" 엘리먼트 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계Executing an execution environment processing step to process an execution environment of an activity within the "case" element or the "default" element 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.BPEL to BPML conversion method for executable business process further comprising. 제 1 항에 있어서,The method of claim 1, 상기 구조화된 액티버티 처리 단계는,The structured activity processing step, BPEL의 엘리먼트인 "pick" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는지 판단하는 단계;Determining whether a "pick" element that is an element of BPEL includes a "source" or "target" element as a dependent element; 상기 "pick" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하는 경우, 상기 "source" 또는 "target" 엘리먼트를 처리하기 위해 상기 소스/타겟 처리 단계를 실행하는 단계;If the "pick" element includes a "source" or "target" element as a dependent element, executing the source / target processing step to process the "source" or "target" element; 상기 "pick" 엘리먼트에 대응되는 BPML의 "choice" 엘리먼트를 생성하는 단계; 및Creating a “choice” element of BPML corresponding to the “pick” element; And 상기 "pick" 엘리먼트가 종속 엘리먼트로 "source" 또는 "target" 엘리먼트를 포함하지 않는 경우, 상기 "pick" 엘리먼트에 대응되는 BPML의 "choice" 엘리먼트를 생성하는 단계If the "pick" element does not include a "source" or "target" element as a dependent element, creating a "choice" element of the BPML corresponding to the "pick" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 20 항에 있어서,The method of claim 20, 상기 구조화된 액티버티 처리 단계는,The structured activity processing step, 상기 "pick" 엘리먼트의 종속 엘리먼트가 "onMessage" 엘리먼트인지 또는 "onAlarm" 엘리먼트인지 판단하는 단계;Determining whether the dependent element of the "pick" element is an "onMessage" element or an "onAlarm" element; 상기 "pick" 엘리먼트의 종속 엘리먼트가 "onMessage" 엘리먼트인 경우, 상기 "choice" 엘리먼트의 종속 엘리먼트로 "action" 엘리먼트를 생성하는 단계; If the dependent element of the "pick" element is an "onMessage" element, creating an "action" element as a dependent element of the "choice" element; 상기 "pick" 엘리먼트의 종속 엘리먼트가 "onAlarm" 엘리먼트인 경우, 상기 "choice" 엘리먼트의 종속 엘리먼트로 "delay" 엘리먼트를 생성하는 단계; 및Creating a "delay" element as a dependent element of the "choice" element when the dependent element of the "pick" element is an "onAlarm" element; And 상기 "onMessage" 엘리먼트 또는 "onAlarm" 엘리먼트 내부의 액티버티의 실행 환경을 처리하기 위해 실행 환경 처리 단계를 실행하는 단계Executing an execution environment processing step to process an execution environment of an activity inside the "onMessage" element or an "onAlarm" element 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법. BPEL to BPML conversion method for executable business process further comprising. 제 1 항에 있어서,The method of claim 1, 상기 프로세스 생성 단계는,The process generation step, BPEL의 엘리먼트인 "scope" 엘리먼트에 대응되는 BPML의 "process" 엘리먼트를 생성하는 단계; 및Creating a “process” element of BPML corresponding to a “scope” element that is an element of BPEL; And 상기 "process" 엘리먼트의 종속 엘리먼트로 "context" 엘리먼트를 생성하는 단계Creating a "context" element as a dependent element of the "process" element 를 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.To BPML conversion method for executable business processes, including: 제 22 항에 있어서,The method of claim 22, 상기 프로세스 생성 단계는,The process generation step, 상기 BPEL의 "scope" 엘리먼트가 상기 "variables" 엘리먼트를 포함하는 경우, "variables" 엘리먼트의 종속 엘리먼트인 "variable"에 각각 대응되는 BPML의 "property" 엘리먼트를 상기 "context" 엘리먼트의 종속 엘리먼트로 생성하는 단계When the "scope" element of the BPEL includes the "variables" element, a "property" element of the BPML corresponding to "variable", which is a dependent element of the "variables" element, is created as a dependent element of the "context" element. Steps to 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.BPEL to BPML conversion method for executable business process further comprising. 제 22 항에 있어서,The method of claim 22, 상기 프로세스 생성 단계는 The process generation step 상기 "scope" 엘리먼트가 종속 엘리먼트로 "scope" 엘리먼트를 포함하는 경우, 상기 종속 엘리먼트로 포함된 "scope" 엘리먼트를 처리하기 위해 상기 프로세스 생성 단계를 실행하는 단계 If the "scope" element includes a "scope" element as a dependent element, executing the process creation step to process a "scope" element included as the dependent element 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.BPEL to BPML conversion method for executable business process further comprising. 제 22 항에 있어서,The method of claim 22, 상기 프로세스 생성 단계는,The process generation step, 상기 "scope" 엘리먼트가 상기 "eventHandlers" 엘리먼트를 포함하는 경우, 상기 "eventHandlers" 엘리먼트가 종속 엘리먼트로 "onMessage" 또는 "onAlarm" 엘리먼트를 포함하는지 판단하는 단계;If the "scope" element includes the "eventHandlers" element, determining whether the "eventHandlers" element includes a "onMessage" or "onAlarm" element as a dependent element; 상기 "eventHandlers" 엘리먼트의 종속 엘리먼트가 "onMessage" 엘리먼트인 경우, 상기 "context" 엘리먼트의 종속 엘리먼트로 상기 "eventHandlers" 엘리먼트에 대응되는 BPML의 "exception" 엘리먼트를 생성하는 단계;When the dependent element of the "eventHandlers" element is an "onMessage" element, generating an "exception" element of the BPML corresponding to the "eventHandlers" element as a dependent element of the "context" element; 상기 "exception" 엘리먼트의 종속 엘리먼트로 상기 "onMessage" 엘리먼트에 대응되는 BPML의 "event" 엘리먼트를 생성하는 단계;Generating an "event" element of a BPML corresponding to the "onMessage" element as a dependent element of the "exception" element; 상기 "exception" 엘리먼트의 종속 엘리먼트로 "onMessage" 내부의 엘리먼트에 대응되는 BPML 엘리먼트를 생성하는 단계;Generating a BPML element corresponding to an element inside "onMessage" as a dependent element of the "exception" element; 상기 "eventHandlers" 엘리먼트의 종속 엘리먼트가 "onAlarm" 엘리먼트인 경우, 상기 "context" 엘리먼트의 종속 엘리먼트로 상기 "eventHandlers" 엘리먼트에 대응되는 BPML의 "schedule" 엘리먼트를 생성하는 단계; 및Generating a "schedule" element of a BPML corresponding to the "eventHandlers" element as a dependent element of the "context" element when the dependent element of the "eventHandlers" element is an "onAlarm" element; And BPML의 "faults" 엘리먼트를 생성하여, 그 종속 엘리먼트로 "case" 엘리먼트를 생성하는 단계Creating a "faults" element of BPML and creating a "case" element with its dependent elements 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.BPEL to BPML conversion method for executable business process further comprising. 제 22 항에 있어서,The method of claim 22, 상기 프로세스 생성 단계는,The process generation step, 상기 "scope" 엘리먼트의 종속 엘리먼트가 상기 "faultHandlers" 엘리먼트인 경우, 상기 "faultHandlers" 엘리먼트가 종속 엘리먼트로 "catch" 또는 "catchAll" 엘리먼트를 포함하는지 판단하는 단계;If the dependent element of the "scope" element is the "faultHandlers" element, determining whether the "faultHandlers" element includes a "catch" or "catchAll" element as a dependent element; 상기 "faultHandlers" 엘리먼트의 종속 엘리먼트가 "catch" 엘리먼트인 경우, 상기 "context" 엘리먼트의 종속 엘리먼트로 BPML의 "faults" 엘리먼트를 생성하는 단계;If the dependent element of the "faultHandlers" element is a "catch" element, creating a "faults" element of BPML as a dependent element of the "context" element; 상기 "faults" 엘리먼트의 종속 엘리먼트로 "case" 엘리먼트를 생성하는 단 계; Creating a "case" element as a dependent element of the "faults" element; 상기 "faultHandlers" 엘리먼트의 종속 엘리먼트가 "catchAll" 엘리먼트인 경우, 상기 "context" 엘리먼트의 종속 엘리먼트로 BPML의 "faults" 엘리먼트를 생성하는 단계; 및 If the dependent element of the "faultHandlers" element is a "catchAll" element, creating a "faults" element of BPML as a dependent element of the "context" element; And 상기 "faults" 엘리먼트의 종속 엘리먼트로 "default" 엘리먼트를 생성하는 단계Creating a "default" element as a dependent element of the "faults" element 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.BPEL to BPML conversion method for executable business process further comprising. 제 22 항에 있어서,The method of claim 22, 상기 "scope" 엘리먼트의 종속 엘리먼트가 상기 "compensationHandler" 엘리먼트인 경우, 상기 "process" 엘리먼트의 종속 엘리먼트로 상기 "compensationHandler" 엘리먼트에 대응되는 BPML의 "compensation" 엘리먼트를 생성하는 단계When the dependent element of the "scope" element is the "compensationHandler" element, generating a "compensation" element of the BPML corresponding to the "compensationHandler" element as a dependent element of the "process" element 를 더 포함하는 실행 가능한 비즈니스 프로세스를 위한 BPEL에서 BPML로의 변환 방법.BPEL to BPML conversion method for executable business process further comprising.
KR1020040042748A 2004-06-10 2004-06-10 Method For Transforming From BPEL To BPML KR100549381B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040042748A KR100549381B1 (en) 2004-06-10 2004-06-10 Method For Transforming From BPEL To BPML

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040042748A KR100549381B1 (en) 2004-06-10 2004-06-10 Method For Transforming From BPEL To BPML

Publications (2)

Publication Number Publication Date
KR20050117438A KR20050117438A (en) 2005-12-14
KR100549381B1 true KR100549381B1 (en) 2006-02-03

Family

ID=37290848

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040042748A KR100549381B1 (en) 2004-06-10 2004-06-10 Method For Transforming From BPEL To BPML

Country Status (1)

Country Link
KR (1) KR100549381B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825722B1 (en) * 2005-12-08 2008-04-29 한국전자통신연구원 Method and apparatus for transforming BPEL4WS process into Coloured Petri-Nets

Also Published As

Publication number Publication date
KR20050117438A (en) 2005-12-14

Similar Documents

Publication Publication Date Title
US8762933B2 (en) Converting business process models to component models in a service oriented architecture domain
Chung et al. Web services computing: advancing software interoperability
KR100745480B1 (en) Method and System for Ranking Services in a Web Services Architecture
Khalaf et al. Service-Oriented Composition in BPEL4WS.
EP1542123B1 (en) Method and system for automatically generating service interfaces for a service oriented architecture
Lee et al. A framework for composing SOAP, non-SOAP and non-web services
US20090063225A1 (en) Tool for automated transformation of a business process definition into a web application package
Bordbar et al. On behavioural model transformation in web services
Gisolfi Web services architect part 1: an introduction to dynamic e-business
KR100549381B1 (en) Method For Transforming From BPEL To BPML
US8161055B2 (en) Filter extraction in a service registry environment
Zinnikus et al. A model-driven, agent-based approach for the integration of services into a collaborative business process
Zou et al. Building business processes or assembling service components: Reuse services with BPEL4WS and SCA
KR100561632B1 (en) Method For Transforming From BPML To BPEL For The Excutable Business Process
Collet et al. Components and services: A marriage of reason
van Splunter et al. Configuring web services, using structuring and techniques from agent configuration
KR100511136B1 (en) Method for Transforming from WSCI to BPEL and the Transformer
Ning et al. BPELGEN: an algorithm of automatically converting from web services composition plan to BPEL4WS
KR100511137B1 (en) Method for transforming from BPEL to WSCI and the Transformer
Yang et al. Automating integration of manufacturing systems and services: a semantic Web services approach
Belhaj et al. Collaborative autonomic management of distributed component-based applications
Brambilla et al. Asynchronous web services communication patterns in business protocols
Silcher et al. A novel approach to product lifecycle management based on service hierarchies
Tang et al. Automated web service composition system on enterprise service bus
Thomas et al. Web Service Composition: A Survey on the Various Methods used for Web Service Composition.

Legal Events

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

Payment date: 20090102

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee