Membuat Proyek BPEL BOOK Wiranto Herry Utomo Pemrograman Aplikasi SOA BAB V

BAB 5 Orkestrasi dengan BPEL Pada ke dua proyek pertama, telah dibangun web services untuk menangani langkah-langkah dalam proses pinjaman. Web service pertama, DetermineLoanRate, merupakan modul EJB, yang mempunyai argumen loanType seperti RUMAH atau MOBIL dan mengirim tingkat bunga sebagai output. Web service kedua, CalculateLoanPayment, merupakan aplikasi web servlet yang mempunyai argumen interestRate, amount dan period. Web services ini menghasilkan perhitungan jumlah pembayaran bulanan. Ke dua web services ini akan digunakan dalam sebuah rangkaian. Dengan kata lain, kedua web services ini akan diorkestrasi. Salah satu komponen SOA adalah BPEL yang digunakan untuk orkestrasi web services. Sehingga akan dilakukan build modul BPEL yang mengeksekusi dua web services dalam orkestrasi.

5.1 Membuat Proyek BPEL

Menurut kamus Merriam-Webster, “architecture” adalah cara kompopnen komputer atau sistem komputer diorganisasikan dan diintegrasikan. Berdasar definisi arsitektur ini, dapat dikatakan bahwa SOA adalah cara atau jenis pembuatan dan atau penggunaan ulang service-service 78 yang loosely-couple dan interoperable yang dapat diorkestrasi bersama untuk tujuan tertentu. Walaupun SOA tidak berimplikasi pada teknologi tertentu, bentuk paling terkenal untuk service adalah XML berbasis web services yang dideskripsikan oleh WSDL. Wahana untuk orkestrasi adalah BPEL Business Process Execution Language. Sebelum menjalankan proyek BPEL ini, direkomendasikan untuk menutup semua tab window yang masih tampak dari dua proyek sebelumnya sehingga dapat mulai baru. Klik saja “X” pada tab. • Pilih File New Project. Maka Project baru akan tampak di window. • Pilih SOA sebagai category dan BPEL Module untuk project type. • Kemudian, klik Next. • Untuk Project Name, ketikkan QuoteLoan dan klik Finish. • Project QuoteLoan akan tampak dalam panel Projects: • Dapat dilihat bahwa tidak ada file dalam folder Process Files. • Klik tab Files untuk melihat view systems dari project: 79 BPEL adalah Business Processing Execution Language. Bersama Web services, tujuannya adalah untuk melakukan orkestrasi sekumpulan service yang menunjukkan tugas yang diperlukan untuk memenuhi tujuan bisnis. BPEL merupakan bahasa yang lebih tinggi dari Java, yang lebih dekat kepada kebijakan bisnis. BPEL merupakan bahasa berbasis XML dan framework yang sangat restrictive yang melakukan operasi yang sangat membantu yang memandu transisi status diantara sekumpulan services yang loosely-couple. Walau bekerja dengan objek yang mempunyai method dan atribut, programer BPEL memanfaatkan konstruksi seperti :: • receive: blocks menunggu pesan yang datang • reply: mengirim jawaban untuk pesan yang diterima lewat • receive • invoke: memulai satu jalur interaksi request- response dengan portType yang disediakan oleh partner • partner: sebuah service yang berinteraksi dengan proses BPEL 80 • portType: sekumpulan operasi yang servicenya dapat dieksekusi. • assign: memetakan nilai ke variables yang digunakan dalam service yang dimanfaatkan oleh proses BPEL Konstruksi dalam angle brackets adalah jenis statement BPEL. Jika palette tidak tampak, gunakan opsi menu bar Windows Palette untuk menampilkannya. Kembali ke panel Projects dan klik-kanan QuoteLoan dan pilih New BPEL Process. Untuk File Name, ketik QuoteLoanProcess Klik Finish. BPEL Editor tampak pada panel kanan: 81 Perhatikan bahwa kerangka proses terlihat dengan elemen Process Start dan Process End. Klik pada kontrol Source pada bagian atas panel editor untuk melihat statemen BPEL yang telah dihasilkan secara otomatis.: Klik kontrol Design control untuk melihat view diagram lagi. Pada mode Design akan terlihat panel palette BPEL tampak pada editor proses sebelah kanan: Proses bisnis BPEL dimulai dengan sebuah elemen receive dan diakhiri dengan elemen reply. Taruh kedua elemen tersebut ditempatnya. 82 Dari panel Palette, lakukan drag Receive ke dalam kanvas design dan drop pada lingkaran oranye setelah Process Start: Kemudian icon receive dengan label Receive1 ditambahkan ke kanvas. Klik-double pada label Receive1 dan beri nama baru menjadi StartQuoteLoan {Dimulai dengan receive dan berakhir dengan reply yang merupakan standard pola pertukaran pesan requestreply. receive membawa data ke dalam proses bisnis yang dapat digunakan pada langkah subsequent. Dapat berpindah dari view Source dari proses untuk melihat statement receive yang telah ditambahkan.} Selanjutnya, tambahkan elemen reply dengan melakukan drag ikon Reply icon dari palette ke kanvas. Drop ke dot oranye dibawah node receive StartQuoteLoan: 83 Kemudian ikon reply dengan label Reply1 akan ditambahkan ke kanvas. Klik-double pada label Reply1 dan beri nama baru menjadi ReturnLoanQuote {reply memungkinkan untuk mengembalikan results ke pemanggil. Pada node reply labelnya diganti menjadi “ReturnLoanQuote” yang tidak cocok dengan “StartQuoteLoan,”. Tapi tideak masalah. Label ini murni hanya penjelasan saja. Sekarang akan terlihat dua statement BPEL pada view Source: - receive name=StartQuoteLoan createInstance =yes - reply name=ReturnLoanQuote}

5.2 Membangun Skema XML