membangun web service provider sebagai …blog.aguskurniawan.net/pub/ws_business.pdfhal ini yang...

16
1 | Halaman 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 e- Business 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 infra- struktur dari XML Web Service

Upload: others

Post on 13-Feb-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

1 | H a l a m a n

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 e-

Business 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 infra-

struktur dari XML Web Service

Page 2: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

2 | H a l a m a n

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

Page 3: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

3 | H a l a m a n

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

Page 4: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

4 | H a l a m a n

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

Page 5: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

5 | H a l a m a n

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).

Page 6: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

6 | H a l a m a n

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#

Page 7: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

7 | H a l a m a n

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

Page 8: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

8 | H a l a m a n

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 kelas-

kelas 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):

Page 9: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

9 | H a l a m a n

Gambar 8. Sequence diagram untuk login

Sequence diagram untuk logout (gambar 9):

Gambar 9. Sequence diagram untuk logout

Page 10: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

10 | H a l a m a n

Sequence diagram untuk register (gambar 10):

Gambar 10. Sequence diagram untuk register

Sequence diagram untuk update (gambar 11):

Page 11: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

11 | 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

Page 12: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

12 | 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.

Page 13: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

13 | 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.

Page 14: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

14 | 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:

Page 15: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

15 | 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;

Page 16: Membangun Web Service Provider Sebagai …blog.aguskurniawan.net/pub/WS_Business.pdfHal ini yang membuat vendor-vendor banyak beralih ke platform .NET bahkan ada yang memasang compiler

16 | 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 e-

business solution”, Wolfgang Eibach and Dietmar Kuebler. IBM Developer

Works. July 2001