BAM Adapter와 BPEL Sensores를 이용하여 주문을 모니터링(dashboard) 해봅시다~
Creating Dashboards in BAM
http://localhost:9001/OracleBAM에 접속합니다.
Architect 버튼을 클릭합니다.
데이터 객체 클릭 후 하위 폴더 생성을 클릭합니다.
Training을 입력 후 폴더 생성 버튼을 클릭합니다.
계속 버튼 클릭 후, 다시 하위 폴더 생성 클릭 후 End2End-105-POProcessing 생성
/Training/End2End-105-POProcessing 에서 데이터 객체 생성을 클릭합니다.
필드 추가를 이용해서 아래와 같이 생성합니다.
Total 필드는 계산됨을 선택하고 공식 편집을 클릭합니다.
Price * Quantity 를 입력합니다.
나머지 필드도 입력 후 데이터 객체 생성 버튼을 클릭합니다.
계속 버튼을 클릭합니다.
레이아웃을 클릭한 상태입니다.
내용 클릭해보면 아직 데이터는 없습니다. -0-
다시 메인 화면에서 Active Studio 버튼을 클릭합니다.
공유 보고서 탭을 클릭합니다.
새 폴더를 클릭합니다.
Training 입력 후 확인 버튼을 클릭합니다.
생성된 Training 폴더를 더블 클릭해서 들어갑니다.
다시 새 폴더 생성을 클릭합니다.
End2End-105-POPRocessing 입력 후 확인 버튼을 클릭합니다.
생성된 폴더를 더블 클릭해서 들어갑니다.
새 보고서 생성 버튼을 클릭합니다.
위 1개 아래 2개의 영역이 있는 보고서를 선택합니다.
제목 부분을 PO Processing Report로 변경합니다.
첫번째는 갱신 정렬 목록(Updating Ordered List)을 선택합니다.
아래쪽에 설정 창이 뜨는데 먼저 데이터 객체를 선택해야합니다. Training을 더블 클릭합니다.
End2End-105-POProcessing을 더블 클릭합니다.
Orders를 선택 후 다음 버튼을 클릭합니다.
데이터 필드를 모두 선택합니다.
다음 버튼을 클릭합니다.
완료 버튼을 클릭합니다.
두번째 영역은 3D 파이 차트(3D Pie Chart)를 선택합니다.
그룹 기준은 Item Type, 차트 값은 Total, 요약 함수는 Sum을 체크 해제하고 Percentage of Total을 체크합니다.
다음 버튼을 클릭합니다.
보기 속성 변경을 클릭합니다.
보기 제목을 Percentage of Total Sales by Item Type으로 변경 후 확인 버튼을 클릭합니다.
3번째는 3D 막대 차트(3D Bar Chart)를 선택합니다.
기룹 기준은 Status, 차트 값은 Order ID, 요약 함수는 Count를 선택 후 다음 버튼을 클릭합니다.
보기 속성 변경 클릭 후 보기 제목을 Purchase Orders by Status로 변경하고 확인을 클릭합니다.
보고서 저장을 클릭합니다.
저장 위치를 공유보고서/Training/Ene2End-105-POProcessing로 지정 후 확인 버튼을 클릭합니다.
확인 버튼을 클릭합니다.
Configure BAM Adapter on WebLogic Server
웹로직 콘솔(http://localhost:7001/console)에 접속하여 배치 목록으로 이동합니다.
OracleBamAdapter를 클릭합니다.
구성 - 아웃바운드 접속 풀 탭으로 이동합니다.
oracle.bam.adapter.adc.RMIConnectionFactory 를 펼치고 eis/bam/rmi를 클릭합니다.
밤 서버 정보를 입력 후 저장 버튼을 클릭합니다.
※ 미리 .../Oracle_SOA1/soa/BAMPlan 폴더를 생성해 놓읍시다!
배치 계획을 미리 생성한 폴더에 맞춰 저장합니다.
저장 되었습니다.
다시 배치 테이블에서 OracleBamAdapter를 선택(체크)하고 갱신 버튼을 클릭합니다.
완료 버튼을 클릭합니다.
Creating a BAM Connection
JDeveloper로 돌아와서 POProcessing 어플리케이션을 엽니다.
Application Resources 네비게이터에서 Connections에서 오른쪽 버튼 클릭 후 New Connection - BAM 을 클릭합니다.
Name은 기본 이름으로 합니다. Next 버튼을 클릭합니다.
BAM Server 정보를 입력합니다.
Test Connectino 버튼을 클릭해서 모두 success 가 나와야 합니다. Finish 버튼을 클릭합니다.
Orders 데이터 객체가 보이네요~
Adding a BAM Service Adapter
BAM Adapter를 추가합니다.
Service Name: OrderBAMAdapter
Browse 버튼을 클릭합니다.
Training/End2End-105-POProcessing/Orders를 선택합니다.
Operation은 Upsert를 선택하고 Enable Batching을 체크합니다. Key로 _Order_ID를 선택합니다.
JNDI Name은 기본 eis/bam/rmi
Finish 버튼을 클릭합ㅎ니다.
route(Mediator)PO와 OrdersBAMAdapter(BAM Adapter)를 연결합니다.
routePO를 더블 클릭합니다.
OrdersBAMAdapter::writetoBAM 으로가는 Transform을 추가합니다.
아래와 같이 연결합니다.
Testing BAM Integration with the BAM Adapter
다시 배치 후 테스트합니다. Mediator에서 BAM으로 간 것을 볼 수 있습니다.
BAM 데이터 객체 내용을 보하나의 데이터가 입력되었습니다.
Adding BAM Sensors to the BPEL Process
approveLargeOrder(BPEL Process)를 편집합니다.
assignCCNumber(Assign) 액티브를 수정합니다.
Copy Operation을 하나 추가합니다.
편집창 오른쪽 상단에 BPEL로 되어있는것을 Monitor로 변경합니다.
assignCCNumber 액티브에서 오른쪽 버튼 클릭 후 Create - Sensor를 클릭합니다.
Name은 PendingApprovalActivitySensor, Evaluation Time은 Completion을 선택합니다.
Activity Variable Sensors에 Variable을 하나 추가합니다.
Variable XPath 오른쪽에 편집 버튼을 클릭합니다.
outputVariable - payload - Order를 선택합니다.
OK를 클릭합니다.
OK 를 클릭합니다.
assignCCNumber 액티브에 센서 아이콘이 생겼습니다.
Structure 팔레트(BPEL 편집창에서만 보입니다)에서 Sensor Actions를 클릭하고 BAM Sensor Action을 클릭합니다.
Action Name은 PendingApprovalSensorAction 입력, Sensor는 PendingApprovalActivitySensor를 선택합니다.
BAM Data Object 오른쪽에 Browse 버튼을 클릭합니다.
Training - End2End-105-POProcessin - Orders를 선택합니다.
_Order_ID를 키로 추가하고 Map File을 지정 후 Enable Batching을 체크 합니다.
Map File 오른쪽의 + 버튼을 클릭합니다.
아래와 같이 연결합니다. 아래 함수는 current-Datetime()
센서 하나와 그에 해당하는 센서 액티브를 만들었습니다.
이제 callbackClient 액티브에 Sensor를 추가합니다.
Evaluaion Time을 Activation으로 선택하고 Variable는 outputVariable - Orders를 선택합니다.
CallbackActivitySensor에 해당하는 BAM Sensor Action을 만들겠습니다.
설정은 아래와 같습니다.
아래와 같이 2개의 센서와 센서 액션(BAM)이 만들어졌습니다.
Deploying and Running the Composite
모두 배치 후 테스트합니다.
두번째 주문은 Customer ID가 이름이 들어와 있고, approved가 approved로 되어있는것을 확인할 수 있습니다.
assign 센서에서 Pending 상태로 한번 기록되고, callback 센서에서 approved 상태로 업데이트가 됩니다.
5000원 이상의 주문을 하게 되면 Human Task에 의해서 대기 상태에 걸리게 됍니다.
이때는 assign 센서까지는 거쳤는데 아직 callback 센서를 거치지 않아서 상태가 Pending Approval로 입력이 되어있습니다.
휴먼 테스트를 처리 하고 나면
callback 센서에 의해서 상태가 바뀌게 됩니다.
실시간으로 갱신되는 레포트를 보겠습니다.
BAM 메인에서 Active Viewer 버튼을 클릭합니다.
좌측 상단에 보고서 선택 버튼을 클릭합니다.
보고서를 선택합니다.
짜잔~ -_-/ (좀.. 구림...)
'Oracle Solution > PO Processing' 카테고리의 다른 글
Chapter G - Using Service Data objects (SDO) (0) | 2010.08.16 |
---|---|
Chapter F - Handling Business Events using EDN (0) | 2010.08.12 |
Chapter E - Enforcing Policies (0) | 2010.08.12 |
Chapter D - Fault Handling (0) | 2010.08.12 |
Chapter C - Unit Testing (0) | 2010.03.02 |
Chapter B - Managing the lifecycle of a SOA composite application (0) | 2010.03.02 |
Chapter 9 - Adding JMS to Fulfillment (0) | 2010.03.02 |
Chapter 8 - Adding Fulfillment (0) | 2010.03.02 |
Chapter 7 - Adding Business Rules (0) | 2010.02.10 |
Chapter 6 - Modifying the Mediator (0) | 2010.02.10 |