PEMROGRAMAN CLIENT SERVER PERTEMUAN VI PENGANTAR ASP.NET WEB SERVICE Dosen Pengampu : Fandy Setyo Utomo, S.Kom Agenda Perkuliahan : 1. Konsep Web Service 2. Studi Kasus Web Service Software Developer : Visual Studio .NET 2008/2010 Bahasa Pemrograman : Visual C#.NET 2008/2010 1 KONSEP WEB SERVICE Menurut Chappell dan Jewell (2002), menyatakan bahwa web service merupakan bagian dari logika bisnis, terletak di suatu lokasi internet, yang dapat diakses melalui standar protokol internet, seperti HTTP (Hypertext Transfer Protocol) dan SMTP (Simple Mail Transfer Protocol). Sedangkan, menurut Potts dan Kopack (2003), menyatakan bahwa web service merupakan aplikasi perangkat lunak yang dapat diakses jarak jauh menggunakan XML. Dengan menggunakan format dokumen XML dan protokol HTTP untuk media komunikasi datanya, maka web service mampu mengurangi hambatan yang dikarenakan kesulitan kerjasama antar operasi (Interoperability) dan antar platform yang berbeda (Arianto dkk., 2011). Gambar 1. Konsep Web Service (Lucky, 2008) Dari gambar 1, dapat diperhatikan bahwa sebenarnya web service merupakan kumpulan fungsi atau method yang terdapat pada sebuah server yang dapat dipanggil oleh client dari jarak jauh (Lucky, 2008). Client dapat berupa user yang menggunakan aplikasi berbasis desktop, web, dan perangkat komunikasi bergerak. Web Service memiliki beberapa komponen pendukung, yaitu XML (Extensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language), dan UDDI (Universal Description, Discovery, and 2 Integration). Berikut ini adalah penjelasan ringkas tentang komponen-komponen tersebut; 1. XML XML (Extensible Markup Language) merupakan standar untuk markup dokumen yang disahkan oleh W3C (World Wide Web Consortium). XML mendefinisikan sintaks yang umum digunakan untuk markup data secara sederhana. XML menyediakan format standar untuk dokumen komputer. Format ini cukup fleksibel untuk disesuaikan dengan domain yang beragam seperti website, pertukaran data elektronik, grafik vektor, hierarki, serialisasi objek, Remote Procedure Call (RPC), dan sistem voice mail (Harold dan Means, 2002). XML merupakan bagian penting bagi pengembang yang ingin membangun web service. XML berbasis teks, sehingga bersifat platform independent. Sifat ini membuat pertukaran data antar platform menjadi mungkin. 2. SOAP SOAP (Simple Object Access Protocol) adalah sebuah protokol berbasis XML dengan komunikasi bergaya RPC (Remote Procedure Call) yang menyediakan cara standar untuk memaketkan pesan (Chappell dan Jewell, 2002). SOAP terdiri dari 4 bagian utama, yaitu (Short, 2003) : A. SOAP Envelope Merupakan bagian yang mendeskripsikan apa yang terkandung di dalam pesan. B. SOAP Encoding Bagian ini mendefinisikan cara untuk menyerialkan data ke dalam pesan SOAP. SOAP Encoding menjelaskan bagaimana data seharusnya dikodekan. C. SOAP RPC Representation Bagian ini mendefinisikan protokol yang dapat digunakan untuk memfasilitasi komunikasi berorientasi prosedur melalui pola permintaan dan jawaban pesan. D. Pengikatan Protokol HTTP POST Bagian ini mendefinisikan metode standar dalam pengikatan pesan SOAP ke protokol HTTP. Karena berbasis XML, SOAP dapat digunakan untuk pertukaran data antar sistem walaupun berbeda platform. SOAP tidak terikat pada protokol transport tertentu, 3 sehingga pesan SOAP dapat dikirim lewat sembarang protokol transport yang mampu mengangkut XML, seperti HTTP dan SMTP. 3. WSDL WSDL merupakan sebuah dokumen dalam format XML yang isinya menjelaskan informasi web service. Di dalam dokumen ini dijelaskan method apa saja yang tersedia di dalam web service, parameter apa yang diperlukan untuk mengakses sebuah method, dan apa hasil atau tipe data yang dikembalikan oleh method yang diakses tersebut (Lucky, 2008). 4. UDDI UDDI (Universal Description Discovery and Integration) adalah sebuah metode standar untuk penerbitan dan menemukan informasi tentang layanan web (web service). UDDI merupakan sebuah usaha industri yang mencoba untuk menciptakan sebuah platform independent, framework terbuka untuk mendeskripsikan layanan, menemukan bisnis, dan mengintegrasikan layanan bisnis (Chappell dan Jewell, 2002). Infrastruktur yang mendukung UDDI terdiri dari serangkaian registry dan registrar. Registry berisi salinan lengkap direktori UDDI, sedangkan registrar menyediakan layanan registrasi UDDI untuk kepentingan pelanggan (Short, 2003). 4 STUDI KASUS Studi kasus membahas tentang pembuatan web service untuk operasi matematika, yaitu penjumlahan, pengurangan, pembagian, dan perkalian. Kemudian, dilanjutkan dengan membuat aplikasi desktop client yang mampu mengkonsumsi web service. 1. Pembuatan Web Service Dalam tutorial ini pembuatan web service menggunakan IDE Visual Studio 2010. Bagi yang menggunakan IDE Visual Studio 2008, konsepnya sama saja. A. Langkah1 Buat project baru dengan tipe Web Site. B. Langkah 2 Pilih Visual C#, kemudian tentukan Framework yang digunakan, yaitu .NET Framework 3.5, lalu pilih ASP.NET Web Service. Simpan project pada folder masing-masing. 5 C. Langkah 3 Edit Source Sode sehingga seperti berikut ini, 2. Pengujian Web Service A. Langkah 1 Running aplikasi, sehingga otomatis membuka browser dan menampilkan hasil sebagai berikut, 6 Dapat diperhatikan pada gambar tersebut, web service beralamat di http://localhost:52372/webService/Service.asmx. Terdapat 4 layanan yang dapat diakses oleh aplikasi client, yaitu layanan operasi pembagian, penjumlahan, perkalian, dan pengurangan. B. Langkah 2 Untuk menguji layanan web, dapat diakses satu per satu layanan yang ada, kemudian coba diinputkan 2 nilai, yaitu nilai a dan b. Sebagai contoh, akses layanan “jumlah”, Jika diinputkan nilai a = 5 dan nilai b = 7, kemudian ditekan tombol Invoke, maka hasilnya adalah sebagai berikut, 7 Coba anda pelajari dokumen WSDL (tag definitions, types, message, portType, binding, service), SOAP Request dan SOAP Response yang dihasilkan dari aplikasi web service ini! 3. Pembuatan Aplikasi Client Buat project baru pada Visual Studio dengan tipe Windows Form Application. Beri nama project dengan operator. Simpan pada folder masingmasing. 8 Kemudian, buat desain form seperti berikut ini, Keterangan : Kontrol Form1 Properti StartPosition : CenterScreen Text : Pengaksesan Web Service Label1 Text : Nilai A Label2 Text : Nilai B Label3 Text : Hasil TextBox1 Name : txt_a TextBox2 Name : txt_b TextBox3 Name : txtHasil Button1 Button2 Button3 Button4 Name : cmdTambah Text : + Name : cmdKurang Text : Name : cmdBagi Text : / Name : cmdKali Text : X Kemudian, klik kanan pada project operator di Solution Explorer. Pilih Add Service Reference, 9 Beri nama namespace dengan operatorService. Kemudian, pilih tombol Advanced, 10 Kemudian, pilih tombol Add Web Reference, Pada bagian URL, ketikkan alamat URL web service yang telah dibuat sebelumnya, yaitu http://localhost:52372/webService/Service.asmx Kemudian, pada bagian Web Reference Name, isi dengan layananOperator. Lalu pilih tombol Add Reference. Ketikkan kode program berikut pada aplikasi Windows Form, 11 Lengkapi kode program tersebut dengan kode program untuk tombol dengan operasi pengurangan, pembagian, dan perkalian! Kemudian, Running aplikasi, amati proses yang dapat dilakukan oleh aplikasi desktop client dan web service. 12 TUGAS PRAKTIKUM 1. Apa yang anda ketahui tentang Internet Information Service (IIS)? Kemudian, jelaskan hubungan antara IIS dengan ASP.NET Web Service! 2. Bagaimana cara mengaktifkan IIS pada Microsoft Windows XP dan Windows 7? 3. Bagaimana cara meregister Web Service yang telah anda buat pada IIS Manager? 4. Buat aplikasi client berbasis Web menggunakan PHP. Pada aplikasi web yang anda buat memiliki fitur yang sama dengan aplikasi client desktop yang telah anda buat pada praktikum ini. Kemudian, jelaskan bagaimana implementasi aplikasi Web yang anda buat mampu mengkonsumsi web service operasi matematika (penjumlahan, pengurangan, pembagian, perkalian). Ketentuan : 1 kelas hanya perlu mengirimkan 1 tugas praktikum. Tugas dikirim ke email [email protected] dalam format PDF. Pengiriman tugas paling lambat 6 hari setelah praktikum, pukul 16.00 WIB. 13 DAFTAR PUSTAKA Arianto, H.T., Satoto, Kodrat, I. dan Agung, B., 2011, Pemprograman Aplikasi Platform Terbuka Berbasis Xml Web Services (Studi Kasus: Kolaborasi Aplikasi Dan Pertukaran Data Kependudukan Dengan Catatan Medis), Alamat Website http://eprints.undip.ac.id/25903/1/ML2F399401.pdf, diakses tanggal 27 November 2012. Chappell, D.A. dan Jewell, T., 2002, Java Web Services, Edisi 1, O'Reilly, SebastopolCanada Lucky, 2008, XML Web Services Aplikasi Desktop, Internet, dan Handphone, JASAKOM, Jakarta. Potts, S. dan Kopack, M., 2003, Teach Yourself Web Services in 24 Hours, SAMS, Indianapolis-USA Short, S., 2003, Building XML Web Services For The Microsoft .NET Platform, Mustaqim, I. dan Said, B., Elex Media Komputindo, Jakarta 14