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

More Related Content

Similar to uEngineBPM 개발자교육 6 Rule프로세스

Infra as a model service
Infra as a model serviceInfra as a model service
Infra as a model serviceTae Young Lee
 
Exploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMsExploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMsTae Young Lee
 
C++ 태스크 기반 병렬 프로그래밍
C++ 태스크 기반 병렬 프로그래밍C++ 태스크 기반 병렬 프로그래밍
C++ 태스크 기반 병렬 프로그래밍RayKim51
 
[오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC [오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC Ji-Woong Choi
 
Chapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsChapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsKyeongUkJang
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usageTae Young Lee
 
03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)Hankyo
 
이펙티브 C++ (7~9)
이펙티브 C++ (7~9)이펙티브 C++ (7~9)
이펙티브 C++ (7~9)익성 조
 

Similar to uEngineBPM 개발자교육 6 Rule프로세스 (10)

Chap4_2
Chap4_2Chap4_2
Chap4_2
 
Infra as a model service
Infra as a model serviceInfra as a model service
Infra as a model service
 
Exploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMsExploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMs
 
C++ 태스크 기반 병렬 프로그래밍
C++ 태스크 기반 병렬 프로그래밍C++ 태스크 기반 병렬 프로그래밍
C++ 태스크 기반 병렬 프로그래밍
 
Uml intro 1
Uml intro 1Uml intro 1
Uml intro 1
 
[오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC [오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC
 
Chapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsChapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep models
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usage
 
03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)
 
이펙티브 C++ (7~9)
이펙티브 C++ (7~9)이펙티브 C++ (7~9)
이펙티브 C++ (7~9)
 

uEngineBPM 개발자교육 6 Rule프로세스

  • 1. 유엔진 개발 교육 (Rule 프로세스) 작성자 : 김보상
  • 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 항목 값 확인