การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง BPEL Process...
Transcript of การสร้าง BPEL โดยใช้ NetBean 5 · การสร้าง 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
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 2
3. ใสชอโปรเจควา LoanRequestor จากนนคลกท Finish เพอสนสดการสรางโปรเจค
การสราง 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
การสราง 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
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 5
10. เปลยนชอจาก newElement เปน socialSecurityNumber
11. เลอกคณสมบตของ element โดยคลกขวาท element ทตองการ จากนนเลอกท properties
12. ท Nillable ใหเปลยนจาก false เปน true และเลอก Definition เปน Built-in Types > string
การสราง 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
การสราง 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
การสราง 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
เพอท าขนตอนตอไป
การสราง 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
การสราง 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…
การสราง 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
การสราง 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 ใหมเขาไปในเวบเซอรวสโดยอตโนมต
การสราง 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;
}
การสราง 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)
การสราง 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)
การสราง 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
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 17
42. เพม Partner link ของ LoanRequestor โดยคลกลาก LoanRequestor.wsdl จากโปรเจค LoanRequestor ไปยงพนทการออกแบบ
43. แกไขชอของ Partner link เปน BpelImplementation และคก OK
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 18
44. เพม Partner link อกครง โดยคลกลาก LoanProcessor ทอยในโฟลเดอร Web Services ในโปรเจค LoanProcessor แลววางลงในพนทออกแบบของ BPEL Process
45. แกไขชอ PartnerLink1 เปน EjbImplementation แลวคลก OK
การสราง 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 ทลากมา ซงจะปรากฎหนาตางใหแกไขคณสมบต
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 20
49. เปลยนชอจาก Recieve1 เปน ReceiveFromCustomer และเลอก Partner link เปน BpelImplementation และในชอง Input Variable ใหท าการ Create… โดยใหชอเปน requestLoanInput
50. จากพนทการออกแบบ จะเหนมเสนเชอมโยงระหวาง BpelImplementation และ ReceiveFromCustomer
การสราง 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
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 22
53. เพม Reply activity โดยเลอกทไอคอน ทางดานขวาแลวลากมาวางระหวาง InvokeLoanPrice กบ Empty
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 23
54. คลกทไอคอน เพอท าการปรบแตงตว Reply โดยแกชอเปน ReplyToCustomer และให Partner
link เปน BpelImplementation จากนนสราง Output Variable โดยใหมชอเปน requestLoanOutput
55. คลก mouse ท Empty จากนนคลกขวาเพอลบทง หรอกด Delete เพอลบ Empty
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 24
56. เพม Assign activity เพอเปนการก าหนดคาใหกบ element ตางๆ โดยคลกทไอคอน ทดานขวา แลวลากมาวางระหวาง ReceiveFromCustomer กบ InvokeLoanProcessor
57. แกไข Assign1 โดยเปลยนชอใหเปน AssignReceiveToEJBInput
58. คลกขวาท AssignReceiveToEJBInput เพอให Show BPEL Mapper
การสราง 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
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 26
62. เพม Assign activity ตวท 2 ระหวาง InvokeLoanProcessorEJB กบ ReplyToCustomer
63. แกไขชอจาก Assign1 เปน AssignEJBOutputToReply
64. เปด BPEL Mapper เพอเชอมโยงตวแปรทงสอง return ใน parameters ทางดานซายกบ return ใน responsePart ทางดานขวาเขาดวยกน
การสราง 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 ซงควรพบขอความดงน
การสราง 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…
การสราง 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
การสราง 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>
การสราง 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
การสราง 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
การสราง 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
การสราง 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
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 35
89. ตงชอไฟลเปน loanclient แลวคลก Finish
90. ทโปรเจค LoanApplicationWebclient ใหขยายโฟลเดอร Web Service References >
LoanRequestor > LoanRequestorService > LoanRequestorPort ซงจะพบ Operation
ชอวา LoanRequestorOperation
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 36
91. คลกลาก LoanRequestorOperation ไปวางบนโคดของไฟล loanclient.jsp ในสวนของ body
กอนแทก </body>
92. หลงจากทลาก operation มาวางแลว NetBeans จะท าการสรางโคดทท าการเรยกเวบเซอรวสโดยอตโนมต
การสราง 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>
การสราง 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
การสราง Composite Application โดยใช BPEL ใน NetBeans 5.5
นายชยวฒน บตรไชย ภาควชาวศวกรรมคอมพวเตอร มหาวทยาลยขอนแกน Page 39
96. หลงจากท าการ Run File index.jsp แลว IDE จะเปด IE ขนมา จากนนใหลองกด submit
97. หลงจากคลก submit, LoanRequest จะถกสงไปยง loanclient.jsp เพอท าการประมวลผล นนคอ loanclient.jsp จะท าการเรยกใชเวบเซอรวสทสรางเปน BPEL ขนมา แลวน าไปประมวลผล จะไดผลลพธดงน