Membangun Skema XML BOOK Wiranto Herry Utomo Pemrograman Aplikasi SOA BAB V

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

Exposisi proses bisnis mirip dengan eksposisi Web service. Proses bisnis perlu di “bungkus” seperti web service sehingga dapat dipanggil seperti DetermineRateService dan CalculatePaymentService. Untuk kedua Web services, telah ada dokumen WSDL yang merupakan interfaces. NetBeans akan membuat WSDL dan XSD. Namun pada proyek ini akan dibuat WSDL dan XSD secara manual. 84 XSD mendefinisikan simple dan complex types. Complex types memungkinkan adanya isi elemen dan atribut, sedangkan simple types tidak berisi isi elemen dan menyimpan atribut. Sebelum mendefinisikan langkah-langkah di dalam proses bisnis, akan ditetapkan input proses dan outputnya. Maka akan didefinisikan skema XML untuk menetapkan jenis data data types. Kemudian akan dibangun WSDL diatas skema XML untuk mendefinisikan interface publik. Pada node QuoteLoan, klik-kanan dan pilih New XML Schema. Jika opsi ini tidak terlihat, gunakan menu New Other XML untuk menemukan XML Schema. Klik Next. Untuk File Name, ketik LoanQuoteSchema dan pilih Finish. File LoanQuoteSchema.xsd akan ditambahkan pada proyek dan tampak editor di sebelah kanan. Masuk ke mode Design dengan klik pada kontrol Design: Definisikan dua Complex Types, satu untuk input dan lainnya untuk output. Klik-kanan panel design Complex Types dan pilih Add Complex Type: 85 Node newComplexType akan tampak dibawah. Klik-double node baru dan beri nama baru LoanQuoteInput. Dengan kursor di atas LoanQuoteInput, klik-kanan dan pilih Add Element: Node newElement akan tampak. Klik-double dan beri nama baru loanType Dengan tetap di atas node loanType, temukan Properties dan lihat property Definition: 86 Klik ikon ellipsis lihat gambar dan atur property Definition property untuk loanType menjadi Built-In Types string. Tambahkan elemen di bawah LoanQuoteInput dan atur properti Definition: • amount Built-In Types double • period Built-In Types int Maka definisi complex type LoanQuoteInput telah lengkap: 87 Sekarang akan didefinisikan sisi output dari interface publik proses BPEL. Lakukan hal yang sama dalam membuat complex type LoanQuoteOutput. {Untuk membuat complex type, klik-kanan pada area Complex Types dan pilih Add Complex Type. Ganti nama dengan klik-double.} Tambahkan dua elemen: • description Built-In Types string • monthlyPayment Built-In Types double {Untuk menambah elemen, klik kanan pada LoanQuoteOutput complex type dan pilih Add Element.} Maka akan terlihat file XSD seperti gambar dibawah ini: 88 {Untuk menetapkan data types, klik pada elemen dan temukan Definition property. Gunakan Built-In Types as yang sesuai seperti gambar. Jika ingin tahu, pindah ke view Source untuk melihat XML yang telah dibuat Netbeans.} Lakukan penyimpanan dengan klik Save All. Sekarang akan ditambahkan dua elemen top level skema untuk menyajikan jenis data request yang datang dan response yang dikirim. Kedua elemen ini didasarkan pda complex types yang baru saja dibuat. Pada mode Design, klik-kanan Elements pada atas panel design. Kemudian pilih Add Element: Sebuah node newElement akan tampak. Klik-double pada node baru dan beri nama baru menjadi LoanQuoteRequest Untuk property Definition, klik ke Complex Types LoanQuoteInput: {Jika ingin tahu, cek ke view Schema untuk melihat XSD. Akan terlihat pohon hirarki yang lebih mudah 89 dieksplorasi. Simpan lagi. Biasakan melakukan kebiasaan Ctrl-S.} Klik-kanan area Elements lagii dan pilih node Add Element. Node newElement lain akan tampak. Klik-double pada node baru dan beri nama baru menjadi LoanQuoteResponse Untuk property Definition, klik Complex Types LoanQuoteOutput. Simpan dengan melakukan klik Save All. Gambar dibawah ini menunjukkan LoanQuoteSchema secara lengkap. 90 {Dokumen XSD ini mendefinisikan data types yang akan melewatkan ke dan mengirim dari proses bisnis. Dokumen XSD ini akan diimport ke dokumen WSDL yang akan dibuat, sehingga web service mempunyai definisi data yang diperlukan.} Pindah ke mode Source untuk melihat dokumen XSD: ?xml version=1.0 encoding=UTF-8? xsd:schema xmlns:xsd= http:www.w3.org2001XMLSchema targetNamespace= http:xml.netbeans.orgschemaLoanQuoteSchema xmlns:tns= http:xml.netbeans.orgschemaLoanQuoteSchema elementFormDefault=qualified 91 xsd:complexType name=LoanQuoteInput xsd:sequence xsd:element name=loanType type=xsd:string xsd:element name=amount type=xsd:double xsd:element name=period type=xsd:int xsd:sequence xsd:complexType xsd:complexType name=LoanQuoteOutput xsd:sequence xsd:element name=description type=xsd:string xsd:element name=monthlyPayment type=xsd:double xsd:sequence xsd:complexType xsd:element name=LoanQuoteRequest type=tns:LoanQuoteInput xsd:element name=LoanQuoteResponse type=tns:LoanQuoteOutput xsd:schema Untuk mengecek error pada XSD, klik pada kontrol Schema untuk masuk ke mode Schema. Kemudian temukan kontrol Validate XML dan klik. Lihat apakah ada error pada panel Output.

5.3 Membangun Dokumen WSDL