Menambah Elemen Assign BOOK Wiranto Herry Utomo Pemrograman Aplikasi SOA BAB V

Untuk menjalankan fungsinya dua web services memerlukan input. Struktur data input didefinisikan dengan dikaitkan partner links sebagai input variables. Maka perlu pemetaan nilai untuk penetapan input. Dalam BPEL, akan dilakukan pemetaan dengan node Assign.

5.6 Menambah Elemen Assign

Dua Web services akan mendapatkan input dari input yang disediakan oleh klien proses BPEL. Input akan dikirimkan melalui “channel” QuoteLoanPartnerLink melalui WSDL yang telah didefinisikan sebelumnya dalam proyek. Drag node Assign dari Palette dan drop ke bagian oranye sebelum activity DetermineRate. Klik-double pada label Assign1 dan ganti nama menjadi AssignRateDeterminationInput 112 Klik-double pada AssignRateDeterminationInput dan lihat display Mapper: Seperti tampak pada gambar diatas, ekspansi node LoanQuoteWSDLOperationIn di panel kiri panel “from” untuk menunjukkan variabel yang berisi InputPart. Juga ekspansi node GetRateIn pada panel sisi kanan panel “to” untuk menunjukkan parameter GetRateIn. Pada Mapper, outputs berada dikiri dan input tampak pada sisi kanan. Lalu drag dan drop dari LoanQuoteWSDLOperationIn.InputPart.loanType ke GetRateIn.parameters.loanType: 113 Tinggalkan Mapper dan kembali ke mode Design dengan melakukan klik kontrol Design pada kanvas window. Drag node Assign lainnya dan drop ke area oranye sebelum node activity CalculatePayment. Klik-double pada label Assign1 dan ganti nama menjadi AssignPaymentCalculationInput {Jika ada masalah dalam menamai elemen Invoke, maka klik-kanan dan pilih Properties dan rubah nama dengan mengedit property Name.} Klik-double pada node AssignPaymentCalculationInput dan lihat panel Mapper lagi. Drag dan drop untuk memetakan outputs sisi kiri ke input sisi kanan: interestRate GetRateOut.parameters.return -- Variables.GetPaymentIn.parameters.interestRate amount LoanQuoteWSDLOperationIn.InputPart.amount -- Variables.GetPaymentIn.parameters.amount period LoanQuoteWSDLOperationIn.InputPart.period -- Variables.GetPaymentIn.parameters.period 114 {Jika ingin tahu, pindah ke view Source untuk melihat statemen assign. Seperti yang telah dilakukan pada value mappings, akan terlihat statemen copy ditambahkan di dalam assign.} Pindah kembali ke mode Design. Sekarang akan ditambahkan elemen Assign lagi sehingga dapat dipetakan nilai ke output dari proses bisnis. Lalu, drag node Assign dan drop ke node sebelum reply ReturnLoanQuote. Ganti nama assign menjadi AssignResults. {Ganti nama Assign, dengan klik-kanan dan pilih Properties dan rubah nama dengan mengedit Name property.} Klik-double node AssignResults untuk melihat display Mapper. Drag dan drop untuk memetakan “froms” inputs pada sisi kiri ke “to” output pada sisi kanan: 115 Ini merupakan kopi dari perhitungan jumlah pembayaran bulanan yang dihasilkan oleh CalculatePaymentService ke dalam variabel monthlyPayment yang merupakan return dari proses bisnis. Sekarang, lakukan build text string pada variabel description dalam LoanQuoteWSDLOperationOut.OutputPart. kemudian akan digabungkan beberapa nilai variabel dari beberapa teks statik sepertii ini: loan type + loan for amount of + amount {Window BPEL Mapper mempunyai beberapa fitur yang membantu membuat tambahan BPEL constructs. Pilih String Concat untuk menunjukkan bagaimana mapper dapat menghasilkan tambahan statemen BPEL.} Hal ini akan menghasilkan deskripsi seperti “AUTO loan for amount of 10000.00” Klik pada node description pada sisi kanan mapper. Area biiru tampak untuk menunjukkan titik sisipan pada mapper: 116 Pilih operasi Concat dari menu String pada bagian atas panel BPEL Mapper. Node Concat ditambahkan ke kanvas Mapper pada area biru untuk node description. Hubungkan variabel loanType ke bagian pertama dari string penggabungan concat: {Jangan lupa memberikan spasi diantar teks, karena deskripsi yang akan tergabung.} 117 Klik-double pada String slot ke dua dan ketikkan teks loan for amount of: {Untuk mengaktifkan slot String lakukan klik saja.} Akhiri penggabungan concatenation dengan menambahkan nilai amount seperti gambar dibawah: Jangan lupa hubungkan return String Concat ke LoanQuoteWSDLOperationOut.OutputPart.description sehingga menghasilkan penggabungan. Pemetaan telah lengkap, lalu kembali ke mode Design. Simpan semua pekerjaan dengan klik Save All. Setelah pemetaan lengkap, dilanjutkan dengan validasi proses bisnis dengan memilih kontrol Validate XML pada bagian atas window design. 118 Jika proses BPEL bebas dari error sintaks, maka akan terlihat pesan “0 Errors, 0 Warnings” pada panel cek XML. Sekarang akan dilakukan build dengan klik-kanan node proyek QuoteLoan dan memilih Clean and Build. Jika terlihat pesan “BUILD SUCCESSFUL” maka bagian ini telah lengkap. {Lakukan Build saja bukan Clean and Build jika direktori tidak terhapus.} Jika diperhatikan maka tidak ada opsi Deploy untuk jenis proyek ini. Pada langkah berikutnya, maka modul BPEL ini akan digabungkan dengan aplikasi komposit dan dideploy di proyek ini. Klik pada tab Files untuk melihat yang telah dihasilkan oleh Netbeans. 119 Klik pada tab Projects sehingga akan dibuat aplikasi komposit dan melakuan deploy.

5.7 Membuat Aplikasi Komposit