봉 블로그

Drools Guvnor 소개 본문

개발환경/Drools

Drools Guvnor 소개

idkbj 2011. 5. 19. 10:23

Drools Guvnor 는 JBoss의 오픈소스 Business Rule Management System (BRMS) 을 의미한다.

(영어원문) Guvnor is the name of the web and network related components for managing rules with drools. This combined with the core drools engine and other tools forms "a BRMS".

국내에는 현재 많은 외산 상용제품과 국산 상용제품이 보급된상태이지만 오픈소스 BRMS는 아직 기업시장에 보급된 예가 없다. 하지만 상용제품과 비교해 성능이나 기능적인 측면에서 전혀 뒤떨어지지 않는다. 따라서 앞으로 Guvnor 의 시장확대가 무척 기대된다 하겠다. (실제 금융권의 여러 사이트에서 사용중이다. )

Guvnor 는 Web Application 으로 만들어져 있으며, 화면 UI가 GWT 기반으로 되어 있어서 Web 2.0시대에 걸맞게 웹표준으로 제작되었다. 아래는 drools-5.1.1-guvnor 버전의 핵심기능및 화면 소개이다.

핵심 기능
- 웹상에서 Rule을 만들고, 수정, 삭제, 복사등을 할수 있다.
- Rule의 버전을 관리해서 쉽게 이전상태로 복구가 가능하다.
- Runtime System으로의 쉬운 배포.
- Rule의 카테고리별 및 상태별, 키워드 검색.
- 사용자별 권한관리가 가능.
- 기타등등..

Rule resource


guvnor 가 관리하는 룰 자원을 세분화 하면 위 그림과 같이 '룰소스', '룰 Package', '룰 Snapshot' 3가지가 핵심 자원이다.

  • 룰 소스 : 프로그램 소스와 같이 업무 룰을 정의하고 있는 파일이다.
  • 룰 Package : 컴파일된 프로그램 실행파일처럼 룰 소스를 묶어서 룰을 실행할수 있는 실행 단위이다. 
  • 룰 Snapshot : 룰 Package 에 버전을 부여한 룰 실행 단위이다.

사실 guvnor 가 관리하는 자원은 룰 뿐만 아니라 룰과 관련된 모든 파일 자원을 관리할수 있다. 한마디로 업무 지식에 관련된 모든 자원을 관리할수 있다는것이다.

화면(User Interface)
로그인화면
Guvnor를 접속하면 제일먼저 로그인 화면이 나타난다.



아래는 로그인후 첫화면.

룰을 검색하는 화면이 제일먼저 나타난다.
왼쪽에 메뉴들이 배치해 있으며, 메뉴늘 클릭하면 오른쪽에 탭형식으로 나타나게된다.

Navigate 메뉴
룰의 키워드 검색 또는 카테고리별 룰 목록 및 등록/수정/삭제할수 있는 화면


룰생성시 사용할수 있는 웹기반 룰 에디터는 다음과 같다.

Decision Table (평점표, 스코어카드)

직업구분이라는 입력값에 대해 최소값, 최대값이 조건이고, 배점, 최대배점, 사유코드 가 결과 값이 된다.

Decision Matrix

컬럼조건과 row조건에 따라 결과를 산출하는 룰을 표현할때 사용한다. guvnor 에서는 제공하지 않습니다. 위와 같은 룰 에디터를 얼마든지 만들수 있습니다.

Decision Tree

트리형태의 조건에 따른 결과를 산출하는 풀을 표현할때 사용한다. 역시 guvnor 에서는 제공하지 않는다.

RuleFlow Editor


전체 룰그룹별 처리흐름을 정의하는 Eclipse 기반의 룰 에디터를 제공한다.


작성중.. ^^