BPEL[Business Process Execution Language for Web Service]

:웹서비스 환경에서 비즈니스 프로세스를 정의하고 실행하기 위한 XML 기반의 표준언어입니다.

BPEL은 웹 서비스의 composition, orchestration, coordination을 통해 탑-다운 방식으로 SOA(Service Oriented Architecture)를 구현합니다. BPEL을 이용하면 웹 서비스에비즈니스 프로세스(business process)”라 불리는 컴포지트 서비스(composite service)를 쉽게, 그리고 직관적으로 구현할 수 있습니다.

BPEL block structured programming language이고 recursive block structure를 지원한다. 하지만 정의와 선언은 top level 프로세스에서만 가능하다. Block내에서 graph 형태의 flow를 정의하는 것이 가능하지만 이는 이전 세대 Workflow 제품의 제약 사항을 어느 정도 영향을 받아 제약을 가지고 있다. 예를 들어 사이클이 없는 즉, loop가 없는, graph 형태만이 지원이 되며 block boundary를 넘어서는 flow를 정의하는데 제약이 따른다. 또한 특정 activity가 실질적으로 수행되는가를 결정하는데 복잡한 semantics가 있다. Instance-relevant data container로 부름.