일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CEP
- Spring
- spring jpa
- jquery
- jstl
- gwt
- java tip
- maven
- JBoss Seam
- bootstrap jquery datepicker
- rember me
- jquery serialize
- ibatis
- guvnor
- SVN
- jenkins
- custom filter
- drools
- zabbix
- spring security
- @SqlResultSetMapping
- spring transaction
- MySQL
- GEventEvaluator
- gwt-ext
- querydsl
- Hudson
- COC
- Drools Fusion
- JPA
- Today
- Total
봉 블로그
Drools 6 New Features 본문
Drools 5.* 에서 6.* 대로 오면서 달라진 변화들을 아래와 같이 정리한다.
1. Build & Deploy & Loading (utilization) 절차를 Maven 방식으로 변경
- 5.* 에서는 Guvnor(6.* 에서는 Workbench 라 칭함) 에 의해 rule package (binary file) 를 build 및 자체 rule repository로 deploy 하고 Guvnor 에서 제공하는 url 를 통해 rule 을 loading 했는데, 6.* 에서는 Workbench 에서 maven project 를 생성 및 build 하고 maven repository 에 deploy 한다. Drools Workbench 에서 관리하는 maven project (Kie project 라고도 함)에는 rule, rule flow, data object 등을 포함한다.
- Drools6 Deployment -
2. Convention over Configuration(CoC) 도입
'kmodule.xml' 은 CoC기반 Kie project 를 구성할수 있게 한다. CoC는 Ruby on Rails를 통해 각광을 받았고 Spring framework 등 대부분의 프레임워크에서 기본적으로 차용하고 있는 소프트웨어 디자인 패턴이다. 쉽게 말해 configuration 기반의 소프트웨어개발 방법을 제공하고 default 설정을 제공하여 최소한의 설정 및 코드 만으로 개발 및 운영이 가능하다. 물론, 5.* 버전처럼 프로그래밍방식의 개발 및 운영도 가능하다.
3. PREAK algorithm (Lazy rule matching algorithm)
PREAK 이라는 새로운 알고리즘을 도입합으로서 대규모의 rules and facts 를 처리할수 있게됬다. AngendaGroups 을 사용하면서 성능개선이 가능해졌음.
4. Workbench use Uberfire & Git
Workbench 의 ui 를 Uberfire 라는 web 기반 ui framework 으로 모두 변경하였다. Eclipse 에 영향을 받아 만들어진 ui framework 이라함. GWT 기반이라 java 를 통해 web기반 ui 를 만들수 있다. 그리고, 또하나의 중요한 변화는 Workbench 에서 작성하는 모든 resource들(rule, rule flow, data object 등)에 대한 버전관리를 Git을 이용한다는것이다. 5.* 버전에서는 JCR(Apache Jackrabbit) 이라는것으로 했음. Git을 적용함으로서 Workbench 와 Eclipse 등의 최신 IDE 툴과의 협업이 매우 편리해졌다.
5. KIE Execution Server
6.2.0 버전부터 추가된 놈인데 provisioning 과 원격 룰 호출을 위해 REST API 를 제공한다.
6.2.0 버전부터 Workbench 에 Decision Tree Editor 가 추가되는 등의 기타 여러기능들이 개선되었음.