KR20050064800A - 비피이엘에서 더블유에스씨아이로의 변환 방법 및 그 변환기 - Google Patents

비피이엘에서 더블유에스씨아이로의 변환 방법 및 그 변환기 Download PDF

Info

Publication number
KR20050064800A
KR20050064800A KR1020030096394A KR20030096394A KR20050064800A KR 20050064800 A KR20050064800 A KR 20050064800A KR 1020030096394 A KR1020030096394 A KR 1020030096394A KR 20030096394 A KR20030096394 A KR 20030096394A KR 20050064800 A KR20050064800 A KR 20050064800A
Authority
KR
South Korea
Prior art keywords
bpel
wsci
elements
child
activity
Prior art date
Application number
KR1020030096394A
Other languages
English (en)
Other versions
KR100511137B1 (ko
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 KR10-2003-0096394A priority Critical patent/KR100511137B1/ko
Publication of KR20050064800A publication Critical patent/KR20050064800A/ko
Application granted granted Critical
Publication of KR100511137B1 publication Critical patent/KR100511137B1/ko

Links

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)
  • Stored Programmes (AREA)

Abstract

본 발명은 웹 서비스 컴포지션 기술의 양대 표준 스펙인 WSCI와 BPEL간의 상호 변환을 위해, 각 BPEL 비즈니스 프로세스에 대응되는 WSCI 인터페이스를 생성하는 BPEL에서 WSCI로의 변환 방법 및 그 변환기에 관한 것이다.
본 발명의 BPEL-to-WSCI 변환기는, 웹서비스 행위의 기본 단위 엘리먼트들에 대한 변환을 수행하는 단순 액티버티 처리기; 복수 개의 단순 액티버티들을 구조화시키는 엘리먼트들에 대한 변환을 수행하는 구조화된 액티버티 처리기; 각 액티버티간의 병렬 구조에서 순서를 지정하는 소스/타겟 엘리먼트에 대한 변환을 수행하는 소스/타겟 처리기; 구조화된 액티버티 내부의 link 및 scope 엘리먼트에 대한 변환을 수행하는 실행 환경 처리기; 및 BPEL의 실행 환경을 기술하는 scope에 대응되는 WSCI의 process를 생성하는 프로세스 생성기;로 구성된다.

Description

비피이엘에서 더블유에스씨아이로의 변환 방법 및 그 변환기{Method for transforming from BPEL to WSCI and the Transformer}
본 발명은 BPEL에서 WSCI로의 변환 방법 및 그 변환기에 관한 것이며, 보다 상세히는 웹 서비스의 컴포지션을 기술하는 서로 다른 두 표준인 WSCI와 BPEL간의 상호 변환을 위해, BPEL로부터 WSCI를 생성하는 변환 방법 및 그 변환기에 관한 것이다.
웹 서비스란 벤더 중립적인 초경량의 통신 프로토콜을 통해 네트워크 상의 다른 시스템으로부터의 XML 포맷의 요청 받는 모듈형 애플리케이션이다. 정의에 의하면 웹 서비스를 요청하는 주체는 네트워크 상의 다른 시스템이므로 웹 서비스는 새로운 분산 컴퓨팅 기술이다. 사용되는 프로토콜의 초경량을 위해서 보안, 트랜잭션 관리 등은 다른 확장 스펙에서 처리하도록 한다. 그리고 벤더 중립적으로 개방형 프로토콜을 사용하여 웹 서비스 스택을 구현한 시스템이라면 운영체제에 상관없이 상호 운영성을 가지게 된다. 현재 웹 서비스를 위한 기본 표준에는 웹 서비스가 제공하는 서비스가 무엇인지, 그 웹 서비스에 어떻게 접근하는지, 예상되는 응답의 타입이 무엇인지를 기술하는 WSDL(Web Service Description Language), XML 기반의 메시징 프로토콜인 SOAP(Simple Object Access Protocol), 웹 서비스의 등록과 검색을 위한 디렉토리 서비스인 UDDI(Universal Description, Discovery, and Integration)가 있다. 네트워크에 접근 가능하고, XML 인식하는 모든 애플리케이션은 이 표준들을 사용함으로써 프로그래밍 언어나 운영 체제에 관계없이 웹 서비스를 호출할 수 있는 것이다.
따라서, 기존의 레거시 애플리케이션들은 웹 서비스로 등록되는 절차를 거친 뒤에 네트워크를 통해 다른 애플리케이션에서 호출하여 사용할 수 있게 되었다. 이런 특성으로 인해 웹 서비스가 분산 환경에서의 통합을 위한 획기적인 솔루션으로 떠오르고 있다. 특히 EAI나 B2B 애플리케이션, 인트라넷의 컴포넌트 재사용에 효과적으로 사용될 것으로 기대되고 있다.
기본 표준인 WSDL, SOAP, UDDI를 통해서는 하나의 웹 서비스에 의한 서비스만 가능하다. 그러나 실제 웹 서비스를 이용해서 제공하고자 하는 서비스는 훨씬 복잡하다. 예를 들어, 인터넷에서 상품 구매하는 비즈니스 프로세스를 웹 서비스로 구현하기 위해서는 소비자가 해당 상품에 대한 구매를 요청하는 웹 서비스, 요청한 상품의 재고를 조사하는 웹 서비스, 재고가 있는 경우 판매하겠다는 의사를 전달하는 웹 서비스, 재고가 없는 경우 품절임을 알리는 웹 서비스, 소비자의 입금을 확인하는 웹 서비스, 택배 회사에 물품 운송을 요청하는 웹 서비스 등 여러 개의 웹 서비스가 비즈니스 로직에 따라 연결되고 조직화되어야 한다. 이와 같은 웹 서비스 컴포지션을 위해 W3C의 WSCI(Web Service Choreography Interface)와, IBM과 Microsoft의 BPEL4WS(Business Process Execution Language for Web Services) 등이 등장하였다.
WSCI는 협업적 서비스에 참여하는 웹 서비스들 간의 공개적인 메시지 교환을 기술하는 코리어그래피(choreography)언어이다. WSCI의 글로벌 모델은 협업에 참여하는 인터페이스들의 집합과 이들 사이에서 교환되는 메시지를 기술하고, 각각의 WSCI 인터페이스는 한 참여자의 입장에서 바라본 웹 서비스의 컴포지션을 기술한다. 초기에 Sun Microsystems, SAP, BEA에 의해 작성되었고, 2002년에 8월에 W3C 노트로 공표되었으며, 현재 두 메이저 벤더인 Sun Microsystems와 Oracle에서 표준화 채택을 위해 힘을 실어주고 있다.
BPEL4WS(이하:BPEL)는 2002년에 Microsoft의 XLANG과 IBM의 WSFL를 통합하여 만든 웹 서비스 오케스트레이션(orchestration) 언어이다. 오케스트레이션은 메시지 단계에서 웹 서비스가 상호 작용하는 방법을 기술하는데, 비즈니스 로직과 상호 작용의 실행 순서를 포함한다. 즉 BPEL의 비즈니스 프로세스는 외부로부터 서비스 제공을 요청하는 메시지를 받았을 때, 외부 웹 서비스를 호출하여 추가 데이터를 제공받아, 서비스를 요청한 측에 응답하는 비즈니스 절차를 기술한다. 복잡한 비즈니스 로직이 바로 이 BPEL 비즈니스 프로세스에서 웹 서비스의 컴포지션으로 기술된다. IBM과 Microsoft, BEA는 표준 채택을 위해 2003년 4월에 BPEL 스펙을 OASIS에 제출하였고, OASIS에서는 스펙을 발전시키기 위해 OASIS BPEL 기술 위원회를 구성하였다.
웹 서비스 컴포지션을 위한 표준은 크게 WSCI와 BPEL로 양분된 상태로, 현재 웹 서비스와 관련된 IT 업계의 동향은 다음과 같다.
각 표준을 지원하는 메이저 벤더들이 서로 다른 표준화 단체를 통해 표준화 작업에 박차를 가하고 있고, 이를 토대로 각 표준을 따르는 제품 구현도 활발히 이루어지고 있다. Intalio와 Vergil Technologies는 WSCI와 연계된 BPML을 구현한 제품을 내놓았고, Sun Microsystems는 WSCI를 지원하는 Sun ONE WSCI 에디터를 제공하고 있다. IBM에서는 BPEL을 위한 에디터 및 BPEL 엔진인 BPWS4J를 제공하고, BindSystems에서는 BPEL 모델링 및 편집 도구를 제공하며, Collaxa에서는 BPEL을 위한 실행 플랫폼을 제공한다. 그리고 Microsoft와 BEA는 향후에 BPEL 기반 제품을 생산할 것이라고 공표하였다. 이처럼 산업계에서도 웹 서비스 제품군 시장에서 우위를 차지하기 위한 두 스펙간의 경쟁은 계속 되고 있다. 당분간 웹 서비스 컴포지션을 위한 표준 스펙은 WSCI와 BPEL이 독립적으로 존재하며 기술적으로는 상보적으로, 산업적으로는 경쟁적으로 발전되리라 예상된다.
WSCI와 BPEL이 각각 서로 다른 표준화 단체인 W3C와 OASIS에서, 서로 다른 메이저 벤더들의 지원을 받으며 독립적으로 발전되고 있는 상황에서 WSCI와 BPEL간의 상호 변환 기술은 필수적이다. 상호 변환을 위한 알고리즘을 구하기 위해서는 WSCI의 모델과 BPEL의 비즈니스 모델에 대한 명확한 이해와 비교가 선행되어야 한다. BPEL의 비즈니스 프로세스는 한 주체의 입장에서 요청받은 서비스를 수행하기 위한 비즈니스 로직을 웹 서비스의 컴포지션으로 나타내었는데, 이는 WSCI에서 WSCI의 글로벌 모델을 구성하는 WSCI 인터페이스 하나에 대응된다고 볼 수 있다.
따라서, 본 발명은 상술한 종래의 문제점 및 필요성을 해결하기 위한 것으로서, 본 발명의 목적은 웹 서비스 컴포지션 표준 언어인 WSCI와 BPEL간의 상호 변환을 위해, BPEL 비즈니스 프로세스로부터 WSCI 인터페이스를 만드는 생성기를 통해서 각 BPEL 비즈니스 프로세스에 대응되는 WSCI 인터페이스를 생성하는 BPEL에서 WSCI로의 변환 방법 및 그 변환기를 제공하는데 있다.
상기 본 발명의 목적을 달성하기 위한 BPEL에서 WSCI로의 변환기는, 웹서비스 행위의 기본 단위 엘리먼트들에 대한 변환을 수행하는 단순 액티버티 처리기; 복수 개의 단순 액티버티들을 구조화시키는 엘리먼트들에 대한 변환을 수행하는 구조화된 액티버티 처리기; 각 액티버티간의 병렬 구조에서 순서를 지정하는 소스/타겟 엘리먼트에 대한 변환을 수행하는 소스/타겟 처리기; 구조화된 액티버티 내부의 link 및 scope 엘리먼트에 대한 변환을 수행하는 실행 환경 처리기; 및 BPEL의 실행 환경을 기술하는 scope에 대응되는 WSCI의 process를 생성하는 프로세스 생성기;로 구성된다.
또한, 상기 본 발명의 목적을 달성하기 위한 BPEL에서 WSCI로의 변환 방법은, 웹서비스 행위의 기본 단위 엘리먼트들에 대한 변환을 수행하는 단순 액티버티 처리단계; 복수 개의 단순 액티버티들을 구조화시키는 엘리먼트들에 대한 변환을 수행하는 구조화된 액티버티 처리단계; 각 액티버티간의 병렬 구조에서 순서를 지정하는 소스/타겟 엘리먼트에 대한 변환을 수행하는 소스/타겟 처리단계; 구조화된 액티버티 내부의 link 및 scope 엘리먼트에 대한 변환을 수행하는 실행 환경 처리단계; 및 BPEL의 실행 환경을 기술하는 scope에 대응되는 WSCI의 process를 생성하는 프로세스 생성단계;로 이루어진다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 BPEL 비즈니스 프로세스로부터 WSCI 인터페이스를 생성하는 변환 모듈의 전체 블록 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 BPEL 비즈니스 프로세스로부터 WSCI 인터페이스를 생성하는 변환 모듈은, 단순 액티버티 처리기(110), 구조화된 액티버티 처리기(120), 소스/타겟 처리기(130), 프로세스 생성기(140), 실행 환경 처리기(150)로 구성된다.
이는 XML 형식을 따르는 BPEL이 웹서비스의 컴포지션을 엘리먼트 process에 기술하고, process 내부는 웹서비스 행위의 기본 단위인 단순 액티버티와, 복수 개의 단순 액티버티들을 구조화시키는 구조화된 액티버티와, 각 액티버티간의 병렬 구조에서 순서를 지정하는 소스/타겟과, 액티버티 수행에 사용되는 변수, 예외처리, 이벤트 처리, 트랜잭션 처리 등을 기술하는 scope 엘리먼트로 구성되는 BPEL의 구성 요소뿐만 아니라, context 엘리먼트에 실행 환경을 기술하는 WSCI의 구성 요소와 구조를 반영하는 것이다.
따라서, 본 발명의 BPEL 프로세스로부터 WSCI 인터페이스를 생성하는 변환 모듈에서는, 단순 액티버티인 invoke, receive, reply, empty, throw, compensate, assign, wait 얼리먼트는 단순 액티버티 처리기(110)에서, 복수 개의 단순 액티버티들을 구조화시키는 flow, sequence, while, scope, switch, pick 엘리먼트는 구조화된 액티버티인 처리기(120)에서, 그리고 각 액티버티들의 source/target 엘리먼트는 소스/타겟 처리기(130)에서, BPEL의 실행 환경을 기술하는 scope에 대응되는 WSCI의 process 정의는 프로세스 생성기(140)에서 각각 처리한다.
또한, 상기 실행 환경 처리기(150)는 구조화된 액티버티 내부에 link나 scope 엘리먼트의 유무를 가려서 link 엘리먼트에 대해서는 link를 위한 더미 프로세스를 생성하고, scope 엘리먼트에 대해서는 프로세스 생성기를 호출하여 scope에 대응되는 프로세스를 생성한다.
도 2는 본 발명에 따른 BPEL의 단순 액티버티 처리기(110)에서의 처리 흐름도이다.
도 2에 도시된 바와 같이, 상기 단순 액티버티 처리기(110)는 invoke, receive, reply 엘리먼트인 경우에는 action 엘리먼트를,(S201) empty 엘리먼트인 경우에는 empty 엘리먼트를,(S202) throw 엘리먼트인 경우에는 fault 엘리먼트를,(S203) compensate인 경우에는 compensate 엘리먼트를,(S204) wait 엘리먼트인 경우에는 애트리뷰트로 for를 가지는지 until를 가지는지에 따라서 애트리뷰트 type의 값이 dateTime인 delay 엘리먼트 또는 duration인 delay 엘리먼트를 생성한다.(S207,S208)
또한, WSCI에서는 BPEL의 assign 엘리먼트에 대응되는 엘리먼트가 존재하지 않으므로, assign 엘리먼트인 경우에는 empty 엘리먼트를 생성하고 assign 엘리먼트가 존재했음을 표현하는 주석 처리를 해준다.(S205)
또한, 상기 각 액티버티에 대해서 소스와 타겟을 가진 경우에는 소스/타겟 처리 과정을 수행하는데, 소스/타겟 처리기(130)는 도 4를 참조하여 설명하기로 한다.
도 3은 본 발명에 따른 BPEL의 구조화된 액티버티 처리기(120)의 실행 순서도이다.
도 3에 도시된 바와 같이, 상기 구조화된 액티버티 처리기(120)는, flow 엘리먼트인 경우에는 all 엘리먼트를, sequence 엘리먼트인 경우에는 sequence 엘리먼트를, while 엘리먼트인 경우에는 while 엘리먼트를, scope 엘리먼트인 경우에는 call 엘리먼트를 각각 생성한다.(S301, S032, S303, S304)
이때, scope 엘리먼트 내부에는 수행할 액티버티와 더불어, 사용될 변수를 나열하는 variables 엘리먼트, 메시지 식별과 관련된 correlationSets, 예외 처리를 하는 faultHandlers, 트랜잭션 처리를 하는 compensationHandler, 이벤트 처리를 하는 eventHandlers를 포함한다. 따라서 scope 엘리먼트는 WSCI에서 자체적으로 실행 환경인 context 엘리먼트를 가지는 process 엘리먼트에 대응시킬 수 있으므로, scope에 해당되는 실행 환경은 process로 정의하고, scope 엘리먼트는 WSCI에서 call 엘리먼트로 치환한다. 이러한 scope 엘리먼트에 대응하는 process 엘리먼트를 만드는 프로세스 생성기(140)에 대해서는 도 6에서 설명하기로 한다.
그런데, flow, sequence, while, scope 엘리먼트 각각은 내부에 scope 엘리먼트 또는 link 엘리먼트를 포함할 수 있는데, 이는 WSCI 인터페이스에서 context에 나열되는 실행 환경의 정보이므로 실행 환경 처리기를 수행한다. 이 실행 환경 처리기(150)에 대해서는 도 5에서 설명하기로 한다.
한편, 엘리먼트 switch에 대해서 switch 엘리먼트를 생성하고,(S305) switch의 자식 엘리먼트가 case인 경우에는 switch의 자식 엘리먼트로 case를, switch의 자식 엘리먼트가 otherwise인 경우에는 switch의 자식 엘리먼트로 default를 생성한다.(S307)
그리고, 엘리먼트 pick에 대해서 choice 엘리먼트를 생성하고,(S306) pick의 자식 엘리먼트가 onMessage인 경우에는 choice의 자식 엘리먼트로 onMessage를, pick의 자식 엘리먼트가 onAlarm인 경우에는 choice의 자식 엘리먼트로 onTimeout을 생성한다.(S308)
그런데, 상기 switch와 choice 엘리먼트는 자식 엘리먼트인 case와 default 그리고 onMessage와 onTimeout가 별도의 실행 환경인 context를 가질 수 있으므로, 자식 엘리먼트 각각에 대해서 실행환경 처리기(150)를 수행한다. 또한, 이들 각 구조화된 액티버티가 소스와 타겟을 가진 경우에는 소스/타겟 처리기(130)를 수행하는데, 소스/타겟 처리기는 도 4를 참조하면서 설명하기로 한다.
도 4는 BPEL 액티버티의 소스/타겟 처리기(130)에서의 처리 흐름도이다.
BPEL 액티버티들은 모두 기본적으로 자식 엘리먼트로 source와 target을 가질 수 있다. source와 target 엘리먼트는 구조화된 액티버티 flow의 밑에서 link 엘리먼트에 의해서 연결되며, flow 내부의 병렬적인 액티버티 수행 사이에서 link에 의해 연결된 두 액티버티 간의 순서를 결정한다. WSCI에서는 이런 link와 source/target의 개념이 존재하지 않으므로 대신 process와 spawn/join을 사용한다. link를 표현하기 위해서 link를 나타내는 더미 프로세스를 생성하는데 이는 프로세스 생성기(140)에서 설명하기로 한다.
도 4에서, BPEL 액티버티가 source 엘리먼트만을 가지는 경우에는 해당 BPEL 액티버티에 대응하는 WSCI 엘리먼트를 먼저 생성한 다음, spawn 엘리먼트를 생성한다. 그리고 이 두 엘리먼트는 sequence 엘리먼트로 감싸서 source 엘리먼트의 효과를 낸다.(S401,S402)
그리고, 자식 엘리먼트로 target 엘리먼트만을 가지는 경우에는 source 엘리먼트가 끝나기를 기다리기 때문에 먼저 join 엘리먼트를 생성하고, BPEL 액티버티에 대응하는 WSCI 엘리먼트를 생성한다. 그리고 이 두 엘리먼트를 sequence 엘리먼트로 감싸서 target 엘리먼트의 효과를 낸다.(S403,S404)
또한, 자식 엘리먼트로 source와 target 엘리먼트를 모두 가지는 경우에는 target을 위한 join 엘리먼트를 먼저 생성한 다음에, BPEL 액티버티에 대응하는 WSCI 엘리먼트를 생성한 다음, source를 위한 spawn 엘리먼트를 생성한다. 그리고 이 엘리먼트들을 sequence 엘리먼트로 감싼다.(S405,S406)
도 5는 본 발명에 따른 상기 실행 환경 처리기(150)에서의 처리 흐름도이다.
도 5를 참조하면, 상기 실행 환경 처리기(150)는, BPEL 복합 액티버티를 입력으로 해서 자식 엘리먼트로 scope 또는 link 엘리먼트를 가지는지를 검사하여,(S501) 둘 중에 하나라도 가지는 경우에 context 엘리먼트를 생성한다. 자식 엘리먼트로 link를 가지고 있는 경우에는 link를 나타내는 더미 프로세스를 위한 process 엘리먼트를 생성하고, scope 엘리먼트를 가지고 있는 경우에는 scope에 해당하는 프로세스를 정의하기 위해서 프로세스 생성기(140)를 수행한다.(S502)
한편, 도 6은 본 발명에 따른 상기 프로세스 생성기(140)에서의 처리 흐름도이다.
도 6에 도시된 바와 같이, 상기 프로세스 생성기(140)는, 먼저 scope 엘리먼트에 대응되는 process 엘리먼트를 생성한다.(S600)
scope 내부에 variables 엘리먼트가 존재하면 variables의 각 variable에 대해서 property 엘리먼트를 생성하고, scope 내에 wait 엘리먼트가 존재하면 wait에 대응하는 delay 엘리먼트를 위한 property 엘리먼트를 생성한다.(S611,S612) 이것은 BPEL의 wait 엘리먼트가 until 또는 for 애트리뷰트에 상수 값을 바로 기록하는데 반해, WSCI의 delay 엘리먼트는 property 애트리뷰트를 통해 property의 값을 참조하기 때문이다.
그리고, scope 내에 scope 액티버티가 존재하면 이 내장된 scope 액티버티를 위한 프로세스 생성 과정을 수행시킨다.(S613)
그리고, scope이 자식 엘리먼트로 eventHandlers 또는 faultHandlers를 가지는 경우에는 exception 엘리먼트를 생성하고, eventHandelers의 자식 엘리먼트 onMessage에 대해서는 onMessage 엘리먼트를, eventHandlers의 자식 엘리먼트 onAlarm에 대해서는 onTimeout 엘리먼트를, faultHandlers의 자식 엘리먼트 catch 또는 catchAll에 대해서는 onFault 엘리먼트를 각각 생성한다.(S614)
또한, 자식 엘리먼트로 compensationHandler를 가지는 경우에는 transaction 엘리먼트를 생성한다.(S615)
이와 같은 scope 내부의 실행환경을 프로세스의 context에 기술한 뒤에는,(S610) scope 내의 액티버티를 process의 내부의 엘리먼트로 생성한다.(S620)
상기와 같은 본 발명의 BPEL에서 WSCI로의 변환 방법은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함하는 것으로, 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk)-Rom, DVD(Digital Video Disk)-Rom, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이 본 발명에 따른 BPEL에서 WSCI로의 변환 방법 및 그 변환기는, 웹서비스 컴포지션 언어가 WSCI와 BPEL로 양분되어 독립적으로 스펙이 발전하고 있는 상황에서, 각 BPEL 비즈니스 프로세스에 대응되는 WSCI 인터페이스의 생성을 용이하게 함으로써 WSCI를 지원하는 시스템에서 BPEL로 기술된 웹 서비스의 컴포지션을 참조하는데 효과적으로 이용될 수 있다.
이상에서 설명한 것은 본 발명에 따른 BPEL에서 WSCI로의 변환 방법 및 그 변환기를 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
도 1은 본 발명에 따른 BPEL에서 WSCI로의 변환장치에 대한 개략적인 블록 구성도.
도 2는 본 발명에 따른 BPEL의 단순 액티버티 처리기에서의 처리 흐름도.
도 3a와 도 3b는 본 발명에 따른 BPEL의 구조화된 액티버티 처리기에서의 처리 흐름도.
도 4는 본 발명에 따른 소스/타겟 처리기에서의 처리 흐름도.
도 5는 본 발명에 따른 실행 환경 처리기에서의 처리 흐름도.
도 6은 본 발명에 따른 프로세스 생성기에서의 처리 흐름도.
<도면의 주요부분에 대한 부호의 설명>
110: 단순 액티버티 처리기 120: 구조화된 액티버티 처리기
130: 소스/타겟 처리기 140: 프로세스 처리기
150: 실행 환경 처리기

Claims (24)

  1. 웹서비스 행위의 기본 단위 엘리먼트들에 대한 변환을 수행하는 단순 액티버티 처리기;
    복수 개의 단순 액티버티들을 구조화시키는 엘리먼트들에 대한 변환을 수행하는 구조화된 액티버티 처리기;
    각 액티버티간의 병렬 구조에서 순서를 지정하는 소스/타겟 엘리먼트에 대한 변환을 수행하는 소스/타겟 처리기;
    구조화된 액티버티 내부의 link 및 scope 엘리먼트에 대한 변환을 수행하는 실행 환경 처리기; 및
    BPEL의 실행 환경을 기술하는 scope에 대응되는 WSCI의 process를 생성하는 프로세스 생성기;로 구성되는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  2. 제 1항에 있어서, 상기 단순 액티버티 처리기는,
    invoke, receive, reply 엘리먼트에 대해서는 action 엘리먼트를 생성하고, empty 엘리먼트에 대해서는 empty 엘리먼트를 생성하고, throw 엘리먼트에 대해서는 fault 엘리먼트를 생성하고, compensate에 대해서는 compensate 엘리먼트를 생성하며, assign 엘리먼트인 경우에는 empty 엘리먼트를 생성하고 assign 엘리먼트가 존재했음을 표현하는 주석 처리를 하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  3. 제 1항에 있어서, 상기 단순 액티버티 처리기는,
    wait 엘리먼트인 경우에는 애트리뷰트로 for를 가지는지 until를 가지는지에 따라, 애트리뷰트 type의 값이 dateTime인 delay 엘리먼트 또는 duration인 delay 엘리먼트를 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  4. 제 1항에 있어서, 상기 구조화된 액티버티 처리기는,
    flow 엘리먼트인 경우에는 all 엘리먼트를, sequence 엘리먼트인 경우에는 sequence 엘리먼트를, while 엘리먼트인 경우에는 while 엘리먼트를, scope 엘리먼트인 경우에는 call 엘리먼트를 각각 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  5. 제 4항에 있어서, 상기 구조화된 액티버티 처리기는,
    scope 엘리먼트를 처리함에 있어, scope에 해당되는 실행 환경은 상기 프로세스 생성기를 통해 process로 정의하고, scope 엘리먼트는 WSCI에서 call 엘리먼트로 치환하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  6. 제 4항에 있어서, 상기 구조화된 액티버티 처리기는,
    상기 flow, sequence, while, scope 엘리먼트 각각의 내부에, scope 엘리먼트 또는 link 엘리먼트를 포함하는 경우, 상기 실행 환경 처리기를 통해 이를 WSCI 인터페이스의 context에 실행 환경의 정보로서 나열하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  7. 제 1항에 있어서, 상기 구조화된 액티버티 처리기는,
    switch에 대해서는 switch 엘리먼트를 생성한 후, switch의 자식 엘리먼트가 case인 경우에는 switch의 자식 엘리먼트로 case를, switch의 자식 엘리먼트가 otherwise인 경우에는 switch의 자식 엘리먼트로 default를 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  8. 제 1항에 있어서, 상기 구조화된 액티버티 처리기는,
    엘리먼트 pick에 대해서 choice 엘리먼트를 생성한 후, pick의 자식 엘리먼트가 onMessage인 경우에는 choice의 자식 엘리먼트로 onMessage를, pick의 자식 엘리먼트가 onAlarm인 경우에는 choice의 자식 엘리먼트로 onTimeout을 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  9. 제 1항에 있어서, 상기 소스/타겟 처리기는,
    BPEL 액티버티가 자식 엘리먼트로 source 엘리먼트만을 가지는 경우, 해당 BPEL 액티버티에 대응하는 WSCI 엘리먼트를 먼저 생성한 후, spawn 엘리먼트를 생성하고, WSCI 엘리먼트와 spawn 엘리먼트를 sequence 엘리먼트로 감싸서 source 엘리먼트의 효과를 내는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  10. 제 1항에 있어서, 상기 소스/타겟 처리기는,
    BPEL 액티버티가 자식 엘리먼트로 target 엘리먼트만을 가지는 경우, 먼저 join 엘리먼트를 생성하고 BPEL 액티버티에 대응하는 WSCI 엘리먼트를 생성한 후, 생성된 두 엘리먼트를 sequence 엘리먼트로 감싸서 target 엘리먼트의 효과를 내는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  11. 제 1항에 있어서, 상기 소스/타겟 처리기는,
    BPEL 액티버티가 자식 엘리먼트로 source와 target 엘리먼트를 모두 가지는 경우, target을 위한 join 엘리먼트를 먼저 생성하고, BPEL 액티버티에 대응하는 WSCI 엘리먼트를 생성한 후, source를 위한 spawn 엘리먼트를 생성하고, 생성된 엘리먼트들을 sequence 엘리먼트로 감싸는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  12. 제 1항에 있어서, 상기 실행 환경 처리기는,
    BPEL 복합 액티버티를 입력으로 해서 자식 엘리먼트로 scope 또는 link 엘리먼트를 가지는지를 검사하여, 둘 중 어느 하나를 가질 경우에 context 엘리먼트를 생성한 후,
    자식 엘리먼트로 link를 가질 경우는 link를 나타내는 더미 프로세스를 위한 process 엘리먼트를 생성하고, scope 엘리먼트를 가질 경우는 상기 프로세스 생성기를 통해 scope에 대응하는 프로세스를 정의하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  13. 제 1항에 있어서, 상기 프로세스 생성기는,
    scope 엘리먼트에 대응되는 process 엘리먼트를 생성한 후,
    scope 내부의 각 variables 엘리먼트에 대해서는 property 엘리먼트를 생성하고, wait 엘리먼트에 대해서는 delay 엘리먼트를 위한 property 엘리먼트를 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  14. 제 1항에 있어서, 상기 프로세스 생성기는,
    scope 엘리먼트가 자식 엘리먼트로 eventHandlers 또는 faultHandlers를 가지는 경우 exception 엘리먼트를 생성하고, eventHandelers의 자식 엘리먼트 onMessage에 대해서는 onMessage 엘리먼트를, eventHandlers의 자식 엘리먼트 onAlarm에 대해서는 onTimeout 엘리먼트를, faultHandlers의 자식 엘리먼트 catch 또는 catchAll에 대해서는 onFault 엘리먼트를 각각 생성하고,
    scope 엘리먼트가 자식 엘리먼트로 compensationHandler를 가지는 경우에는 transaction 엘리먼트를 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환기.
  15. 웹서비스 행위의 기본 단위 엘리먼트들에 대한 변환을 수행하는 단순 액티버티 처리단계;
    복수 개의 단순 액티버티들을 구조화시키는 엘리먼트들에 대한 변환을 수행하는 구조화된 액티버티 처리단계;
    각 액티버티간의 병렬 구조에서 순서를 지정하는 소스/타겟 엘리먼트에 대한 변환을 수행하는 소스/타겟 처리단계;
    구조화된 액티버티 내부의 link 및 scope 엘리먼트에 대한 변환을 수행하는 실행 환경 처리단계; 및
    BPEL의 실행 환경을 기술하는 scope에 대응되는 WSCI의 process를 생성하는 프로세스 생성단계;로 이루어지는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  16. 제 15항에 있어서, 상기 단순 액티버티 처리단계는,
    invoke, receive, reply 엘리먼트에 대해서는 action 엘리먼트를 생성하고, empty 엘리먼트에 대해서는 empty 엘리먼트를 생성하고, throw 엘리먼트에 대해서는 fault 엘리먼트를 생성하고, compensate에 대해서는 compensate 엘리먼트를 생성하며, assign 엘리먼트인 경우에는 empty 엘리먼트를 생성하고 assign 엘리먼트가 존재했음을 표현하는 주석 처리를 하며,
    wait 엘리먼트인 경우에는 애트리뷰트로 for를 가지는지 until를 가지는지에 따라, 애트리뷰트 type의 값이 dateTime인 delay 엘리먼트 또는 duration인 delay 엘리먼트를 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  17. 제 15항에 있어서, 상기 구조화된 액티버티 처리단계는,
    flow 엘리먼트인 경우에는 all 엘리먼트를, sequence 엘리먼트인 경우에는 sequence 엘리먼트를, while 엘리먼트인 경우에는 while 엘리먼트를, scope 엘리먼트인 경우에는 call 엘리먼트를 각각 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  18. 제 15항에 있어서, 상기 구조화된 액티버티 처리단계는,
    switch에 대해서는 switch 엘리먼트를 생성한 후, switch의 자식 엘리먼트가 case인 경우에는 switch의 자식 엘리먼트로 case를, switch의 자식 엘리먼트가 otherwise인 경우에는 switch의 자식 엘리먼트로 default를 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  19. 제 15항에 있어서, 상기 구조화된 액티버티 처리단계는,
    엘리먼트 pick에 대해서 choice 엘리먼트를 생성한 후, pick의 자식 엘리먼트가 onMessage인 경우에는 choice의 자식 엘리먼트로 onMessage를, pick의 자식 엘리먼트가 onAlarm인 경우에는 choice의 자식 엘리먼트로 onTimeout을 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  20. 제 15항에 있어서, 상기 소스/타겟 처리단계는,
    BPEL 액티버티가 자식 엘리먼트로 source 엘리먼트만을 가지는 경우는, 해당 BPEL 액티버티에 대응하는 WSCI 엘리먼트를 먼저 생성한 후, spawn 엘리먼트를 생성하고, WSCI 엘리먼트와 spawn 엘리먼트를 sequence 엘리먼트로 감싸서 source 엘리먼트의 효과를 내고,
    BPEL 액티버티가 자식 엘리먼트로 target 엘리먼트만을 가지는 경우는, 먼저 join 엘리먼트를 생성하고 BPEL 액티버티에 대응하는 WSCI 엘리먼트를 생성한 후, 생성된 두 엘리먼트를 sequence 엘리먼트로 감싸서 target 엘리먼트의 효과를 내는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  21. 제 20항에 있어서, 상기 소스/타겟 처리단계는,
    BPEL 액티버티가 자식 엘리먼트로 source와 target 엘리먼트를 모두 가지는 경우, target을 위한 join 엘리먼트를 먼저 생성하고, BPEL 액티버티에 대응하는 WSCI 엘리먼트를 생성한 후, source를 위한 spawn 엘리먼트를 생성하고, 생성된 엘리먼트들을 sequence 엘리먼트로 감싸는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  22. 제 15항에 있어서, 상기 실행 환경 처리단계는,
    BPEL 복합 액티버티를 입력으로 해서 자식 엘리먼트로 scope 또는 link 엘리먼트를 가지는지를 검사하여, 둘 중 어느 하나를 가질 경우에 context 엘리먼트를 생성한 후,
    자식 엘리먼트로 link를 가질 경우는 link를 나타내는 더미 프로세스를 위한 process 엘리먼트를 생성하고, scope 엘리먼트를 가질 경우는 그 scope에 대응하는 프로세스를 정의하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  23. 제 15항에 있어서, 상기 프로세스 생성단계는,
    scope 엘리먼트에 대응되는 process 엘리먼트를 생성한 후,
    scope 내부의 각 variables 엘리먼트에 대해서는 property 엘리먼트를 생성하고, wait 엘리먼트에 대해서는 delay 엘리먼트를 위한 property 엘리먼트를 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
  24. 제 15항에 있어서, 상기 프로세스 생성단계는,
    scope 엘리먼트가 자식 엘리먼트로 eventHandlers 또는 faultHandlers를 가지는 경우 exception 엘리먼트를 생성하고, eventHandelers의 자식 엘리먼트 onMessage에 대해서는 onMessage 엘리먼트를, eventHandlers의 자식 엘리먼트 onAlarm에 대해서는 onTimeout 엘리먼트를, faultHandlers의 자식 엘리먼트 catch 또는 catchAll에 대해서는 onFault 엘리먼트를 각각 생성하고,
    scope 엘리먼트가 자식 엘리먼트로 compensationHandler를 가지는 경우에는 transaction 엘리먼트를 생성하는 것을 특징으로 하는 BPEL에서 WSCI로의 변환 방법.
KR10-2003-0096394A 2003-12-24 2003-12-24 비피이엘에서 더블유에스씨아이로의 변환 방법 및 그 변환기 KR100511137B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0096394A KR100511137B1 (ko) 2003-12-24 2003-12-24 비피이엘에서 더블유에스씨아이로의 변환 방법 및 그 변환기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0096394A KR100511137B1 (ko) 2003-12-24 2003-12-24 비피이엘에서 더블유에스씨아이로의 변환 방법 및 그 변환기

Publications (2)

Publication Number Publication Date
KR20050064800A true KR20050064800A (ko) 2005-06-29
KR100511137B1 KR100511137B1 (ko) 2005-08-31

Family

ID=37256355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0096394A KR100511137B1 (ko) 2003-12-24 2003-12-24 비피이엘에서 더블유에스씨아이로의 변환 방법 및 그 변환기

Country Status (1)

Country Link
KR (1) KR100511137B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825722B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 Bpel4ws 프로세스를 칼라드 페트리넷으로 변환하는방법 및 그 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825722B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 Bpel4ws 프로세스를 칼라드 페트리넷으로 변환하는방법 및 그 장치

Also Published As

Publication number Publication date
KR100511137B1 (ko) 2005-08-31

Similar Documents

Publication Publication Date Title
US10296373B2 (en) Generic wait service: pausing and resuming a plurality of BPEL processes arranged in correlation sets by a central generic wait server
US7949999B1 (en) Providing support for multiple interface access to software services
KR101495575B1 (ko) 그래프 기반 연산에서의 분배 서비스
Chung et al. Web services computing: advancing software interoperability
US8065657B2 (en) Exchange infrastructure system and method
US20100070553A1 (en) Dynamic service invocation and service adaptation in bpel soa process
US20070255718A1 (en) Method and system for generating and employing a dynamic web services interface model
JP2005196767A (ja) ウェブ・サービス呼び出しをサポートするスケジューラ
KR100880536B1 (ko) 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템
US20140059441A1 (en) Message oriented construction of web services
JP2005174120A (ja) Webサービス接続処理方法とシステム、およびプログラム
Viola et al. The M3 architecture for smart spaces: Overview of semantic information broker implementations
KR100511137B1 (ko) 비피이엘에서 더블유에스씨아이로의 변환 방법 및 그 변환기
JP2005521931A (ja) 交換インフラシステム及び方法
KR100511136B1 (ko) 더블유에스씨아이에서 비피이엘의 변환 방법 및 그 변환기
KR100574158B1 (ko) 프로세스 제어 시스템, 방법 및 컴퓨터 판독 가능 기록 매체
Khalaf From rosettanet pips to bpel processes: A three level approach for business protocols
KR100549381B1 (ko) Bpel에서 bpml로의 변환 방법
Wombacher et al. Finding trading partners to establish ad-hoc business processes
KR20050117437A (ko) Bpml에서 bpel로의 변환 방법
Yang et al. Automating integration of manufacturing systems and services: a semantic Web services approach
Bussler et al. Web services: Quo vadis?
Moon et al. Transformation algorithms between BPEL4WS and BPML for the executable business process
Gao et al. Extension BPML for Sub-process
Min et al. Asynchronous OGC web services mechanisms

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: 20091228

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee