Aaron H. Kim Fearless Integration Maniac

BizTalk Q&A : BPEL이 뭐죠?

2008-09-04
Aaron Kim

이 글은 기획 강의 BizTalk Q&A 200의 일부입니다.

답변(번역) :

BPEL(Business Process Execution Language)은 비즈니스 프로세스 명세를 위한 표준(Standard)입니다. BPEL은 플랫폼간 단순 실행보다는 상호 운용을 필요로 하는 비즈니스 프로세스를 위해 만들어졌습니다. BPEL은 비즈토크(BizTalk) 서버의 요소 중 하나인 오케스트레이션용 언어(Orchestration Language)입니다. 오케스트레이션은 그래서 다른 시스템들과의 메시지 교환을 포함한 실행가능한 프로세스들을 정의할 수 있고, 이 때 메시지의 교환 순서는 오케스트레이션 디자이너를 통해 설계합니다.

역자 보충 설명 :

BPEL은 비즈니스 프로세스를 정의하는 WSDL(Web Services Description Language)이라고 할 수 있습니다. WSDL을 통해 인터페이스를 공개하면 ‘플랫폼을 막론하고’ 메시지를 주고 받을 수 있지요. BPEL의 디자인 컨셉도 여기서 출발합니다.

비즈토크(BizTalk) 서버 2004가 나오기 전 마이크로소프트는 비즈니스 프로세스 정의를 위한 언어로 XLANG을 개발했습니다. IBM 역시 자사 고유의 스펙을 사용했고, 타 벤더들도 마찬가지였습니다. 이에 표준화의 일환으로, 마이크로소프트와 IBM이 손을 잡고 ‘플랫폼 독립적인’ BPEL4WS 스펙을 개발하게 된 것이죠.

그리고 BPEL은 벤더에 종속적인 요소들을 제거함으로써 ‘이론적으로는’, 하나의 BPEL 문서만 있으면 어느 벤더의 어느 플랫폼에서도 작동할 수 있는 언어로 자리잡았습니다.

그러나 안타깝게도, 오늘날의 복잡한 비즈니스 프로세를 정의하기에 BPEL 스펙은 너무나 제한적이라, 많은 벤더들이 원래 가지고 있던 기존 스펙을 그대로 유지하거나(마이크로소프트의 XLANG을 포함), BPEL을 기본 언어로 사용하되 벤더 고유의 확장팩을 추가하는 결과를 낳고야 말았습니다. BPEL의 원래 목표이던 이식성(Portability)을 잃어버리고 만 것이죠.

비즈토크(BizTalk)의 경우, 자사 스펙인 XLANG을 사용하지만 BPEL4WS 1.1 스펙의 문서로 내보내기(Export)와 가져오기(Import)를 지원합니다. (2004,2006,R2). 오케스트레이션을 BPEL 문서로 내보낼 수도 있고, 원래의 BPEL 문서로부터 오케스트레이션을 생성할 수도 있습니다. 이렇게 생성된 BPEL 정의를 타 벤더의 플랫폼에서도 그대로 사용할 수 있습니다.

그럼 된 거 아냐?

여기까지 읽으신 분들은 의문이 들었을 겁니다. 자사 고유의 스펙인 XLANG을 사용하면서도 BPEL로 내보내기, 가져오기가 가능하다면 이식성과 언어의 효율성, 두 마리 토끼를 다 잡은게 아니냐고요. 물론 그렇지는 않습니다.

BPEL보다 ‘덜’ 제한적인 XLANG을 사용함으로 인해(사실 XLANG도 꽤 제한적입니다) BPEL과의 호환성은 당연히 떨어지게 되었습니다. 예를 들어 BPEL은 XLANG의 Call/Start Orchestration 셰이프를 정의할 방법이 없으며 따라서 BPEL과의 호환성을 보장하려면 자연히 XLANG을 사용하면서도 BPEL 스펙에 맞추어 개발해야 합니다. 그럼 다시 비즈니스 프로세스를 효율적으로 정의한다는 원래의 목표를 달성하기 어렵겠죠.

아시는 분은 아시겠지만, 비즈토크 서버의 다음 버전에는 WF를 기반으로 한 오케스트레이션 엔진이 추가될 것 입니다. 그리고 그

http://blogs.msdn.com/pandrew/archive/2007/02/25/Microsoft-provides-BPEL-2.0-in-WF-_2D00_-BPEL-for-Windows-Workflow-Foundation-March-CTP.aspx

WF에서 BPEL 2.0 스펙을 지원한다고 하니 BPEL 표준을 위한 마이크로소프트의 노력은 계속될 전망입니다. 두 마리의 토끼를 온전히 잡을 그 날을 기대하며..

BPMN을 BPEL로 변환하는 이유와 그 방법


Similar Posts

Comments