Anda di halaman 1dari 16

Membangun Web Service Provider Sebagai

Alternatif e-Business
Artikel ini telah dipublikasikan pada majalah Mikrodata Vol. 7 Series 17, July 2002.
Agus Kurniawan
agusk@cs.ui.ac.id
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:
<?xml version="1.0" ?>
<disco:discovery xmlns:disco="http://schemas.xmlsoap.org/disco"
xmlns:wsdl="http://schemas.xmlsoap.org/disco/wsdl">
<wsdl:contractRef ref="http://MyWebServer/UserName.asmx?WSDL"/>
</disco:discovery>

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

Anda mungkin juga menyukai