반응형
Introduction
전 튜토리얼에서 금액이 1,000원이 넘으면 카드상태를 체크하는 BPEL 처리까지 만들어봤습니다.
이번에는 1,000원이 넘고 카드상태가 정상(VALID)이면 관리자(?)의 수동 승인을 거치는 작업을 만들어 보겠습니다.
나름대로 정리해봤는데 -_- 맞나? ㄷㄷ;;
Adding a Human Task to the composite
composite에서 Human Task 컴포넌트를 Components 영역에 드래그 앤 드랍 합니다.
Name : ManualPOApproval
Create Composite Service width SOAP bindings 체크 해제
ManaualPOApproval과 approveLargeOrder를 연결합니다.
ManualPOApproval 컴포넌트를 더블 클릭합니다.
General 탭에서
Title : <%'Approve Order'%>
Description : Manual approval task for large orders
Data 탭에서 + 버튼 - Add other payload 클릭
Element 선택하고 오른쪽에 돋보기 버튼 클릭
internalorder.xsd - Order 선택
Editable via worklist 체크 합니다.
Assignment 탭에서 <Edit participant> 더블 클릭합니다.
Type : Single
Label : Large Order Approver
+ 버튼 - Add User 클릭
Identification Type : User
Data Type : By Name
value : weblogic
모두 저장 합니다.
Calling the Human Task from BPEL
이번에는 approvLargeOrder(BPEL Process)를 더블 클릭해서 편집합니다.
assignApproval 액티브 아래에 Human Task 컴포넌트를 드래그 앤 드랍 합니다.
Task Definition : ManualPOApproval
Task Title : Approve Order
오른쪽에 [...] 버튼을 클릭합니다.
Variables - Process - Variables - outputVariable - payload - Order 선택
OK 클릭
그림고 같이 ManualPOApproval_1 과 taskSwitch 두개의 액티브가 생겼습니다.
taskSwitch 를 확장합니다.
3가지의 조건이 나옵니다.
assignApproval을 <case Task outcome is APPROVE> 영역 Assign 아래로 이동시킵니다.
<case Task outcome is REJECT> 영역의 CopyPayloadForTask 더블 클릭
+ 버튼 - Copy Operation 클릭
'rejected'를 세팅 합니다.
<otherwise Task is outcome is EXPIRED, STALE, WITHDRAWN, or ERRORED> 영역의 Assign 에는 'expired' 를 세팅합니다.
Creating the Task form for task details
POPrecessing 어플리케이션에서 새로운 프로젝트 생성
Generic Project 선택
Project Name : ApproveTaskDetails
Project Technologies 선택하지 않고 Finish
ApproveTaskDetails 에서 마우스 오른쪽 버튼 - New
Web Tier - JSF 선택
ADF Task Flow Based on Human Task 선택
OK 클릭
POProcessing 디렉토리의 ManualPOApproval.task 선택
기본으로 두고 OK
ADF 파일들이 생성되었습니다.
taskDetails1_.jspx 더블 클릭
OK 클릭
Data Controls 색션에 있는 Task를 오른쪽 공간에 드래그 앤 드랍 합니다.
메뉴가 나오는데 Human Task - Complete Task with Payload 선택
짜잔! 페이지가 만들어졌습니다 우왕~
모두 저장합니다.
Deploying the application
POProcessing는 하던대로 배치합니다.
ApproveTaskDetails을 배치할때는 어플리케이션 메뉴를 이용해야 되더군요..
Testing the application
주문 가격이 1,000원이 넘고 카드상태가 정상인 데이터를 넣어봅니다.
메시지 흐름 추적 실행 클릭
※ 아직 이 흐름추적 실행 할 수 있는 페이지에서 다른곳으로 이동 하지 마세용~
추적에서 보면 ManualPOApproval 에서 실행 중 상태인 것을 볼 수 있습니다. ㄷㄷ
BPM에 접속한 후 받은 편지함에 보면 주문(?)이 들어와 있습니다.
세부 정보 확인 후 승인 또는 거부 할 수 있습니다.
승인 후 EM으로 와서 추적을 다시 해보면 처리가 완료된 것을 확인할 수 있습니다.
승인 처리된 파일을 보면 status가 approved가 되었습니다.
거부 처리된 파일을 보면 status가 rejected인 것을 확인할 수 있습니다.
이번에는 취소 처리를 하겠습니다.
status가 expired가 되었습니다.
전 튜토리얼에서 금액이 1,000원이 넘으면 카드상태를 체크하는 BPEL 처리까지 만들어봤습니다.
<< Chapter 4. 까지 완성된 SOA >>
이번에는 1,000원이 넘고 카드상태가 정상(VALID)이면 관리자(?)의 수동 승인을 거치는 작업을 만들어 보겠습니다.
나름대로 정리해봤는데 -_- 맞나? ㄷㄷ;;
Adding a Human Task to the composite
composite에서 Human Task 컴포넌트를 Components 영역에 드래그 앤 드랍 합니다.
Name : ManualPOApproval
Create Composite Service width SOAP bindings 체크 해제
ManaualPOApproval과 approveLargeOrder를 연결합니다.
ManualPOApproval 컴포넌트를 더블 클릭합니다.
General 탭에서
Title : <%'Approve Order'%>
Description : Manual approval task for large orders
Data 탭에서 + 버튼 - Add other payload 클릭
Element 선택하고 오른쪽에 돋보기 버튼 클릭
internalorder.xsd - Order 선택
Editable via worklist 체크 합니다.
Assignment 탭에서 <Edit participant> 더블 클릭합니다.
Type : Single
Label : Large Order Approver
+ 버튼 - Add User 클릭
Identification Type : User
Data Type : By Name
value : weblogic
모두 저장 합니다.
Calling the Human Task from BPEL
이번에는 approvLargeOrder(BPEL Process)를 더블 클릭해서 편집합니다.
assignApproval 액티브 아래에 Human Task 컴포넌트를 드래그 앤 드랍 합니다.
Task Definition : ManualPOApproval
Task Title : Approve Order
오른쪽에 [...] 버튼을 클릭합니다.
Variables - Process - Variables - outputVariable - payload - Order 선택
OK 클릭
그림고 같이 ManualPOApproval_1 과 taskSwitch 두개의 액티브가 생겼습니다.
taskSwitch 를 확장합니다.
3가지의 조건이 나옵니다.
assignApproval을 <case Task outcome is APPROVE> 영역 Assign 아래로 이동시킵니다.
<case Task outcome is REJECT> 영역의 CopyPayloadForTask 더블 클릭
+ 버튼 - Copy Operation 클릭
'rejected'를 세팅 합니다.
<otherwise Task is outcome is EXPIRED, STALE, WITHDRAWN, or ERRORED> 영역의 Assign 에는 'expired' 를 세팅합니다.
Creating the Task form for task details
POPrecessing 어플리케이션에서 새로운 프로젝트 생성
Generic Project 선택
Project Name : ApproveTaskDetails
Project Technologies 선택하지 않고 Finish
ApproveTaskDetails 에서 마우스 오른쪽 버튼 - New
Web Tier - JSF 선택
ADF Task Flow Based on Human Task 선택
OK 클릭
POProcessing 디렉토리의 ManualPOApproval.task 선택
기본으로 두고 OK
ADF 파일들이 생성되었습니다.
taskDetails1_.jspx 더블 클릭
OK 클릭
Data Controls 색션에 있는 Task를 오른쪽 공간에 드래그 앤 드랍 합니다.
메뉴가 나오는데 Human Task - Complete Task with Payload 선택
짜잔! 페이지가 만들어졌습니다 우왕~
모두 저장합니다.
Deploying the application
POProcessing는 하던대로 배치합니다.
ApproveTaskDetails을 배치할때는 어플리케이션 메뉴를 이용해야 되더군요..
Testing the application
주문 가격이 1,000원이 넘고 카드상태가 정상인 데이터를 넣어봅니다.
메시지 흐름 추적 실행 클릭
※ 아직 이 흐름추적 실행 할 수 있는 페이지에서 다른곳으로 이동 하지 마세용~
추적에서 보면 ManualPOApproval 에서 실행 중 상태인 것을 볼 수 있습니다. ㄷㄷ
BPM에 접속한 후 받은 편지함에 보면 주문(?)이 들어와 있습니다.
세부 정보 확인 후 승인 또는 거부 할 수 있습니다.
승인 후 EM으로 와서 추적을 다시 해보면 처리가 완료된 것을 확인할 수 있습니다.
승인 처리된 파일을 보면 status가 approved가 되었습니다.
거부 처리된 파일을 보면 status가 rejected인 것을 확인할 수 있습니다.
이번에는 취소 처리를 하겠습니다.
status가 expired가 되었습니다.
반응형
'Oracle Solution > PO Processing' 카테고리의 다른 글
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 |
Chapter 4 - BPEL Orchestration (0) | 2010.02.04 |
Chapter 3 - Creating the Purchase Order Routing Service (0) | 2010.02.03 |
Chapter 2 - Creating the Credit Card Validation Service (1) | 2010.02.03 |
Chapter 1 - Purchase Order Processing (0) | 2010.01.28 |
Chapter 0 - Installation instructions for JDeveloper and SOA 11g on Windows (5) | 2010.01.28 |