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