2. Page 2
Rule 프로세스
1. Rule 프로세스
- 조건분기 액티비티를 이용하여 의사결정 tree/ matrix를 구현한 프로세스 모델을 의미.
- if ~ else 구문으로 구현하던 조건 비교 로직을 프로세스 모델로 정의하여 모델이 변경이 되더라도 프로세스 모델러를 이용하여 룰 모
델만 수정하면 코드 변경 없이 적용이 가능.
- Business Rule Management에 사용.
3. Page 3
2. 메모리 실행 모드
- ‘DefaultProcessInstance’를 사용하면 프로세스 실행 정보들을 Database 에 저장을 하지 않기 때문에 실행 된 내역은 소실되지만 처
리 속도가 중요한 BRMS을 위해서는 필요한 기능.
- ProcessInstance의 기본 클래스는 ‘EJBProcessInstance’를 사용.
VS
Rule 프로세스
4. Page 4
3. 모델링 – 시스템 최적화 설계
- 결과 값은 위 두 프로세스는 동일.
- 시스템 처리속도 면에서 보면 조건비교를 1-depth : 2-depth로 처리하기 때문에 Case1 이 성능이 좋음.
- 시스템 사용 메모리를 봐도 액티비티 사용 개수가 ComplexActivity를 포함하여 5:7이기 때문에 Case1 이 성능이 좋음.
Rule 프로세스
>
Case 1 Case 2
5. Page 5
4. 모델링 – condition 범위
- Case1의 경우 조건비교 범위가 10<= input <20가 빠져 있기 때문에 input이 그 사이 값일 경우에는 해당 조건문를 타지 않음.(연속성)
- Case2의 경우 20 이상의 조건이 없기 때문에 input 값이 20 이상이 입력되었을 경우 해당 조건문을 타지 않기 때문에 마지막 분기를
추가하여 otherwise case 설정 필요 (예외 범위)
- Otherwise case는 항상 제일 마지막에 설정되어야 함.
Rule 프로세스
Case 1 Case 2
6. Page 6
5. 모델링 – 비교항목의 class type
- 비교항목(프로세스 변수)의 class 유형은 일반적으로 boolean / text / number 으로 나뉠 수 있는데 class에 맞는 condition을 설정해
야 함.
- 비교항목 class가 text으로 선언되어 있는데 number 비교 condition은 사용할 수 없음.
Rule 프로세스
7. Page 7
6. 모델링 – condition 설정
- 동일한 case의 가로 condition은 and 조합
- 동일한 case의 세로 condition은 or 조합
Rule 프로세스
and
or
1
2
8. Page 8
7. 모델링 – 비교 값
- 비교 항목(프로세스 변수) 값은 프로세스 실행 시에 할당.
- 비교 값은 모델링 시에 입력을 기본으로 하는데 필요에 따라서 DB나 동적으로 변경이 되어야 하는 경우에는 룰편집기를 요구사항에
맞게 수정되어야 함.
Rule 프로세스
1비교 항목
(프로세스 변수)
비교 값2
9. Page 9
8. 모델링 – 액션(종단) 액티비티
- 조건분기의 Node 마지막에서 최종 액션을 하는 액티비티이며 output 항목에 결과 값을 할당하는 역할 담당.
- 액션 액티비티는 업무 내용에 따라서 개발.(커스터마이즈 영역)
Rule 프로세스
10. Page 10
9. 시뮬레이션 (1)
Rule 프로세스
인스턴스 발행1
2
인스턴스 선택
11. Page 11
9. 시뮬레이션 (2)
Rule 프로세스
3 입력 항목 선택
4 항목 값 입력
12. Page 12
9. 시뮬레이션 (3)
Rule 프로세스
인스턴스 시작5
6
완료 된 인스턴스 선택
13. Page 13
9. 시뮬레이션 (4)
Rule 프로세스
7 플로우차트
확인
8
Output 항목 값 확인