비즈니스 프로세스 관리 측면에서 XPDL, BPML, BPELAWS와 같은 많은 비즈니스 프로세스 실행 언어들이 각기 다른 기반과 목적에 따라 정의되었다. 이 중에 WfMC에서 제안한 XPDL은 서로 상호 작용할 수 있는 개념의 워크플로우 관련 비즈니스 프로세스 애플리케이션에서 범용적으로 이용되고 있다. 한편, 최근 BPMI에서 주도하는 BPMN(Business Process Modeling Notation)은 비즈니스 프로세스를 위한 표준화된 그래픽 표기법으로써 정의되었다. 그래서 BPMN을 지원하는 디자인 툴을 이용하면 다양한 비즈니스 프로세스를 일반화된 형태로 디자인하고 분석할 수 있다. BPMN 형식의 비즈니스 프로세스가 비즈니스 프로세스 실행 엔진에서 실행되기 위해서는 XPDL과 같은 비즈니스 프로세스 언어로 의미적으로 동일하게 변환되어야 한다. 이러한 관점에서 본 논문에서는 BPMN 형식의 비즈니스 프로세스로부터 이와 대응되는 XPDL 프로세스로의 변환 기법을 제안한다. 본 논문을 통하여 프로세스 모델링 표기법(BPMN)과 프로세스 실행언어(XPDL) 사이의 의미적 간격을 줄임으로써 현업의 프로세스 설계자와 프로세스 실행 모듈의 차이를 최소화하였다.
비즈니스 프로세스 관리 측면에서 XPDL, BPML, BPELAWS와 같은 많은 비즈니스 프로세스 실행 언어들이 각기 다른 기반과 목적에 따라 정의되었다. 이 중에 WfMC에서 제안한 XPDL은 서로 상호 작용할 수 있는 개념의 워크플로우 관련 비즈니스 프로세스 애플리케이션에서 범용적으로 이용되고 있다. 한편, 최근 BPMI에서 주도하는 BPMN(Business Process Modeling Notation)은 비즈니스 프로세스를 위한 표준화된 그래픽 표기법으로써 정의되었다. 그래서 BPMN을 지원하는 디자인 툴을 이용하면 다양한 비즈니스 프로세스를 일반화된 형태로 디자인하고 분석할 수 있다. BPMN 형식의 비즈니스 프로세스가 비즈니스 프로세스 실행 엔진에서 실행되기 위해서는 XPDL과 같은 비즈니스 프로세스 언어로 의미적으로 동일하게 변환되어야 한다. 이러한 관점에서 본 논문에서는 BPMN 형식의 비즈니스 프로세스로부터 이와 대응되는 XPDL 프로세스로의 변환 기법을 제안한다. 본 논문을 통하여 프로세스 모델링 표기법(BPMN)과 프로세스 실행언어(XPDL) 사이의 의미적 간격을 줄임으로써 현업의 프로세스 설계자와 프로세스 실행 모듈의 차이를 최소화하였다.
To formally describe business process, many business process languages have been so far specified with different origins and goals such as XPDL, BPML and BPELAWS. Especially, XPDL proposed by WfMC has been widely used in various business process environments for a long time. On the other hand, the n...
To formally describe business process, many business process languages have been so far specified with different origins and goals such as XPDL, BPML and BPELAWS. Especially, XPDL proposed by WfMC has been widely used in various business process environments for a long time. On the other hand, the necessity of a standard graphical notation for a business process may create BPMN driven by BPMI. Because BPMN is composed of graphical constructs which can be used to graphically depict business process, BPMN-formed business processes should ultimately be converted to their corresponding semantically equivalent business process language(XPDL). Then, the business process languages can be consequently executed by business process engines. In this paper, we proposed a transformation mechanism from BPMN to XPDL for a business process. By this paper, We minimized the difference between process designers and process execution modules as reducing the gap of semantics between BPMN and XPDL.
To formally describe business process, many business process languages have been so far specified with different origins and goals such as XPDL, BPML and BPELAWS. Especially, XPDL proposed by WfMC has been widely used in various business process environments for a long time. On the other hand, the necessity of a standard graphical notation for a business process may create BPMN driven by BPMI. Because BPMN is composed of graphical constructs which can be used to graphically depict business process, BPMN-formed business processes should ultimately be converted to their corresponding semantically equivalent business process language(XPDL). Then, the business process languages can be consequently executed by business process engines. In this paper, we proposed a transformation mechanism from BPMN to XPDL for a business process. By this paper, We minimized the difference between process designers and process execution modules as reducing the gap of semantics between BPMN and XPDL.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
둘째, 비즈니스 분석가가 이해할 수 있는 비즈니스 프로 세스 모델링 표기법에 대한 연구이다. 비즈니스 프로세스 모델링 표기법은 최근 BPMN Working Group에 의해 그 의미가 더욱 부각되고 있다.
본 장에서는 4장에서 기술한 매핑 기법들이 어떻게 사용되는 지를 실제 예제를 기반으로 설명하겠다. 본 논문은 BPMN에 비해 XPDL의 부족한 비즈니스 표현력을 보완하기 위해 이행적인 매핑 기법을 제시하였다. 이행적인 매핑 기법은 복합적 의미의 비즈니스 엔터티를 간단한 비즈니스 엔터티로 바꾸는 역할만 하기 때문에, 최종적으로 XPDL로 바꾸기 위해서는 심플 매핑을 이용해야만 한다.
대표적으로 IBM, BEA, Microsoft에서 공동 개발한 BPEL4WS (Business Process Execution Language for Web Service), BPMI에서 개발한 BPML(Business Process Modeling Language), WfMC에서 개발한 XPDL(XML Process Definition Language)[2]을 예로들 수 있다. 본 논문은 기존 워크플로 우 표준을 분산된 이기종의 시스템에 적용될 수 있도록 XML형태로 변환한 XPDL을 선택했다. 위 세 가지 비즈니 스 프로세스는 각각 장단점을 가지고 있지만, 기존 워크플 로우의 기반 개념을 정확히 표준화한 것은 XPDL이기 때문이다.
비즈니스 의미의 차이는 리스크를 일으키는 위협 요소 로 부각될 수 있다. 본 논문은 사용자에 적합할 수 있는 비 즈니스 프로세스 모델링 표기법 (BPMN)과 시스템에 적합할 수 있는 비즈니스 프로세스 실행 언어(XPDL)의 의미적 차이를 줄이기 위한 매핑 기술을 제시한다. 매핑 기술은 (그림 1)의 변환기에 적용되며, 향후 BPEL4WS, BPML의 매핑 기 술도 연구가 진행될 것이다.
본 논문은 프로세스 모델링 표기법(BPMN)과 프로세스 실행언어(XPDL) 사이의 간격을 줄임으로써 현업의 프로세 스 설계자와 프로세스 실행 모듈의 차이를 최소하려는 방법을 연구하였다. 뿐만 아니라 모델링 하는 비즈니스 영역에 대한 차이를 최소하기 위한 방법들도 제안하였다.
구조 변경을 필요로 하는 경우를 복잡 매핑이라 정의한다. 본 절에서는 심플 매핑에 대해서 기술한다.
White”에 의해 XPDL과 BPMN 간의 간 단한 매핑이 이루어졌다[3]. 이 논문에서는 BPMN과 XPDL 은 모두 그래프 형식의 구조여서 BPMN에서 BPML이나 BPEL4WS 로의 매핑보다 간단히 매핑된다고 설명하고, BPMN의 그래픽 표기법 중 10가지에 대해서 XPDL로의 직 접적인 매핑을 제시하였다. 그리고 이를 예제를 통해 분석하였다.
XPDLe 기업 내의 비즈니스를 모델링하는 언어이고, BPMNe 기업 내외의 비즈니스를 모델링하는 표기법이기 때문에, 비즈니 스 영역에 대한 차이가 발생한다. 이런 문제를 해결하기 위해 본 연구에서는 이행적인 매핑기법을 제시하였다.
첫째, 시스템이 이해할 수 있는 비즈니스 프로세스 실행 언어에 대한 연구이다. 일반적으로 비즈니스 프로세스 언어 는 실행 언어를 말한다.
위 세 가지 비즈니 스 프로세스는 각각 장단점을 가지고 있지만, 기존 워크플 로우의 기반 개념을 정확히 표준화한 것은 XPDL이기 때문이다. 특히 워크플로우에 대한 연구는 1990년대부터 활성화 되어 최근 많은 상용제품이 출시되어 사용되었기 때문에, 본 논문은 기존 기술의 재사용성을 고려하여 XPDL을 연구 방향으로 선택하였다.
제안 방법
3장에서 기술했던바와 같이 BPMNe 비즈니스 프로세스 모델링을 위해서 설계되었고, XPDLe 비즈니스 프로세스 실행을 위해 설계되었다. 이와 같은 목적의 차이는 동일한 비즈니스 프로세스를 설계하는데 서로 표현하는 영역을 달 리할 뿐 아니라, 심지어 같은 의미의 비즈니스 엔터티를 서로 다르게 표현하는 문제를 발생시킨다.
BPMI와 WfMC는 2002년 함께 작업을 하기로 합의하면 서, WfMC는 BPMN을 XPDL의 표기법으로 사용하기로 수 락하였다. 그리고 그 결과물로써 2003년 BPMN 스펙의 저 자인 “Stephen A.
즉, BPMN의 이벤트나 이벤트기반 분기 이벤트를 기반으로 하는 요소나 애드혹 프로세스 같은 XPDL에서 정의되지 않은 요소, 복합 게이트웨이나 다중 이벤트와 같이 함축적으로 표현하는 요소들은 XPDL로 직접적으로 매핑되지 않는다. 그래서 본 절에서는 정의 1에 기반한 이행적인 변환 기법을 이용해 복잡한 의미의 엔터티들을 매핑한다.
[4]에서는 하나의 전체 비즈니스 프로세스는 유스케이 스 다이어그램으로 나타내고, 이는 다시 시퀀스 다이어그램, 스테이트차트 다이어그램, 액티비티 다이어그램을 통해 실 행 수준의 프로세스로 구체화 시킬 수 있음을 보이고, 이들 을 다시 XPDL로 매핑하는 과정을 기술했다. 그리고 XPDL 에 있는 상세한 속성에 대한 매핑을 위해서 스테레오타입을 정의하였다. [5]에서는 스테이트차트 다이어그램 없이 액티 비티 다이어그램과 XPDL이 일대 일 매핑되도록 하였다.
이 논문에서는 BPMN과 XPDL 은 모두 그래프 형식의 구조여서 BPMN에서 BPML이나 BPEL4WS 로의 매핑보다 간단히 매핑된다고 설명하고, BPMN의 그래픽 표기법 중 10가지에 대해서 XPDL로의 직 접적인 매핑을 제시하였다. 그리고 이를 예제를 통해 분석하였다. 하지만 이는 BPMim의 모든 요소에 대해 XPDL로 매핑한 것이 아니라 매핑이 잘되는 요소만을 보여준 것이고, 아직 남은 BPMN 요소에 대한 매핑이 더 진행되어야 할 것이다.
기존의 BPMN과 같은 비즈니스 프로세스 표기법에서 XPDL과 같은 비즈니스 프로세스 언어로 매핑하는 논문에서는 직접적으로 매핑되는 요소만을 제시하였다. 하지만 본 논문에서 제안한 루프 기법, 식별화 기법, 순서화 기법은 서로 매핑되지 않는 요소에 대해서도 매핑을 가능하게 한다.
셋째, 데이터필드 는 프로세스 안의 각 액티비티가 수행되는데 필요한 데이터 로서 참여자나 애플리케이션에 필요한 정보이거나 프로세스 의 흐름을 결정하는 요소이다. 넷째, 액티비티는 프로세스 안에서 작업을 수행하는 최소 단위로서, 애플리케이션과 참 가자를 이용하는 애토믹(Atomic) 액티비티, 다른 프로세스 를 호출하는 서브플로우(Subflow) 액티비티, 액티비티 집합 (ActivitySet)을 호출하는 블록(Block) 액티비티, 그리고 프 로세스 흐름의 방향을 결정하는 라우트(Route) 액티비티로 나누어지며, 다섯째 구성요소인 트랜지션을 이용해 액티비 티들의 흐름을 제어한다.
2절에서는 BPMN과 XPDL의 구조적인 비교를 통해 비즈 니스 환경에 대한 프로세스 모델링 방식을 분석한다. 마지막 으로, 4.3절의 심플 매핑과 4.4절의 복잡 매핑에서 BPMN에서 XPDL로의 상세 매핑 및 이행적 매핑 기법을 제안한다.
하지만 관련 연구에서 보듯이 UML을 통한 비즈니스 프로세스의 표현은 매우 다양한 방법으로 이루어질 수 있을 뿐 아니라, 어느 언어로 매핑하는지에 따라 스테레오타입을 정의해 주어야 했기 때문에 여러 언어 간에 표기법을 표준화시키기에 적합 하지 않은 것으로 보인다. 본 논문에서는 여러 비즈니스 프 로세스 실행 언어 간에 표준화된 표기법으로써의 BPMN으 로 부터 비즈니스 프로세스 실행 언어인 XPDL로의 매핑을 진행한다.
다시 말해서, BPMN에는 시스템을 통한 프로세스의 실행과 관련된 표현뿐만 아니라 사람에 의한 모델링, 관리, 모니터링을 위한 표현들도 포함하고 있다. 본 절에서는 가정 1과 가정 2에 의해 BPMN에서 XPDL로 매핑 할 필요가 없는 엔터티를 선택한다. (그림 4)에서 점선 으로 포함된 비즈니스 엔터티들은 BPMN에서 XPDL로 매 핑이 고려되지 않는 요소이다.
그래서 공통적인 구조적 특징에 따라서 BPMN과 XPDL 간에는 구조적 정의는 다르더라도 같은 의미를 나타내는 요소를 갖고 있다. 본 절에서는 이러한 요소를 중심으로 매핑을 분석한다.
[20]에서는 표준적인 모델링 도구로써 활동(Activity) 다 이어그램을 XPDL로 변환하는 매핑을 기술하였다. 표기법과 XPDL의 부족한 점을 보완하기 위해 확장적인 방법을 이용 하였다. 활동 다이어그램은 XPDL 요소인 '패키지'와 '액티비 티 집합'을 표현하기 위해 각각 해당하는 심벌을 추가하였 고, XPDL에서의 동기/비동기 서브프로세스를 표현하기 위해 프로세스 심벌을 색으로 구분하였다.
표기법과 XPDL의 부족한 점을 보완하기 위해 확장적인 방법을 이용 하였다. 활동 다이어그램은 XPDL 요소인 '패키지'와 '액티비 티 집합'을 표현하기 위해 각각 해당하는 심벌을 추가하였 고, XPDL에서의 동기/비동기 서브프로세스를 표현하기 위해 프로세스 심벌을 색으로 구분하였다. 한편 XPDLe 활동 다이어그램의 '객체'를 표현하기 위해 확장 속성을 가지고 구성 요소를 확장하였다.
이론/모형
비즈니스 프로세스 모델링 표기법은 비즈니스 분석가가 비 즈니스 프로세스의 내부적 수행을 알지 못해도 정의할 수 있도록 한다. BPMNe 다른 어떤 비즈니스 프로세스 모델 링 표기법보다 많은 기능과 확장성을 갖고 있기 때문에, 본 논문의 비즈니스 프로세스 모델링 표기법으로 선택되었다. 최근 비즈니스 프로세스 자동화에 따른 다양한 성공 사례 가 나타남으로써, 비즈니스 프로세스 언어의 두 흐름의 중 요성은 극대화되었다.
성능/효과
마지막으로, 액티비티에는 루프 타입 속성에 따라 표준 (Standard) 루프와 다중 인스턴스 (Multiple Instance)를 표 현할 수 있다. 또 다중 인스턴스는 타입에 따라 순차 다중 인스턴스와 병렬 다중 인스턴스로 나누어진다.
둘째로 조건형 순차 플로우는 실행 토 큰이 도착했을 때 조건이 만족하면 다음 플로우 오브젝트로 진행하는 것을 의미한다. 셋째, 기본형 순차 플로우는 다른 순차 플로우의 모든 조건이 만족하지 않을 때 다음 플로우 오브젝트로 진행하는 것을 의미한다. XPDL에서 이와 같은 기능을 하는 요소로는 하나의 워크플로우 프로세스 안에서 액티비티 간의 흐름을 나타내는 트랜지션이 있다.
여기서 순차 플로우는 조건에 따라 게이트웨이와 함께 작동하여 액티비티의 흐름을 제어할 수 있다. 셋째, 스 윔레인은 프로세스를 대표하는 참가자의 역할을 나타내는 풀(Pool)과 프로세스를 사용하는 참가자의 역할을 나타내는 레인(Lane)으로 나누어진다. 마지막으로 아티팩트는 데이터 오브젝트(DataObject), 그룹(Group), 주석 (Annotation)로 나 눠지는데, 이것은 실제 프로세스의 흐름에는 영향을 주지 않는 요소로서 프로세스와 연관된 메타 정보를 기술하기 위해 이용된다.
셋째, 주기적으로 실행하는 타이머 이벤트는 일정한 주기 에 따라 프로세스를 새로 시작하는 기능을 한다. 예를 들어 일주일 간격으로 자료 백업을 처리하는 프로세스가 바로 이에 해당된다.
일곱째, 종료 이벤트는 종료 이벤트에 도달하면 이벤트가 속한 프로세스에 다른 액티비티가 진행 중이라도 아무런 보 상 없이 모두 중단하고 프로세스를 종료하는 기능을 한다. 예를 들어 (그림 17)의 프로세스는 액티비티 B의 실행 중에 종료 이벤트에도 도달할 수 있다.
지금까지의 매핑을 통해서 BPMN과 XPDL이 비즈니스 프로세스에 대해 서로 유사한 구조와 요소들로 이루어져 있음을 보았다. 그래서 이것들은 직접적으로 매핑할 수 있었다.
실행과 관련이 없는 요소로는 어소시에이션, 스윔레인(풀, 레인), 아 티펙트(데이터 오브젝트, 그룹, 주석)가 있다. 첫째, 어소시에 이션은 프로세스의 실제 흐름과 관계없는 아티팩트를 연결 하거나 이미 실행된 태스크에 대한 보상 관계에 있는 보상 태스크 (Compensation Task)와 연결함으로써 플로우 오브 젝트들 간의 연관성만을 보여준다. 어소시에이션은 순차 플 로우처럼 프로세스의 흐름을 제어하는 기능을 담고 있지 않 기 때문에 실행과 관계없는 요소이다.
프로세스는 크게 플로우 오브젝트(Flow Object), 연결형 오 브젝트(Connecting Object), 스윔레인(Swimlane), 아티펙트 (Artifact)로 나누어지며, 이들은 다시 각각 다음의 세부적인 요소로 나누어진다. 첫째, 플로우 오브젝트는 비즈니스 행동 의 종류에 따라 구별된다. 프로세스 중 발생하는 사건의 행 동을 나타내는 이벤트(Event), 실제적인 작업을 수행하는 액 티비티(Activity), 그리고 프로세스의 흐름을 결정하는 게이 트웨이 (Gateway)로 나누어진다.
첫째로, 일반 이벤트는 어떤 특정 사건과도 연관이 없는 것을 의미하며, 프로세스의 시작과 끝에 위치하여 단순히 프로세스의 시작과 끝임을 나타낸다. 시작 이벤트는 XPDL 의 라우트 액티비티와 동일한 기능을 하기 때문에, 표 3처 럼 매핑된다.
기존의 BPMN과 같은 비즈니스 프로세스 표기법에서 XPDL과 같은 비즈니스 프로세스 언어로 매핑하는 논문에서는 직접적으로 매핑되는 요소만을 제시하였다. 하지만 본 논문에서 제안한 루프 기법, 식별화 기법, 순서화 기법은 서로 매핑되지 않는 요소에 대해서도 매핑을 가능하게 한다. 즉, BPMN의 복합적 비즈니스 엔터티를 단순한 비즈니스 엔터티들의 집합으로 재구성함으로써, BPMN의 매핑되지 않는 요소들을 매핑가능하게 하는 것이다.
후속연구
본 연구는 아직까지 이행적 매핑으로 재구성된 비즈니스 프로세스가 기존 프로세스와 동일한 의미를 갖고 있다는 것을 증명하지 못했다. 그래서 향후, n-calculus[19]을 바탕으로 본 연구의 의미 기반 비즈니스 프로세스 매핑 기법을 연 구할 것이다. 그리고 XPDL 뿐만 아니라 BPML 이나 BPEL4WS과 같은 다른 비즈니스 프로세스 언어에 대해서 도 BPMN으로부터의 매핑을 제시할 것이다.
본 논문은 사용자에 적합할 수 있는 비 즈니스 프로세스 모델링 표기법 (BPMN)과 시스템에 적합할 수 있는 비즈니스 프로세스 실행 언어(XPDL)의 의미적 차이를 줄이기 위한 매핑 기술을 제시한다. 매핑 기술은 (그림 1)의 변환기에 적용되며, 향후 BPEL4WS, BPML의 매핑 기 술도 연구가 진행될 것이다.
참고문헌 (20)
BPMI.org, 'Business Process Modeling Notation (BPMN) Version 1.0,' May 3, 2004
WfMC, 'Workflow Process Definition Language - XML Process Definition Language,' Document Number WFMC-TC-19+025, Documentation Status - 1.0 Final Draft, October 25, 2002, Version 1.0
Stephen A. White., 'XPDL AND BPMN,' Workflow Handbook 2003
Jiang, P., Q. Mair, et al., 'Using UML to Design Distributed Collaboration Workflows: from UML to XPDL,' Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), Linz, Austria, 2003
R. Eshuis, P. Brimont, E. Dubois, B. Gregoire, S. Ramel, 'Animating ebXML Transactions with a Workflow Engine,' CoopIS 2003, Catania, Italy, Springer, 2003
Gardner, T., 'UML Modelling of Automated Business Processes with a Mapping BPEL4WS,' European Workshop on Object Orientation and Web Services, Darmstadt, Germany, 2003
Workflow Patterns Home Page. http://www.workflowpatterns.com
Stephen A. White., 'Process Modeling Notations and Workflow Patterns,' Workflow Handbook 2004
W.M.P. van der Alast., 'Patterns and XPDL: A Critical Evaluation of the XML Process Definition Language'
P. Wohed., W.M.P. van der Aalst., M. Dumas. and A.H.M. ter Hofstede., 'Pattern Based Anaysis of BPEL4WS,' QUT Technical report, FIT-TR-2002-04, Queensland University of Technology, Brisbane, 2002
W.M.P. van der Aalst., M.Dumas., A.H.M. ter Hofstede. and P. Wohed., 'Pattern Based Anaysis of BPML (and WSCI),' QUT Technical report, FIT-TR-2002-04, Queensland University of Techniology, Brisbane, 2002
Robert Shapiro, 'A Technical Comparison of XPDL, BPML and BPEL4WS,' 2002
Han, K. and Kim, K., 'Development of an XPDL-Based Workflow Management System Using the Light-Weight Component Structure,' IE Interfaces, Vol.17, No.2, pp.190- 199, 2004
Xiao Ying, Chen Deren and Chen Min, 'Research of Web Services Workflow and its Key Technology Based on XPDL,' IEEE International Conference on Systems, pp. 2137-2142, 2004
Ping Jiang, Quentin Mair and Julian Newman, 'Using UML to Design Distributed Collaborative Workflows from UML to XPDL,' WETICE 2003, pp.71-76, 2003
Enhydra Shark: Open Source XPDL Workflow Engine in Java (http://shark.obiectweb.org/)
Adam, N., Atluri, V. and Huang, W., 'Modeling and Analysis of Workflows using Petri Nets,' Journal of Intelligent Information Systems, Vol.10, No.2, pp.131-158, 1998
※ AI-Helper는 부적절한 답변을 할 수 있습니다.