요엘

YAWL

YAWL(Yet Another Workflow Language)은 워크플로우 패턴을 기반으로 하는 워크플로우 언어다.실행 엔진, 그래픽 편집기, 작업 목록 핸들러를 포함하는 소프트웨어 시스템에 의해 지원된다.LGPL 라이선스에 따라 오픈소스 소프트웨어로 이용할 수 있다.

YAWL의 생산 수준 구현에는 프런트엔드 서비스 프로세스를 자동화하기 위해 영국 내 첫 번째:유틸리티 및 첫 번째:텔레콤에 의한 배치, 그리고 영화 촬영 과정을 조정하기 위해 호주 영화 텔레비전과 라디오 스쿨에 의한 배치가 포함된다.20여 개 대학에서 강의하는 데도 쓰였다.[1]

특징들

  • 워크플로우 패턴에 대한 포괄적인 지원
  • 4-Eye 원칙 및 연결된 실행을 포함한 고급 리소스 할당 정책 지원
  • 워크렛 개념을 통한 워크플로우 모델의 동적 적응 지원.
  • 정교한 워크플로우 모델 검증 기능(예: 설계 시 교착 상태 탐지)
  • XML 스키마, XPathXQuery 기반의 데이터 정의 및 조작을 위한 XML 기반 모델
  • 워크플로우 인스턴스를 모니터링 및 제어하고 실행 로그에 액세스하기 위한 XML 기반 인터페이스.
  • 타사 작업 목록/태스크 핸들러를 포함하여 타사 웹 서비스를 시스템과 연결하기 위한 XML 기반 플러그인 인터페이스.
  • XML 스키마에서 자동 폼 생성.

역사

언어와 지원 시스템은 원래 아인트호벤 공과대학과 퀸즐랜드 공과대학의 연구자들에 의해 개발되었다.그 뒤 인터컨티넨탈 호텔 그룹, first:텔레콤, ATOS 월드라인[2] 등 여러 기관이 이니셔티브에 기여했다.

YAWL 뒤에 있는 원래 드라이버는 모든(또는 대부분의) 워크플로우 패턴을 지원하고 공식 의미론을 갖는 워크플로우 언어를 정의해야 했다.페트리 네트가 대부분의 워크플로우 패턴을 지원하는 데 근접했다는 것을 관찰하면서, YAWL의 설계자들은 페트리 그물을 출발점으로 삼고 오르조인, 취소 세트, 다중 인스턴스 활동 등 세 가지 주요 구조로 이러한 공식주의를 확장하기로 결정했다.이 세 가지 개념은 Petri nets에서 직접적으로 지원되지 않았던 5가지 워크플로우 패턴, 즉 병합, 판별기, N-out-of-M 결합, 사전 런타임 지식 취소 사례가 없는 다중 인스턴스(instance)를 지원하는 것을 목적으로 한다.

또한 YAWL은 단순 선택(xor-split), 단순 병합(xor-join), 다중 선택(또는-split)과 같은 다른 워크플로우 패턴을 직관적으로 포착하기 위해 Petri net에 일부 구문 요소를 추가한다.이 언어를 설계하는 동안, 페트리 그물에 추가된 확장들 중 일부는 평범한 페트리 그물로 다시 인코딩하는 것이 어렵거나 심지어 불가능하다는 것이 밝혀졌다.결과적으로, YAWL의 원래 공식적 의미론들은 페트리 네트가 아닌 라벨로 표시된 전환 시스템으로 정의된다.YAWL이 공식 의미론에 기초하고 있다는 사실은 YAWL 프로세스를 분석하기 위한 몇 가지 기법의 구현을 가능하게 했다.특히 YAWL 시스템에는 WofYawL이라는 정적 분석 툴이 포함되어 있다.

Yawl vs. BPEL

YawL은 때때로 BPEL[by whom?] 대안으로 보여진다.BPEL의 가장 큰 장점은 여러 IT 산업 주체들이 지원하는 표준화 위원회가 주도하고 있다는 점이다.그 결과, BPEL은 상당한 수의 툴(독점적 툴과 오픈 소스 모두)에 의해 지원되고, YAWL은 현재 단일 구현을 하고 있다.또한, 여러 연구자들이 페트리 그물, 공정 대수학, 유한 상태 기계를 포함한 다양한 공식적 관점에서 BPEL의 하위 집합의 공식 의미론을 포착했다.이로써 YAWL 시스템이 제공하는 정적 분석 기능과 경쟁할 수 있는 BPEL용 정적 분석 툴 개발의 토대가 마련되었다.

한편, 표준 BPEL은 인간 행위자에게 할당되고 이러한 행위자들이 신체적 수행과 관련된 행동을 완료해야 하는 인간 작업, 즉 인간 행위자들을 지원하지 못한다는 점에 주목했다[by whom?].다수의 BPEL 엔진은 이미 인간 작업에 대한 BPEL 확장 기능을 제공하지만, 이러한 확장 기능은 아직 표준화되지 않았다.이와는 대조적으로, YAWL은 웹 서비스 표준에 근거한 작업 목록 서비스를 위한 통일된 인터페이스를 제공한다.이 인터페이스는 개발자가 자신의 필요에 따라 인간의 업무를 지원하는 자체 작업 목록 서비스를 구축할 수 있도록 한다.또한 YAWL 시스템은 몇 가지 유형의 인간 작업 할당 및 처리를 지원하는 기본 작업 목록 서비스와 함께 제공된다.이 점에서 YAWL과 BPEL 사이의 간극은 BPEL 버전 2.0에 포함된 새로운 구성에 의해 줄어들 수 있지만 YAWL의 또 다른 장점은 워크플로우 패턴에 대한 지원이다.

참고 항목

참조

외부 링크