본문 바로가기

Tibco/BusinessEvents

TIBCO Administrator에서 RMS 등록 하여 실행

Tibco BE Decision Manager(이하 DM)은 Tibco BE의 add-on 제품이며, BE에 내장된 RMS(Rules Management Server)를 사용하며, DM은 BE Studio에서 사용되는 구성 요소이며, RMS는 서버-기반의 구성 요소이다. 즉, RMS는 웹-기반의 GUI 화면에서 개발자가 사전에 정의된 Event Factor들을 비즈니스 유저가 접속하여 비즈니스 룰을 등록 수정하는 기능을 제공하기 때문에 다음과 같은 기능을 사용할 수 있다:

- Logon / Logout 및 RBAC 기능 제공

- WorkFlow 기능 제공 - checkout / update / commit / Revert / Approval / Reject / Deployment

- 히스토리 확인 기능 제공

협업 사용자들에게 Event Factor를 제공하기 위해서, 개발자들은 내부적으로 Virtual Rule Factions(VRF)를 구현해야 하며, 이는 Java의 Interface와 유사한 개념으로 Body가 정의되지 않고 Scope 부만 정의되며, 실제 로직은 해당 VRF를 상속받은 Decision Table 또는 Decision Tree에서 구현해야 한다. 대략적인 작업 절차는 아래와 같이 정의할 수 있다.

* DM & RMS User Workflow
Step 1 : BE Design Time
- BE 프로젝트를 생성하고, VRF 및 decision table 작성
- RMS 서버 구성 정의
- RMS 서버 기동
Step 2 : BE Decision Manager Design Time
- RMS에 로그인 및 프로젝트 check-out
- decision table 생성 및 정의
- 수정된 decision table의 승인을 위해 commit
Step 3 : Approval
- 승인 요청 확인 및 변경사항에 대한 approval 또는 reject
Step 4 : 배포 파일 생성
- 배포를 위한 배포 파일(EAR 또는 class 파일) 생성
Setp 5 : 배포
- EAR 또는 class 파일 배포

1. RMS 구성

* RMS Server Host의 위치 정의

1) BRMS 프로젝트를 import 및 RMS.cdd 오픈

2) CDD의 Processing Unit 탭에서, Inference 클릭 및 RMS-GV 속성 그룹 확장

3) 다음 옵션 정의
- tibco.clientVar.RMS/hostname
- tibco.clientVar.RMS/port
4) RMS.cdd 파일 저장
5) workspace의 RMS.cdd 파일을 BRMS 프로젝트와 RMS 서버 시작 위치로 카피
- BRMS 프로젝트 위치 : BE_HOME/rms/project/BRMS/Deployment/RMS.cdd
- RMS 서버 위치 : BE_HOME/rms/bin/RMS.cdd
6) RMS 서버 재시작

* Decision Manager와 RMS간 Remote Connection을 enable
1) studio.tra 오픈 : BE_HOME/studio/eclipse/configuration/studio.tra
2) 다음 옵션 정의
#RMS interaction properties
rms.host=hostname
rms.port=port
3) studio.tra 파일 저장

2. RMS 실행
- RMS.cdd 파일 수정
                <property name="ws.scs.rootURL" type="string" value="C:/Data/02.Work/B.SKT/5.PoC/workspace"/>
- BE_HOME/5.1/rms/config/security 디렉토리에서 [APPName].ac파일 생성 (CreaditCardApplication.ac 파일 복사)
- BE_HOME/rms/bin/be-rms.exe(be-rms.sh) -c RMS.cdd -u default RMS.ear
- RMS repository : be project 폴더 및 EAR파일을 아래의 repository 폴더로 카피해야 함.
: BE_HOME/examples/standard/WebStudio 
- ACL(Access Control File)은 repository의 각 BE 프로젝트 용으로 생성되어야 함 : BE_HOME/rms/config/security
- http://localhost:8090/WebStudio

3. Rule Template 생성
1) BE Studio의 Project 폴더에서 신규 폴더 작성 및 이름을 RuleTemplates로 변경
2) RuleTemplate 폴더에서 "NEW>Other>BE > Rule Template"를 차례로 선택
3) RuleTemplate 작성

* 결과적으로 BE를 설치하면, BE_HOME/rms에 RMS Components를 위한, RMS.ear 및 RMS.cdd가 존재하며 이는 TIBCO BE를 기반으로 개발된 애플리케이션이기 때문에, TIBCO Administrator를 활용하여 배포 관리 할 수 있다.

주의할 점은 TRA_HOME/DOMAIN_HOME/application에 생성된 실행 파일과 .tra가 BE_HOME/rms/bin에 있는 be-rms와 be-rms.tra를 참조해야 하기 때문에 수동으로 생성된 .sh과 .tra 파일을 수정해 주어야 함