2. Page 2
Ad hoc 프로세스
1. Ad hoc 프로세스
- Ad hoc 프로세스는 프로세스 실행 중에 동적으로 프로세스 정의를 변경하여 진행하는 프로세스를 의미
- 결재 프로세스의 경우 자주 발생하는 업무형태로 상신 단계 결재자 리스트에 따라서 프로세스가 결정.
실행 전 실행 후
3. Page 3
2. Ad hoc 프로세스정의 저장
- 프로세스 정의는 BPM_PROCDEFVER 테이블의 FILEPATH 컬럼에 XML 파일의 상대경로가 저장 되지만 ad hoc의 경우 변경 된 프로
세스 정의는 BPM_PROCINST 테이블의 DEFPATH 컬럼에 저장된다.
- ad hoc 프로세스 정의는 해당 인스턴스에만 적용.
실행 전 실행 후
Ad hoc 프로세스
4. Page 4
3. 실행 중 프로세스의 액티비티 추가
- 장애신고 프로세스의 첫 번째 단계만 모델링 되어 있는 프로세스에 두 번째 단계를 동적으로 추가
- ‘Dynamic Change’기능을 사용.
실행 전 실행 후
Ad hoc 프로세스
5. Page 5
4. 프로세스 실행
- ProcessManagerRemote의 executeProcess() 메소드를 이용하여 프로세스를 실행.
- 첫 번째 액티비티가 Running 상태로 변경 됨.
Ad hoc 프로세스
6. Page 6
5. To-Be 프로세스 정의 개발
- instanceId = 126 인 인스턴스 객체 얻기
- 인스턴스 126번의 프로세스정의 객체를 얻어 clone()을 하여 기존 프로세스 정의에 영향을 미치지 않도록 한다.
Ad hoc 프로세스
7. Page 7
6. 역할 추가 및 사용자 지정
- ‘manager’, ’rightPerson’ Role을 생성하여 복제 된 프로세스 정의에 추가
- ‘manager’ 역할에는 ‘test’ 유저를 매핑하여 ‘장애처리자 지정’ 단계에 담당자 할당 규칙 지정.
Ad hoc 프로세스
8. Page 8
7. 역할 추가 및 사용자 지정
- ‘장애처리자 지정’ 단계에 ‘manager’ 역할을 부여
- ‘trouble_desc’, ‘trouble_class’ 프로세스 변수와 ‘rightPerson’ 역할 지정을 위하여 ParameterContext에 추가
Ad hoc 프로세스
9. Page 9
8. 프로세스 정의 재설정
- 추가 된 액티비티의 tracingTag 할당을 위해서 auto Tagging
- 변경 된 프로세스 정의를 인스턴스 객체 교체(replace)
Ad hoc 프로세스
10. Page 10
9. 변경 된 프로세스 정의 확인
- ad hoc 프로세스의 확인을 하려면 ‘instance level Definition Change’ 기능을 통하여 변경 된 프로세스 정의를 프로세스 디자이너로
loading 할 수 있다.
Ad hoc 프로세스
11. Page 11
10. 변경 된 프로세스 실행 확인
- ‘장애 신고’ 단계를 정상적으로 완료가 되면 다음 단계인 ‘장애처리자 지정’ 단계가 정상적으로 실행이 되어야 함.
1
2
Ad hoc 프로세스