Menambah Partner Link BOOK Wiranto Herry Utomo Pemrograman Aplikasi SOA BAB V

{Untuk menemukan kanvas desain BPEL klik-double pada node QuoteLoanProcess.bpel di hirarki QuoteLoan pada tab Projects.} Sekarang telah ada interface WSDL untuk proses bisnis, sekarang kembali ke kanvas design dari QuoteLoanProcess.bpel dan gunakan definisi interface untuk melakukan build BPEL partner link.

5.4 Menambah Partner Link

Temukan tab untuk panel proses BPEL dan klik untuk melihat proses. Dari panel Projects, drag node LoanQuoteWSDL.wsdl ke sisi kiri kanvas design BPEL seperti gambar dibawah ini: {Apa perbedaan antar drag pada sisi kiri dan kanan? Drag WSDL di area kiri maupun kanan akan dibuat partner link. 96 Partner link merepresentasikan saluran melalui proses bisnis yang dapat berkomunikasi dengan “dunia luar” melalui interface yang ditetapkan dalam WSDL. “Dunia luar” disini adalah beberapa klien yang memanggil proses bisnis. Pada tutorial ini klien akan berupa user interface yang dihasilkan dengan NetBeans. Partner link dalam model BPEL mempunyai atribut partnerRole. Ini menunjukkan proses BPEL apakah atau tidak mengimplementasikan web service yang dipanggil melalui “channel” saluran Kembali ke sisi kiri atau kanan. Jika membuat partner link pada sisi kiri, menunjukkan bahwa proses BPEL merupakan implementer dari web service endpoint. partnerRole berupa “myRole” menunjukkan bahwa proses BPEL bertanggung jawab untuk implementasi. Jika partner link pada sisi kanan, maka , partnerRole akan mengidentifikasikan external web service endpoint yang akan berinteraksi dengan menggunakan invoke. Elemen receive dan reply perlu dikoneksikan dengan partner link “channel” sehingga receive dapat diinvoke dan membawa data masuk dan reply dapat mengirim resspon kembali ke klien.} Pada saat selesai melakukan drag dan drop, maka partner link akan tampak di kanvas. Ganti nama dengan melakukan klik-double pada nama default PartnerLink1 dengan mengetikkan: QuoteLoanPartnerLink 97 Klik node StartQuoteLoan pada kanvas design. Ikon edit pensil tampak diatas node: Klik ikon edit untuk menampakkan node receive window Property Editor. Ketikkan fields seperti gambar dibawah ini. Klik tombol Create untuk menetapkan Input Variable. {Untuk membuat Input Variable, klik saja tombol Create dan terima semua default.} 98 Pilih tombol Ok. Akan terlihat bahwa node receive StartQuoteLoan telah dihubungkan ke partner. {Perhatikan bahwa elemen akan ditandai silang merah. Ini menunjukkan bahwa model masih belum lengkap.} Pindah ke view Source pada proses BPEL: {Pembuatan kode BPEL secara otomatis terjadi ketika bekerja pada kanvas desain.} Akan terlihat bahwa statement receive BPEL Telah dibuat secara otomatis. receive name=StartQuoteLoan createInstance=yes partnerLink=QuoteLoanPartnerLink operation=LoanQuoteWSDLOperation xmlns:tns= http:j2ee.netbeans.orgwsdlQuoteLoanLoanQuoteWSDL portType=tns:LoanQuoteWSDLPortType variable=LoanQuoteWSDLOperationIn Pindah kembali ke mode Design. 99 {Ketika berada pada mode Source kemudian melihat statemen BPEL akan tampak nomor garis pada batas kiri. Hal ini tidak menjadi masalah sampai terlihat pesan error pada GlassFish V2 pada panel Output yang mengidentifikasikan nomor statemen BPEL tertentu dimana eror terjadi.} Perlu dihubungkan antara node reply dengan interface WSDL, sehingga klik pada node reply ReturnLoanQuote dan lihat ikon edit akan tampak. 100 Klik ikon edit pensil untuk menampilkan window Property Editor. Isi fields mengikuti gambar dibawah. Seperti pada Input Variable sebelumnya, gunakan pula tombol Create untuk menetapkan Output Variable: Pilih tombol Ok . Sekarang kanvas design proses BPEL akan terlihat seperti gambar dibawah. 101 {Telah ditetapkan bahwa proses BPEL merespon ke pertukaran pesan requestreply.} Simpan dengan klik Save All. Kedua node request dan reply sekarang dihubungkan ke partner link yang mendefinisikan inputs dan outputs dari proses bisnis. {Dapat berpindah ke view Source untuk melihat statemen reply yang telah dibuat oleh NetBeans.} Pindah ke view Source untuk melihat statemen reply telah dibuat oleh NetBeans: reply name=ReturnLoanQuote partnerLink=QuoteLoanPartnerLink operation=LoanQuoteWSDLOperation xmlns:tns= http:j2ee.netbeans.orgwsdlQuoteLoanLoanQuote WSDL 102 portType=tns:LoanQuoteWSDLPortType variable=LoanQuoteWSDLOperationOut {Sekarang proses bisnis dapat dipanggil call melalui receive dan memberikan hasil result reply dan semua pekerjaan BPEL ini dilakukan dengan memanipulasi ikon BPMN pada kanvas desain.} Lakukan pengecekan untuk meyakinkan bahwa NetBeans telah menghasilkan XML BPEL yang well-formed. Pilih ikon Validate XML pada bagian atas panel kanvas. Kemudian akan terlihat seperti ini : Perhatikan bahwa adanya warning, tetapi bukan error. Ini hanya mengingatkan bahwa variabel input data yang datang ke node StartQuoteLoan belum digunakan. Ini tidak masalah karena masih ditengah pengembangan proses. {Ini merupakan input variable untuk elemen receive StartQuoteLoan yang ditetapkan ketika membuat QuoteLoanPartnerLink.} 103 Setelah memulai eksekusi elemen, StartQuoteLoan, maka akan dieksekusi dua activities sebagai berikut: • DetermineRateService service mengirim interestRate • CalculatePaymentService untuk menentukan monthlyPayment dan membuatdescription. Cara memanggil service luar ke BPEL adalah dengan menyisipkan elemen invoke ke dalam model dan menghubungkan dengan partner link. Kemudian dari palette, lakukan drag operasi Invoke ke dalam model dan drop pada titik oranye diatas activity reply dari ReturnLoanQuote: Elemen Invoke1 ditambahkan ke model. Klik-double pada label Invoke1 dan ganti nama menjadi DetermineRate Seperti node receive yang telah dikonfigurasi dengan partner link, juga diperlukan konfigurasi node invoke dari DetermineRate. Pertama, perlu dibuat partner link untuk web service DetermineRateService. 104 {Ini merupakan sebuah “channel” untuk berbicara melalui DetermineRateService yang dibuat di proyek terdahulu.}

5.5 Mengimport XSD dan WSDL