Antop
Brain to Blog
Antop
전체 방문자
936,436
오늘
3
어제
27
  • 분류 전체보기 (167)
    • Ubuntu Developer (0)
    • Mini Project (12)
    • Request Sample (1)
    • Study (5)
      • Vue.js (2)
      • Hadoop (3)
    • Java+ (23)
      • Trouble Shooting (5)
      • Example (8)
    • Framework (22)
      • Struts (3)
      • Spring (3)
      • Spring OSGi (2)
      • Spring Security (3)
      • Hibernate (9)
      • Mybatis (1)
    • Android (1)
    • Oracle Solution (40)
      • Tutorial for Oracle Coheren.. (1)
      • PO Processing (17)
      • BPM 11g Foundation Training (11)
      • Oracle Service Bus 11g Hand.. (5)
      • BPEL (3)
      • Trouble Shooting (2)
    • JavaScript (5)
      • jQuery (2)
      • Ext JS (1)
    • Tools (12)
      • Eclipse (11)
      • Maven (1)
    • Database (6)
      • Oracle (3)
      • MySQL (2)
    • Server (30)
      • Ubuntu (16)
      • WebLogic (7)
      • VMware ESXi (6)
    • Etc (9)
      • Scrap (4)
      • Link (1)
      • Game (2)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

  • Spring + @Lazy
    2019.08.05
    Spring + @Lazy
  • Mybatis Interceptor + RowBounds ⋯
    2017.12.12
  • org.springframework.dao.EmptyRes⋯
    2010.10.10
  • Spring Message Source from Datab⋯
    2013.03.03
    Spring Message Source from Datab⋯
  • Mockito.thenThrow() 주의사항!
    2021.09.25

태그

  • BPM
  • xml
  • jQuery
  • hibernate
  • API
  • JDBC
  • esxi
  • osb
  • 하이버네이트
  • Java
  • Struts
  • EJB
  • SOA
  • Eclipse
  • Spring
  • BPEL
  • JavaScript
  • ubuntu
  • LAB
  • oracle
  • JSP
  • mybatis
  • Weblogic
  • ORM
  • JSON
  • VMware
  • Ajax
  • MySQL
  • extjs
  • maven

최근 댓글

  • 소스를 오픈 해주셔서 감사합니다. 출처 남기고 긁어가겠습⋯
    헤르메스의날개
  • 드라이버에 의존하는것보다 확실하게 하는게 좋긴 하겠네요
    망고스틴
  • 비슷한걸 개발하면서 어떻게 해야되나 jsp단에서 jstl로⋯
    홍마초
  • 잘 보고 갑니다...
    딸랑딸랑
  • 잘 보고 갑니다...
    이웃사촌

최근 글

  • Mockito.thenThrow() 주의사항!
    2021.09.25
  • Spring + @Lazy
    2019.08.05
    Spring + @Lazy
  • [Kotlin + Spring] Maven configur⋯
    2019.05.26
  • Installation Vue.js (Eclipse)
    2018.05.24
    Installation Vue.js (Eclipse)
  • Installation Vue.js (WebStorm + ⋯
    2018.05.21
    Installation Vue.js (WebStorm + ⋯

티스토리

hELLO · Designed By 정상우.
Antop

Brain to Blog

Chapter 5 - Adding Human Workflow
Oracle Solution/PO Processing

Chapter 5 - Adding Human Workflow

2010. 2. 5. 15:32
반응형
Introduction

전 튜토리얼에서 금액이 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가 되었습니다.





05_e2e-105-POProcessing-05-HW.pdf


반응형
저작자표시
  • 카카오스토리
  • 트위터
  • 페이스북

'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
    'Oracle Solution/PO Processing' 카테고리의 다른 글
    • Chapter 7 - Adding Business Rules
    • Chapter 6 - Modifying the Mediator
    • Chapter 4 - BPEL Orchestration
    • Chapter 3 - Creating the Purchase Order Routing Service
    BPEL, oracle, SOA
    Antop
    Antop
    뇌에서 블로그로... antop@naver.com
    댓글쓰기
    Chapter 6 - Modifying the Mediator
    다음 글
    Chapter 6 - Modifying the Mediator
    Chapter 4 - BPEL Orchestration
    이전 글
    Chapter 4 - BPEL Orchestration

    티스토리툴바