การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process...

39
การสร้าง Composite Application โดยใช้ BPEL ใน NetBeans 5.5 นายชัยวัฒน์ บุตรไชย ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยขอนแก่น Page 1 การสร้าง Composite Application โดยใช้ BPEL ใน NetBeans 5.5 เอกสารนี้ นาเสนอถึงการสร้างแอปพลิเคชันของ Simple loan requestor ซึ่งจะนาเสนอถึงการ deploy, executing และการทดสอบของ composite application โดยใช้ NetBean5.5 ที่ทางานคู่กับ Sun Java System Application Server 9 การสร้าง BPEL ของ LoanRequestor นั้น อยู่บนพื้นฐานการทางานดังนี- ผู้ใช้ยื่นคาร้องขอกู้เงิน (Loan Request) โดยการให้ข้อมูลพื้นฐานต่างๆ เป็นต้นว่า ข้อมูลส่วนตัว, จานวน เงินที่ต้องการกู้ และเงินเดือนที่ได้รับปัจจุบัน เป็นต้น - เมื่อคาร้องขอกู้เงินได้รับ (Loan Requestor) ข้อมูลของผู้ใช้จะถูกตรวจสอบยืนยันตัวตน และทาการ ประมวลผล (Loan Processor) บนพื้นฐานของข้อมูลที่ระบบได้รับ - หลังจากที่ข้อมูลทั้งหมดได้รับการประมวลผล รายงานทั้งหมดจะถูกสร้างขึ้น และส่งต่อไปยังผู้ใช้ เพื่อบอก สถานะยืนยันว่าผู้ใช้ได้รับอนุมัติแล้ว หรือไม่ได้รับอนุมัติ การสร้าง BPEL Project 1. คลิกที่เมนู เลือกทีFile > New Project 2. ในช่องของหมวดหมู่ เลือกทีService Oriented Architecture แล้วเลือก BPEL Module แล้วคลิก Next

Transcript of การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process...

Page 1: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 1

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

เอกสารน น าเสนอถงการสรางแอปพลเคชนของ Simple loan requestor ซงจะน าเสนอถงการ deploy,

executing และการทดสอบของ composite application โดยใช NetBean5.5 ทท างานคกบ Sun Java

System Application Server 9

การสราง BPEL ของ LoanRequestor นน อยบนพนฐานการท างานดงน - ผใชยนค ารองขอกเงน (Loan Request) โดยการใหขอมลพนฐานตางๆ เปนตนวา ขอมลสวนตว, จ านวน

เงนทตองการก และเงนเดอนทไดรบปจจบน เปนตน

- เมอค ารองขอกเงนไดรบ (Loan Requestor) ขอมลของผใชจะถกตรวจสอบยนยนตวตน และท าการประมวลผล (Loan Processor) บนพนฐานของขอมลทระบบไดรบ

- หลงจากทขอมลทงหมดไดรบการประมวลผล รายงานทงหมดจะถกสรางขน และสงตอไปยงผใช เพอบอกสถานะยนยนวาผใชไดรบอนมตแลว หรอไมไดรบอนมต

การสราง BPEL Project

1. คลกทเมน เลอกท File > New Project

2. ในชองของหมวดหม เลอกท Service Oriented Architecture แลวเลอก BPEL Module แลวคลก Next

Page 2: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 2

3. ใสชอโปรเจควา LoanRequestor จากนนคลกท Finish เพอสนสดการสรางโปรเจค

Page 3: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 3

การสราง XML Schema

4. ท าการสราง XML Schema เพออธบายลกษณะขอมล input และ output ของระบบ โดยท าการคลกขวาทโปรเจค จากนนเลอกท New > XML Schema (หากไมพบ ใหเลอกท Other…)

5. ตงชอไฟลเปน LoanRequestor โดยใหอยท Folder scr จากนนคลกท Finish เพอสนสดการสรางไฟล LoanRequestor

Page 4: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 4

6. เมอไฟลใหมถกสรางขน จะท าการเปดไฟลนนขนมา แตจะเปนหนาจอของ Schema ใหท าการเปลยนเปนหนาจอ Design

7. ท าการเพม complexType เขาไปในเอกสาร โดยการคลกท Complex Type (แถบดานขวาของ IDE) ภายใต XML Schema Components แลวลากมาวางบนพนทวางเปลา จากนนเปลยนชอของ newComplexType เปน processApplication

8. ท าซ าขนตอนท 7 แลวเปลยนชอของ newComplexType เปน processApplicationResponse

9. สราง element ของ processApplication โดยการคลกท Element ภายใต XML Components

แลวลากมาวางบน Complex Type ทชอวา processApplication

Page 5: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 5

10. เปลยนชอจาก newElement เปน socialSecurityNumber

11. เลอกคณสมบตของ element โดยคลกขวาท element ทตองการ จากนนเลอกท properties

12. ท Nillable ใหเปลยนจาก false เปน true และเลอก Definition เปน Built-in Types > string

Page 6: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 6

13. ท าซ าขนตอนท 9 – 12 โดยใหชอ element, nillable และ Definition เปนดงน

Name Nillable Definition

applicantName True string

applicantAddress True string

applicantEmailAddress True string

applicantAge True int

applicantGender True string

annualSalary True double

amountRequested True double

14. สราง element ส าหรบ processApplicationResponse โดยการคลกท Element ภายใต XML

Components แลวลากมาวางบน Complex Type ทชอวา processApplicationResponse

15. เปลยนชอ newElement เปน return และก าหนด Definition เปน string

Page 7: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 7

16. เพม global element โดยคลกลาก Element มาวางบน Elements

17. เปลยนชอจาก newElement เปน processApplication

18. คลกขวาท processApplication element ทเพงสรางใหม เพอก าหนด Definition ของ element

19. ก าหนด Definition โดย เลอกท Complex Types และก าหนดเปน processApplication

Page 8: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 8

20. ท าซ าขนตอนท 17 – 19 โดยก าหนดชอ element เปน processApplicationResponse และม Definition ใหเปน processApplicationResponse ใน Complex Types

การสราง WSDL Document

21. คลกขวาทโปรเจค แลวเลอกท New > WSDL Document

22. ตงชอเอกสารวา LoanRequestor และก าหนดใหอยในโฟลเดอร scr และเลอก check box ท Import XML Schema File(s) โดยใหเลอกไปทไฟล LoanRequestor.xsd จากนนคลก Next

เพอท าขนตอนตอไป

Page 9: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 9

23. ในสวนของ Input ใหแกไขชอ part1 ใหเปน requestLoanMessage และเลอก Type ทอยใน LoanRequestor > Elements > processApplication

24. ในสวนของ Output ใหแกไขชอ part1 เปน responsePart และก าหนด Type ใหเปน processApplicationResponse จากนนคลก Next เพอท าขนตอนตอไป

25. ในสวนของ Binding Subtype ใหเลอกเปน Document Literal จากนนคลก Finish

Page 10: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 10

การสราง PartnerService ในขนตอนตอไปน จะเปนการสรางเวบเซอรวส LoanProcessor ทท าการประมวลผล request และจะสงผลลพธกลบไปใหผใช

26. สรางโปรเจคใหม File > New Project … แลวเลอกทหมวดหม Enterprise และเลอกท EJB

Module จากนนคลก Next

27. ก าหนดชอโปรเจคเปน LoanProcessor จากนนคลก Finish

28. สรางไฟลเวบเซอรวส โดยคลกขวาทโปรเจค จากนนเลอกท New > Web Service…

Page 11: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 11

29. ก าหนดชอเวบเซอรวสเปน LoanProcessor และ package ใหเปน ws.training.loanprocessor จากนนคลก Finish

30. โปรเจคจะมโฟลเดอร Web Services เพมขนมา และเมอท าการคลกเพอขยายโฟลเดอรนน จะพบไฟลเวบเซอรวส (LoanProcessor) ทไดสรางไวแลว จากนนใหคลกขวาท LoanProcessor แลวเลอกท Add Operation เพอเพมฟงกชนใหเวบเซอรวส

31. ใสชอของ Operation เปน processApplication ทมชนด Return type เปน String

Page 12: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 12

32. ท าการเพมในสวนของ Input Parameters โดยคลกท Add เพอท าการเพม Object แลวคลก OK

33. ท าซ าขอ 32 โดยเพม Object ดงตอไปน

Name Type

applicantName String

applicantAddress String

applicantEmailAddress String

applicantAge int

applicantGender String

annualSalary double

amountRequested double

เมอเพม parameter ครบทกตวแลว คลก OK จะพบวา IDE มการสราง operation ใหมเขาไปในเวบเซอรวสโดยอตโนมต

Page 13: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 13

34. ท าการคดลอกโคดตอไปน ทบลงไปในไฟลเวบเซอรวส

public String processApplication(

@WebParam(name = "socialSecurityNumber") String socialSecurity,

@WebParam(name = "applicantName")String applicantName,

@WebParam(name = "applicantAddress") String applicantAddress,

@WebParam(name = "applicantEmailAddress")String

applicantEmailAddress,

@WebParam(name = "applicantAge") int applicantAge,

@WebParam(name = "applicantGender")String applicantGender,

@WebParam(name = "annualSalary") double annualSalary,

@WebParam(name = "amountRequested")double amountRequested) {

int MINIMUM_AGE_LIMIT = 18;

int MAXIMUM_AGE_LIMIT = 65;

double MINIMUM_SALARY = 20000;

int AVERAGE_LIFE_EXPECTANCY = 70;

String result = "Loan Application APPROVED.";

if(applicantAge < MINIMUM_AGE_LIMIT) {

result = "Loan Application REJECTED - Reason: Under-aged

"+applicantAge+". Age needs to be over "+MINIMUM_AGE_LIMIT+" years to

qualify.";

System.out.println(result);

return result;

}

Page 14: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 14

if(applicantAge > MAXIMUM_AGE_LIMIT) {

result = "Loan Application REJECTED - Reason: Over-aged

"+applicantAge+". Age needs to be under "+MAXIMUM_AGE_LIMIT+" years to

qualify.";

System.out.println(result);

return result;

}

if(annualSalary < MINIMUM_SALARY) {

result = "Loan Application REJECTED - Reason: Annual Salary

$"+annualSalary+" too low. Annual Salary needs to be over

$"+MINIMUM_SALARY+" to qualify.";

System.out.println(result);

return result;

}

int yearsToRepay = AVERAGE_LIFE_EXPECTANCY-applicantAge;

double limit = annualSalary*yearsToRepay*0.5;

if(amountRequested > limit) {

result = "Loan Application REJECTED - Reason: You are asking for

too much $"+amountRequested+". Annual Salary $"+annualSalary+", Age

"+applicantAge+" years. Your limit is $"+limit;

System.out.println(result);

return result;

}

System.out.println(result);

return result;

}

35. ท าการ Save และ Build โปรเจค โดยคลกขวาทโปรเจค LoanProcessor

36. หากไมม error เกดขน จะพบขอความดงกลาว

BUILD SUCCESSFUL (total time: 2 seconds)

Page 15: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 15

37. Deploy เวบเซอรวสบนเซรฟเวอร โดยคลกขวาทโปรเจค แลวเลอกท Deploy Project

*หาก deploy ขณะทเซรฟเวอรไมไดท างาน ตว IDE จะท าการเปดกระบวนการท างานของเซรฟเวอรทนท และท าการ deploy โปรเจคให

38. เมอการ deploy ส าเรจ จะพบขอความดงน

Deployment of application LoanProcessor completed successfully

Enable of LoanProcessor in target server completed successfully

Enable of application in all targets completed successfully

All operations completed successfully

post-run-deploy:

run-deploy:

run:

BUILD SUCCESSFUL (total time: 1 minute 25 seconds)

Page 16: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 16

39. ตรวจสอบวามการ deploy อยจรง โดยการคลกทแทบ Runtime ซงจะเหนรายละเอยดเกยวกบเซรฟเวอร จากนนคลกท Sun Java System Application Server 9 > Applications > EJB Modules

ซงจะพบ LoanProcessor อยภายใต EJB Module น

การสราง BPEL Process

40. สราง BPEL Process โดยคลกขวาทโปรเจค LoanRequestor แลวเลอกท New > BPEL

Process

41. ตงชอไฟลวา LoanRequestor จากนนคลก Finish

Page 17: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 17

42. เพม Partner link ของ LoanRequestor โดยคลกลาก LoanRequestor.wsdl จากโปรเจค LoanRequestor ไปยงพนทการออกแบบ

43. แกไขชอของ Partner link เปน BpelImplementation และคก OK

Page 18: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 18

44. เพม Partner link อกครง โดยคลกลาก LoanProcessor ทอยในโฟลเดอร Web Services ในโปรเจค LoanProcessor แลววางลงในพนทออกแบบของ BPEL Process

45. แกไขชอ PartnerLink1 เปน EjbImplementation แลวคลก OK

Page 19: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 19

46. หลงจากทสราง Partner link เสรจ (EjbImplementation) จะปรากฎโฟลเดอร Partner ภายในโฟลเดอร Process File ในโปรเจค LoanRequestor และประกอบดวยไฟล .wsdl และ .xsd

47. เพม Receive activity โดยเลอกทไอคอน Receive ทางแทบดานขวามอ ใตหมวดหม Web Service แลวลากมาไวตรงจดระหวาง Process Start กบ Empty

48. ดบเบลคลกทไอคอน Receive ทลากมา ซงจะปรากฎหนาตางใหแกไขคณสมบต

Page 20: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 20

49. เปลยนชอจาก Recieve1 เปน ReceiveFromCustomer และเลอก Partner link เปน BpelImplementation และในชอง Input Variable ใหท าการ Create… โดยใหชอเปน requestLoanInput

50. จากพนทการออกแบบ จะเหนมเสนเชอมโยงระหวาง BpelImplementation และ ReceiveFromCustomer

Page 21: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 21

51. เพม Invoke activity โดยเลอกทไอคอน ทางดานขวา แลวลากมาวางระหวาง ReceiveFromCustomer และ Empty

52. คลกทไอคอนแกไข เพอท าการปรบแตตว Invoke1 โดยเปลยนชอเปน InvokeLoanProcessEJB และให Partner Link เปน EjbImplementation จากนนสราง Input Variable ใหเปนชอ processApplicationInput และ Output Variable เปน processApplicationOutput จากนนคลกท OK

Page 22: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 22

53. เพม Reply activity โดยเลอกทไอคอน ทางดานขวาแลวลากมาวางระหวาง InvokeLoanPrice กบ Empty

Page 23: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 23

54. คลกทไอคอน เพอท าการปรบแตงตว Reply โดยแกชอเปน ReplyToCustomer และให Partner

link เปน BpelImplementation จากนนสราง Output Variable โดยใหมชอเปน requestLoanOutput

55. คลก mouse ท Empty จากนนคลกขวาเพอลบทง หรอกด Delete เพอลบ Empty

Page 24: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 24

56. เพม Assign activity เพอเปนการก าหนดคาใหกบ element ตางๆ โดยคลกทไอคอน ทดานขวา แลวลากมาวางระหวาง ReceiveFromCustomer กบ InvokeLoanProcessor

57. แกไข Assign1 โดยเปลยนชอใหเปน AssignReceiveToEJBInput

58. คลกขวาท AssignReceiveToEJBInput เพอให Show BPEL Mapper

Page 25: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 25

59. หลงจากทเลอกให Show BPEL Mapper จะตองปรากฎหนาจอดงดานลางน (หากไมปรากฎ ใหลองคลกท element ตวอนกอน แลวจงกลบมาคลกท AssignReceiveToEJBInput อกครง)

60. ท าการขยาย element requestLoanInput (ตวหนาสด า) ทอยดานซายของ BPEL Mapper และ processApplicationInput (ตวหนาสด า) ทอยทางดานขวาของ BPEL Mapper

61. ท าการคลกลาก link เพอท าการเชอมโยงตวแปรเขากน โดยในเบองตน คลกท socialSecurityNumber

ใต requestLoanMessage จากนนลากไปท socialSecurityNumber ใต parameters

Page 26: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 26

62. เพม Assign activity ตวท 2 ระหวาง InvokeLoanProcessorEJB กบ ReplyToCustomer

63. แกไขชอจาก Assign1 เปน AssignEJBOutputToReply

64. เปด BPEL Mapper เพอเชอมโยงตวแปรทงสอง return ใน parameters ทางดานซายกบ return ใน responsePart ทางดานขวาเขาดวยกน

Page 27: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 27

65. นนคอ เมอกระบวนการเรมท างาน (Process Start) จะมการรบ Input จาก BpelImplementation

เขามายง ReceiveFromCustomer จากนนจะมการก าหนดคาใหตว Invoke โดยผาน element ทชอวา AssignReceiveToEJBInput ซงตว InvokeLoanProcessorEJB จะสง input ไป invoke

EjbImplementation (เวบเซอรวสของ LoanProcessor ทไดสรางขนอกโปรเจคหนง ) หลงจากไดผลลพธแลว จะสงผลลพธตอไปยง Assign element ตวทสอง เพอก าหนดคา output ทไดใหกบ ตวแปรของ BpelImplementation และนนคอการสงคากลบให ReplyToCustomer จากนนกระบวนการจงสนสด

66. ท าการ Build โปรเจค LoanRequestor โดยคลกขวาทชอโปรเจค แลวเลอกท BuildProject ซงควรพบขอความดงน

Page 28: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 28

การสราง และการ deploy ตว Composite Application

67. สรางโปรเจคใหม File > New Project ในหมวดหม Service Oriented Architecture ใหเลอก Composite Application จากนนคลก Next

68. ตงชอโปรเจคเปน LoanRequestorCompositeApp จากนนคลก Finish

69. ในการ deploy BPEL Process นน จะเปนการ deploy ตว Composite Application ขนไปบน BPEL Engine แตจะตองเพม JBI Modules ใหกบตว Composite Application กอน จงจะท าการ deploy ได คลกขวาทโปรเจค แลวเลอกท Add JBI Module…

Page 29: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 29

70. หนาตาง Select Project จะแสดงขนมา จากนนใหเลอกโปรเจคทเปน BPEL ชอวา LoanRequestor

ซงทางหนาตางทางดานขวาจะบอกวามไฟล .jar อยภายในชอวา build/SEDeployment.jar จากนนคลกท Add Project JAR Files

71. เมอขยายโปรเจค LoanRequestorCompositeApp ดภายในโฟลเดอร JBI Modules จะปรากฎไฟลทชอวา LoanRequestor.jar

72. คลกขวาทโปรเจค จากนน เลอกท Deploy Project

Page 30: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 30

การทดสอบ Composite Application

73. ในโปรเจค LoanRequestorCompositeApp จะมโฟลเดอรทชอวา Test ใหท าการคลกขวาทโฟลเดอรน แลวเลอก New Test Case

74. แกชอ Test Case1 เปน successTest จากนนคลก Next

75. ในหนาตางใหเลอกเอกสาร WSDL ใหเลอกเอกสาร LoanRequestor ใตโฟลเดอร LoanRequestor

– Process Files จากนนคลก Next

76. เลอก Operation ทตองการทดสอบ โดยเลอกท LoanRequestorOperation ใตโฟลเดอร LoanRequestorBinding จากนนคลกท Finish

77. เมอหนาตางไฟล Input.xml เปดขนมา ใหท าการแกไขขอมล เชน

จาก

<new:socialSecurityNumber>?string?</new:socialSecurityNumber>

เปน

<new:socialSecurityNumber>123-45-6789-10</new:socialSecurityNumber>

Page 31: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 31

78. ท าซ าขอ 77 กบ element อนๆ ดงน

Line Containing Replace With applicantName ?string? ZAMACHITA

applicantAddress ?string? 123 KKU

applicantEmailAddress ?string? [email protected]

applicantAge ?int? 24

applicantGender ?string? Male

annualSalary ?1.051732E7? 20000

amountRequested ?1.051732E7? 200000

79. เมอท าการแกไข successTest เสรจแลว ใหท าการคลกขวาท successTest แลวเลอกท Run

80. ในครงแรกทท าการ Run จะพบหนาตางแจงเตอนถงการเขยนทบไฟล Output.xml ใหตอบ Yes

81. ในการทดสอบ Run ครงแรกจะพบวาผดพลาด เนองจากไมมขอมลใน Output.xml

Page 32: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 32

82. ดบเบลคลกท Output.xml เพอดขอมล จะพบวา ค ารองขอกเงนไดรบอนมตแลว

83. ใหทดลองท าซ าขอท 79 อกครง จะพบวาการ Test Run ผาน

การสราง BPEL Web Service Client

84. สรางโปรเจคใหม File > New Project ในหมวดหมใหเลอก Web และเลอกเปน Web

Application จากนนคลก Next

Page 33: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 33

85. แกไขชอโปรเจคเปน LoanApplicationWebclient แลวคลก Finish

86. สรางตวเรยกเวบเซอรวส (Web Service Client) โดยคลกขวาทโปรเจค แลวเลอก New > Web

Service Client หากไมพบ ใหเลอกท File/Folder แลวเลอกทหมวดหม Web Services จากนนเลอกท Web Service Client

Page 34: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 34

87. เลอกเอกสาร WSDL โดยเลอกเปน Local File โดยการเลอกจาก WSDL ทอยในโปรเจค LoanRequestor และอยในโฟลเดอร src จากนนก าหนดชอ Package เปน ws.training แลวคลก Finish

88. สรางไฟล loanclient.jsp โดยคลกขวาทโปรเจค LoanApplicationWebClient แลวเลอก New >

JSP หากไมพบ ใหเลอกจาก File/Folder แลวเลอกทหมวดหม Web แลวเลอกท JSP

Page 35: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 35

89. ตงชอไฟลเปน loanclient แลวคลก Finish

90. ทโปรเจค LoanApplicationWebclient ใหขยายโฟลเดอร Web Service References >

LoanRequestor > LoanRequestorService > LoanRequestorPort ซงจะพบ Operation

ชอวา LoanRequestorOperation

Page 36: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 36

91. คลกลาก LoanRequestorOperation ไปวางบนโคดของไฟล loanclient.jsp ในสวนของ body

กอนแทก </body>

92. หลงจากทลาก operation มาวางแลว NetBeans จะท าการสรางโคดทท าการเรยกเวบเซอรวสโดยอตโนมต

Page 37: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 37

93. เพมโคดภายใตขอความ //TODO process result here ดงน

requestLoanMessage.setSocialSecurityNumber(request.getParameter("ssn"));

requestLoanMessage.setApplicantName(request.getParameter("name"));

requestLoanMessage.setApplicantAddress(request.getParameter("address"));

requestLoanMessage.setApplicantEmailAddress(request.getParameter("email"));

requestLoanMessage.setApplicantAge(Integer.parseInt(request.getParameter("age")));

requestLoanMessage.setApplicantGender(request.getParameter("gender"));

requestLoanMessage.setAnnualSalary(Double.parseDouble(request.getParameter("salary")));

requestLoanMessage.setAmountRequested(Double.parseDouble(request.getParameter("loanamount")));

เปลยนโคดจาก

out.println("Result = "+result);

เปน

out.println("Result = "+result.getReturn());

เพมโคดดานลางนใตขอความ // TODO handle custom exceptions here

out.println("===>>>Exception : " + ex.toString());

เพมโคดดานลางนใตขอความ // <%-- end web service invocation --%><hr/>

<form action="index.jsp"> <input type="submit" value="Back To Loan Application"/> </form>

จากนน ท าการ Save All

94. แกไขไฟล index.jsp โดยเพมโคดเหลานลงไปกอนแทก </body>

<form action="loanclient.jsp">

<table>

<tr>

<td>SSN</td>

<td><input type="text" name="ssn" value="123456789"/></td>

<td></td>

</tr>

<tr>

<td>Name</td>

<td><input type="text" name="name" value="ORCHBank

User"/></td>

<td></td>

</tr>

<tr>

<td>Address</td>

<td><input type="text" name="address" value="16 Network

Circle, Menlo Park,CA" /></td>

<td></td>

</tr>

<tr>

Page 38: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 38

<td>Email</td>

<td><input type="text" name="email"

value="[email protected]" /></td>

<td></td>

</tr>

<tr>

<td>Age</td>

<td><input type="text" name="age" value="27" /></td>

<td>Age Limit : Min = 18, Max = 65, (If age exceeds 60 BPEL

engine's rule rejects the application)</td>

</tr>

<tr>

<td>Gender</td>

<td><input type="text" name="gender" value="male" /></td>

<td></td>

</tr>

<tr>

<td>Salary</td>

<td><input type="text" name="salary" value="56789.10"

/></td>

<td>Minimum Salary = 20000.00</td>

</tr>

<tr>

<td>Loan Amount</td>

<td><input type="text" name="loanamount" value="19500.00"

/></td>

<td></td>

</tr>

<tr>

<td></td>

<td><input type="submit" value="submit" name="Submit

Application" /></td>

</tr>

<td></td>

</table>

</form>

ท าการ Save All

95. ในโปรเจค LoanApplicationWebclient ภายใตโฟลเดอร Web Pages และ WEB-INF ใหคลกขวาทไฟล index.jsp แลวเลอกท Run File

Page 39: การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process 40. สร้าง BPEL Process โดยคลิกขวาที่โปรเจค

การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5

นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 39

96. หลงจากท าการ Run File index.jsp แลว IDE จะเปด IE ขนมา จากนนใหลองกด submit

97. หลงจากคลก submit, LoanRequest จะถกสงไปยง loanclient.jsp เพอท าการประมวลผล นนคอ loanclient.jsp จะท าการเรยกใชเวบเซอรวสทสรางเปน BPEL ขนมา แลวน าไปประมวลผล จะไดผลลพธดงน