Membangun Web Service Provider Sebagai Alternatif e-Business Artikel ini telah dipublikasikan pada majalah Mikrodata Vol. 7 Series 17, July 2002. Agus Kurniawan
[email protected] http://blog.aguskurniawan.net
Pendahuluan Perkembangan dunia teknologi informasi khusus software dan intenet sangatlah pesat baik software maupun teknologinya saling menawarkan masing-masing kelebihannya. Para pelaku bisnis yang berbasis teknologi informasi juga tidak tinggal diam dan melirik untuk melakukan bisnis didunia cyber. Microsoft sebagai salah perusahan software yang sangat dan beberapa bulan yang lalu menluncurkan teknologi baru berbentuk framework yaitu .NET dan Microsoft sendiri tidak tanggung-tanggung untuk menggarap teknologi ini sebagai dasar dari seluruh platform yang berbasis Windows. Tidak hanya itu saja, Microsoft juga akan memasak framework .NET pada Operating System baru yang menangani aplikasi yang berbasis .NET. Operating System ini dikenal dengan Windows Server .NET. Hal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler dalam .NET seperti Fontran.NET, COBOL.NET dan sebagainya. Akibat dari ini juga berimbas pada bisnis berbentuk electronic baik itu eBusiness maupun e-Commerce. Banyak perusahan yang sudah beralih ke teknologi .NET dan sebagian besar juga sudah mengambil start untuk beralih ke platform .NET. Dengan semakin banyaknya vendor-vendor yang upgrade ke teknologi .NET maka hal ini akan meningkatkan gairah bisnis dibidang software. Web Service sebagai salah satu teknologi yang diberikan oleh Microsoft .NET dapat menjanjikan peluang bisnis yang bisa dihandalkan. Bentuk service banyak sekali tergantung kebutuhan yang diinginkan, semakin bagus service yang berikan akan meningkatkan penjualan jasa berupa Web Service. Pada artikel ini akan menjelaskan bagaimana cara membuat bisnis Web Service Provider termasuk perhitungan pemakaian Web Service.
XML Web Service .NET XML Web Service merupakan entitas yang dapat diprogram dan menyediakan beberapa macam fungsi seperti informasi, aplikasi logic dan diakses banyak platform melalui beberapa media yaitu HTTP dan XML. Untuk memahami apa itu XML Web Service, pada gambar 1 menunjukkan infrastruktur dari XML Web Service
1|Halaman
Gambar 1. Infrastruktur XML Web Service Pada gambar 1 terlihat bahwa infrastruktur dari XML Web Service terdiri dari 4 macam yaitu: 1. XML Web Service Directory 2. XML Web Service Discovery 3. XML Web Service Description 4. XML Web Service Wire Format 1. XML Web Service Directory UDDI (Universal Description, Discovery and Integration) telah mendefinisikan mengenai standart bagaimana mempublikasikan dan mencari informasi mengenai XML Web Service. Bentuk XML yang didefinisikan oleh UDDI merupakan 4 tipe informasi yang memnugkinkan seorang developer mempublikasikan XML Web Service nya. Keempat tipe tersebut antara lain: Informasi bisnis Informasi servis Informasi binding Informasi khusus yang ada hubungannya dengan web service tersebut Untuk lebih mendapatkan informasi tentang UDDI, kita dapat mencarinya di http://uddi.microsoft.com 2|Halaman
2. XML Web Service Discovery XML Web Service Discovery merupakan proses pencarian atau penemuan satu atau lebih dokumen yang berhubungan dengan XML Web Service dengan menggunakan WSDL (Web Service Description Language). Dengan demikian client dapat menemukan lokasi dari Web Service melalui WSDL. Berikut ini contoh dokumen yang ditemukan oleh WSDL:
<wsdl:contractRef ref="http://MyWebServer/UserName.asmx?WSDL"/>
3. XML Web Service Description Ini merupakan deskripsi dari XML Web Service berdasarkan kesepakatan para vendor dan dilandasi standart WSDL. Sifat XML Web Service ditentukan oleh format message atau pola dari XML Web Service itu sendiri. 4. XML Web Service Wire Format XML Web Service tidak dibatasi untuk menyediakan remote procedure control (RPC). XML Web Service dapat dibangun melalui protokol HTTP-GET, HTTP-POST dan SOAP. HTTP-GET dan HTTP-POST merupakan standart protokol yang memakai HTTP (Hypertext Transfer Protocol) untuk encoding dan mengirim parameter sesuai dengan format HTTP tersebut. HTTP-GET mengirim parameter dalam URL-encoded text memakai tipe MIME yang ditambahkan URL server yang menangani request. Pada HTTP-POST juga mengirim parameter sesuai dengan kebutuhan. SOAP (Simple Object Access Protocol) merupakan model sederhana daripada XML untuk tukar-menukar informasi pada web. Tujuan dari protokol SOAP membuat sesuatu lebih mudah tanpa menghilangkan fungsi sebenarnya. Untuk lebih mengetahui informasi mengenai SOAP, langsung pergi ke URL : http://www.w3.org/TR/soap
Web Service Provider Definisi yang paling mudah apakah itu Web Service Provider adalah merupakan lembaga yang menyediakan aplikasi Web Service tentang macam-macam service sehingga bisa ini dikatakan sebagai Bank Web Service. Untuk membangun Web Service Provider tidaklah sulit tetapi ada hal-hal yang patut diperhatikan dalam membangun Web Service Provider. Hal-hal ini antara lain: Service apa yang akan disediakan Infrastruktur Sumber Daya Manusia Dana Sedangkan model Web Service berdasarkan service-oriented architecture (SOA) terdiri dari tiga antara lain: Services Providers 3|Halaman
A Service broker A Service Requestor Ini dapat digambarkan seperti pada gambar 2.
Gambar 2. Komponen Web Service Service Provider menyediakan service dan mempublikasikan melalui registry. Service broker menyediakan support untuk publikasi dan lokasi service. Service requester mengakses service melalui service broker yang disediakan oleh service provider.
Arsitektur Web Service Provider Untuk lebih memahami bagaimana arsitektur Web Service Provider, kita dapat melihat pada gambar 3 dibawah ini
Gambar 3. Arsitektur Web Service Provider
4|Halaman
Pada gambar 3 menunjukkan bahwa komponen dari Web Service provider terdiri dari: Requester, client/konsumen yang mengakses Web Service melalui protokol HTTP/SOAP. Web Service Provider, Aplikasi yang menyediakan Web Service dan melemparkannya ke konsumen yang telah terdaftar serta mencatatnya dalam database tagihan. Accounting Service Provider, Aplikasi yang berguna untuk menghitung pemakaian Web Service oleh konsumen dan memberikan informasi mengenai jumlah tagihan yang harus dibayar oleh konsumen. Database, Media untuk menyimpan data konsumen, Web Service dan data transaksi. Untuk detail dari Web Service Provider dapat dilihat pada gambar 4.
Gambar 4. Arsitektur Web Service Provider Sedangkan detail dari Accounting Service Provider dapat dilihat pada gambar dibawah ini (gambar 5).
5|Halaman
Gambar 5. Arsitektur Accounting Service Provider
Studi Kasus: Web Service Provider Pada kasus ini, kita akan mencoba membuat aplikasi Web Service Provider yang sederhana. Service yang akan kita publikasikan adalah informasi harga sembako dibeberapa kota di Indonesia. Sedangkan environment yang dibututhkan antara lain: Hardware: Komputer dengan Processor Pentium III (min) dengan IP Address yang terhubung dengan jaringan TCP/IP RAM 256 Mb , rekomendasi 512 Mb Hard Disk dengan ukuran secukupnya Software: Operating System: Windows 2000 Advance Server (rekomendasi), boleh pakai Windows 2000 Professiona dan XP untuk belajar IIS Framework .NET Database Microsoft SQL Server 2000 Development Tool Visual Studio .NET Rational Rose untuk design dan analisa Bahasa pemrograman yang akan dipakai dalam pembuatan Web Service Provider adalah Visual C# dan XML Web Service .NET serta membuat aplikasi Web menggunakan ASP.NET berbasis C#
6|Halaman
Arsitektur Sistem Sebelum kita melakukan implementasi ke aplikasi Web Service Provider maka kita melakukan design sebelumnya. Ada banyak jalan untuk membuat rancangan atau design. Pada pembahasan kali ini design aplikasi software meliputi Uses case diagram Class diagram Sequence diagram
Uses Case Diagram Uses Case ini mengambarkan bagaimana permasalahan dari sistem ini atau dengan kata lain mengubah dari problem domain menjadi solution domain. Gambar 6 adalah uses case dari aplikasi Web Service Provider
Gambar 6. Uses case diagram
7|Halaman
Dari gambar 6 terlihat bahwa case pada actor customer mempunyai 6 case yaitu: Login, untuk validasi user yang akan memakai Web Service Logout, keluar dari aplikasi Register, untuk proses pendaftaran customer baru Update, untuk customer yang ingin mengupdate datanya Web Service Access, untuk mengakses Web Service View Payment, untuk melihat besarnya tagihan yang harus dibayar Jika ingin aplikasi ini sempurna kita dapat menambahkan actor dalam Uses case diagram ini yaitu actor Administrator yang tugasnya melakukan manajemen data customer, menentukan harga web service per request.
Class Diagram Ini untuk menggambarkan kelas-kelas yang dipakai dan hubungan antar kelaskelas tersebut. Sedangkan class diagram dari aplikasi ini terlihatkan pada gambar 7
Gambar 7. Class diagram
Sequence Diagram Untuk memahami masing-masing kasus pada Uses case diagram maka kita membuat sequence diagram untuk masing-masing kasus. Sequence diagram untuk login (gambar 8): 8|Halaman
Gambar 8. Sequence diagram untuk login Sequence diagram untuk logout (gambar 9):
Gambar 9. Sequence diagram untuk logout 9|Halaman
Sequence diagram untuk register (gambar 10):
Gambar 10. Sequence diagram untuk register
Sequence diagram untuk update (gambar 11):
10 | H a l a m a n
Gambar 11. Sequence diagram untuk update Sequence diagram untuk web service access (gambar 12):
Gambar 12. Sequence diagram untuk web service access
11 | H a l a m a n
Sequence diagram untuk view payment(gambar 13):
Gambar 13. Sequence diagram untuk view payment
Arsitektur Database Database yang dipakai dalam aplikasi ini adalah SQL Server 2000. Model diagram database dapat dilihat pada gambar 14.
12 | H a l a m a n
Gambar 14. Arsitektur database Web Service Provider
Implementasi Sisi Server Untuk mengimplementasikan ke dalam code, kita harus mengetahui model keseluruhan sistem termasuk UI dari aplikasi ini. Kita dapat melihatnya pada gambar 15 model sistemnya. Aplikasi dibuat beberapa module agar module reusable sehingga jika suatu akan membuat aplikasi yang mirip ini maka dapat dipakai module ini.
13 | H a l a m a n
Gambar 15. Arsitektur Sistem
Implementasi Sisi Client Pada sisi client, aplikasi dapat dibuat dengan menggunakan bahasa pemrograman apapun selama aplikasi tersebut dapat mengakses protokol HTTP GET/POST dan SOAP. Untuk environment operating system Windows, kita dapat juga mengaksesnya melalui SOAP toolkit. Untuk kasus ini kita akan memakai bahasa C# dalam membuat aplikasi client. Ada dua jalan yang dapat ditempuh untuk mengakses Web Service: 1. Web Reference 2. Web Service Proxy 1. Web Reference Cara ini sangat mudah tetapi keamanan transfer data lebih rendah dibandingan dengan cara Web Service Proxy. Berikut langkah-langkah untuk mengakses Web Service melalui Reference: 14 | H a l a m a n
Buat aplikasi dan GUInya Lakukan Web Reference dengan cara klik menu Project->Add Web Refence sehingga akan muncul Windows Add Web Reference (gambar 16). Isi URL web service tersebut contoh: http://www.myserver.com/services/sembako.asmx
Gambar 16. Window Add Web Reference
Kalau sudah selesai tekan tombol Add Reference Cara pemakainnya: Sembako srv = new Sembako(); DataSet ds = srv.GetSembakoData(UserID.Text,Password.Text); dataGrid1.DataSource = ds;
Jangan lupa menambakan namespace web servicenya, biasanya mempunyai pola sebagai berikut: using Nama_Project.nama_server_web_service;
15 | H a l a m a n
2. Web Service Proxy Cara ini lebih secure karena kita hanya memberikan file dll yang merupakan proxy dari Web Service. Berikut ini langkah-langkah membuat file Web Service Proxy: Jalankan console dari Visual Studio.NET Buat Web Service Proxy Untuk C# D:\>wsdl http://www.myserver.com/services/sembako.asmx?wsdl
Untuk VB.NET D:\>wsdl /language:vb http://www.myserver.com/services/sembako.asmx?wsdl
Sehingga akan menghasilkan file sembako.cs untuk C# atau sembako.vb untuk VB.NET Kompile file sembako.cs/sembako.vb dan jangan lupa menambahkan referensi System.XML.dll dan System.Web.Services.dll , berikut ini cara kompilenya melalui aplikasi console Untuk C#: D:\>csc /out:sembako.dll /t:library /r:system.xml.dll /r:system.web.services.dll sembako.cs
Untuk VB.NET D:\>vbc /out:sembako.dll /t:library /r:system.xml.dl, system.web.services.dll sembako.cs
Setelah dilakukan kompilasi maka akan menghasilkan file DLL , dalam kasus ini menghasilkan file sembako.dll Cara pemakaian dalam aplikasi cukup dengan menambahkan reference (Project>Add Reference), tambahkan pada tab menu .NET library System.Web.Services.dll dan file sembako.dll melalui tombol browser untuk menemukan file sembako.dll. Code pemakaiannya Sembako srv = new Sembako(); DataSet ds = srv.GetSembakoData(UserID.Text,Password.Text); dataGrid1.DataSource = ds;
Demikian cara pembuatan aplikasi Web Service Provider semoga ini menjadi salah satu wacana dan alternatif dalam e-Business.
Referensi
MSDN .NET Library White paper, “Web Service Architect, Part 2: Model for dynamic e-Business”, Dan Gisolfi. IBM Developer Works. April 2001 White paper, ”Metering and accounting for Web Service – A dynamic ebusiness solution”, Wolfgang Eibach and Dietmar Kuebler. IBM Developer Works. July 2001
16 | H a l a m a n