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