Anda di halaman 1dari 13

Artikel Membangun Web Service dan Client Service dengan menggunakan NuSOAP

Disusun Oleh : Ovi Dyantina (0 0!"00#0$%&

Sistem 'n()rmasi *+

,akultas 'lmu -)m.uter /niversitas Sri0i1aya $00 2$0"0

Da(tar 'si
Da(tar 'si 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 i Web Service 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 " SOAP (Sim.le Ob1ect Acess Pr)t)c)l& 333333333333333333333333333333333333333333333333333333333333333333333333333333 " NuSOAP 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 C)nt)h Pemr)graman SOAP Client4Server 33333333333333333333333333333333333333333333333333333333333333333333 ""

Web Service
Web service adalah sebuah s)(0are a.likasi yang tidak ter.engaruh )leh .lat()rm5 ia akan menyediakan meth)d4meth)d yang da.at diakses )leh net0)rk3 'a 1uga akan menggunakan 6M7 untuk .ertukaran data5 khususnya .ada dua entities bisnis yang berbeda3 +ebera.a karakteristik dari 0eb service adalah: 4 Message4based 4 Standards4based 4 Pr)gramming language inde.endent 4 Plat()rm4neutral +ebera.a key standard didalam 0eb service adalah: 6M75 SOAP5 WSD7 and /DD'3

SOAP (Sim.le Ob1ect Access Pr)t)c)l&


SOAP adalah sebuah 6M74based mark4u. language untuk .ergantian .esan diantara a.likasi4a.likasi3 SOAP berguna se.erti sebuah am.l). yang digunakan untuk .ertukaran data )b1ect didalam net0)rk3 SOAP mende(inisikan em.at as.ek didalam k)munikasi: Message envel).e5 8nc)ding5 9PC call c)nventi)n5 dan bagaimana menyatukan sebuah message didalam .r)t)k)l trans.)rt3 SOAP mens.esi(ikan secara 1elas bagaimana cara untuk meng4encode header :;;P dan file 6M7 sehingga .r)gram .ada suatu k)m.uter da.at memanggil .r)gram .ada .ada k)m.uter lain dan mengirimkan in()rmasi5 dan bagaimana .r)gram yang di.anggil memberikan tangga.an3 SOAP memiliki tiga bagian5 yaitu : "3 SOAP 8nvel).e5 yang mende(inisikan d)kumen 6M7 sebagai .esan SOAP3 8lement
Envelope

meru.akan element r))t yang da.at menggunakan identi(ier names.ace

dari htt.:22schemas3<mls)a.3)rg2s)a.2envel).e23 Struktur dasar SOAP 8nvel).e kurang lebih se.erti berikut:
<?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:en o!ingst"le="http://www.w3.org/2001/12/soapen o!ing"> ... #esan in$ormasi% &isa mengan!'ng

element (ea!er !an har's ter!apat element )o!" ... </soap:envelope>

$3 Aturan enc)ding SOAP5 yang mende(inisikan mekanisme serialisasi .esan SOAP3 Pesan SOAP yang menggunakan aturan serialisasi itu harus mendeklarasikan atribut enc)dingStyle dengan nilainya berisi /9' htt.:22schemas3<mls)a.3)rg2s)a.2enc)ding23 #3 SOAP 9PC5 yaitu bagaimana SOAP da.at digunakan se.erti halnya 6M749PC3 Dalam SOAP sebenarnya dikenal $ ti.e a.likasi5 yaitu 9PC dan 8D' (8lectr)nic D)cument 8<change&3 SOAP 9PC (atau lebih dikenal sebagai =9PC4style> SOAP& menggunakan .esan SOAP sebagai re.resentasi nama .r)sedur berserta ).si)nal .arameternya dan nilai balik dari .r)sedur3 SOAP 8D' (atau dikenal sebagai =d)cument4style> SOAP& meru.akan .esan SOAP yang mere.resentasikan transaksi bisnis se.erti )rder .embelian5 .embayaran .a1ak atau d)kumen se1enis lainnya3

?ambar3 Skema .r)ses menggunakan 9PC Pesan SOAP Sebuah .esan SOAP adalah sebuah d)kumen 6M7 yang berisi elemen4elemen berikut:

8nvel).e element yang mengidenti(ikasi d)kumen 6M7 sebagai sebuah .esan SOAP3 8lemen header yang berisi in()rmasi header3 8lemen ini bersi(at ).si)nal3 8lemen b)dy yang berisi .anggilan dan meres.)n in()rmasi3 ,ault element yang berisi .esan kesalahan yang ter1adi .ada 0aktu .r)ses3 8lemen ini ).si)nal3

+erikut struktur utama .esan SOAP:

SOAP Syntax Rules @ A SOAP message M/S; be enc)ded using 6M7 @ A SOAP message M/S; use the SOAP 8nvel).e names.ace @ A SOAP message M/S; use the SOAP 8nc)ding names.ace @ A SOAP message must NO; c)ntain a D;D re(erence @ A SOAP message must NO; c)ntain 6M7 Pr)cessing 'nstructi)ns

Pemrograman SOAP Client-Server Dalam membangun sebuah sistem a.likasi berbasis 0 eb service, dibutuhkan dua k)m.)nen utama yaitu5 server sebagai provider entity dan client sebagai requester entity . Sebagai c)nt)h5 di ba0ah ini terda.at dua listing .r)gram .ada sisi server dansisi client3 +erikut c)nt)h im.lementasi NuSOAP .ada sisi server: Kode Program File server.php

+erikut im.lementasi NuSOAP untuk sisi klien: Kode Program File client.php

+erikut ini tam.ilan di web browser dari web service yang di1alankan antar dua (ile server3.h. dan client3.h. tersebut: ;am.ilan Web Service sederhana dengan P:P:

Listing Program Aclient B ne0 s)a.client(Chtt.s:22$$$3"$D3"DE3$$$2t.s2service3asm<FWSD7G5 true&H Aresult B Aclient4Icall(AserviceJname5 array(C(StreamGBIA<mlJdata5G/sernameG BI AserviceJusername5 CPass0)rdGBIAserviceJ.ass0)rd&&H 22ini adalah hasilnya Ahasil B AresultKLC)C)C)ntJ;es9esultLMH .rintJr(Aresult&H AsNlJchange B =/PDA;8 Ot.sJc)c)c)ntJheaderO S8; OS8N;O B G"P W:898 O98,JN/M+89O B CAre(JnumG =H ArsJchange B AdbJint4Ie<ecute(AsNlJchange&H i((Aresult&Q

22c)mm)n::alertJt)(=Pengiriman data dengan 9e( Number Are(Jnum +erhasil>5 =inde<3.h.Fm)duleB<ml?enerat)rRacti)nBlist-irim-)ntainer>&H s0itch(Ahasil&Q case =Pr)ses berhasil>: AsNlJchange B =/PDA;8 Ot.sJc)c)c)ntJheaderO S8; OS8N;O B G"P W:898 O98,JN/M+89O B CAre(JnumG =H ArsJchange B AdbJint4Ie<ecute(AsNlJchange&H ech) =berhasil>H breakH case =/ser ;idak Dikenal SS>: breakH case =Talidasi data 6M7 anda tidak benar>: Result ontainer!xml!template.xml <ml versi)nB>"30U enc)dingB>/;,4%U FI - VDOC/M8N; <mlnsB>cococont.xsd=I - VCOCOCON;I - V:8AD89I V-DJDO-IQAkdJd)kWVSX-DJDO-I

V-DJ;PSIQAkdJt.sWVSX-DJ;PSI VNMJAN?-/;IQAnmJangkutWVSXNMJAN?-/;I VNOJTOYJ,7'?:;IQAn)Jv)yJ(lightWVSXNOJTOYJ,7'?:;I VCA77JS'?NIQAcallJsignWVSXCA77JS'?NI V;?7J;'+AIQAtglJtibaWVSX;?7J;'+AI V-DJ?/DAN?IQAkdJgudangWVSX-DJ?/DAN?I V98,JN/M+89IQAre(JnumberWVSX98,JN/M+89I VSX:8AD89I - VD8;'7I Qsecti)n nameBlist l)).BAitemW - VCON;I VNOJCON;IQAitemKlistM3n)Jc)ntWVSXNOJCON;I V/-JCON;IQAitemKlistM3ukJc)ntWVSX/-JCON;I VNOJS8?87IQAitemKlistM3n)JsegelWVSXNOJS8?87I VZNSJCON;IQAitemKlistM31nsJc)ntWVSXZNSJCON;I VNOJ+7JAW+ 2I V;?7J+7JAW+ 2I VNOJMAS;89J+7JAW+ 2I V;?7JMAS;89J+7JAW+ 2I

V'DJCONS'?N88 2I VCONS'?N88 2I V+9/;OIQAitemKlistM3brut)WVSX+9/;OI VNOJ+C"" 2I V;?7J+C"" 2I VNOJPOSJ+C"" 2I V-DJ;'M+/NIQAitemKlistM3kdJtimbunWVSX-DJ;'M+/NI V-DJDO-J'NO/; 2I VNOJDO-J'NO/; 2I V;?7JDO-J'NO/; 2I VW-J'NO/;IQAitemKlistM30kJin)utWVSXW-J'NO/;I V-DJSA9JAN?-/;J'NO/;IQAitemKlistM3kdJsarJangkutWVSX -DJSA9JAN?-/;J'NO/;I VNOJPO7 2I V,7JCON;J-OSON?IQAitemKlistM3(lJc)ntJk)s)ngWVSX,7JCON;J-OSON?I V'SOJCOD8IQAitemKlistM3is)Jc)deWVSX'SOJCOD8I VP87JM/A;IQAitemKlistM3.elJmuatWVSXP87JM/A;I VP87J;9ANS';IQAitemKlistM3.elJtransitWVSXP87J;9ANS';I VP87J+ON?-A9IQAitemKlistM3.elJb)ngkarWVSXP87J+ON?-A9I

V?/DAN?J;/Z/ANIQAitemKlistM3gudangJtu1uanWVSX?/DAN?J;/Z/ANI VSXCON;I Q2secti)nW VSXD8;'7I VSXCOCOCON;I VSXDOC/M8N;I

NuSOAP
NuSOAP adalah sebuah kum.ulan class4class P:P yang memungkinkan user untuk mengirim dan menerima .esan SOAP melalui .r)t)k)l :;;P3 Salah satu keuntungan dari NuSOAP adalah .enggunaannya tidak membutuhkan registrasi khusus ke Sistem O.erasi mau.un 0eb server karena NuSOAP bukan meru.akan P:P e<tensi)n3 NuSOAP ditulis dalam k)de P:P murni sehingga semua devel).er 0eb da.at mengunakan t))l ini tan.a tergantung .ada 1enis 0eb server yang digunakan3 NuSOAP meru.akan t))lkit 0eb service berbasis k)m.)nen3 NuSOAP memiliki sebuah class dasar yang menyediakan meth)d se.erti serialisasi variabel dan .emaketan SOAP48nvel).e3 'nteraksi 0eb service dilakukan dengan class client yang disebut dengan class =s)a.client> dan class server yang disebut dengan class =s)a.Jserver>3 Class4class ini mengi[inkan user untuk melakukan .r)ses .engiriman dan .enerimaan .esan4.esan SOAP dengan bantuan bebera.a class4class .endukung lainnya untuk melengka.i .r)ses tersebut3 O.erasi4).erasi .engiriman .esan SOAP di1alankan dengan melibatkan .aramater nama ).erasi yang diinginkan melalui meth)d call(&3 Zika 0eb service yang ditu1u menyediakan sebuah (ile WSD75 maka class =s)a.client> akan mengacu langsung .ada /97 (ile WSD7 tersebut dan menggunakan class =0sdl> untuk mem4.arsing (ile WSD7

dan mengekstrak seluruh datanya3 Class =0sdl> menyediakan meth)d4meth)d untuk mengekstrak data .er4).erasi dan .er4binding3 Class =s)a.client> menggunakan data dari (ile WSD7 untuk mener1emahkan .arameter4.arameternya sekaligus menyusun SOAP envel).e ketika user mengeksekusi suatu .emanggilan service3 -etika .emanggilan ini dieksekusi5 class =s)a.client> menggunakan =s)a.Jtrans.)rtJhtt.> untuk mengirim .esan SOAP reNuest dan menerima .esan SOAP res.)nse3 Selan1utnya .esan SOAP res.)nse yang diterima di4.arsing dengan menggunakan class =s)a.J.arser> 3 +erikut ini adalah diagram .r)ses 0eb service dengan menggunakan NuSOAP:

?ambar Diagram .r)ses 0eb service dengan NuSOAP "nstalasi dan Kon#igurasi $uSOAP 'nstalasi dan k)n(igurasi NuSOAP da.at dilakukan dengan taha.an berikut: D)0nl)ad (ile dari situs htt.:22dietrich3gan<D3c)m2nus)a.23 8kstrak (ile [i. C).y (ile nus)a.3.h. ke l)kasi direkt)ri tertentu 7akukan include class dalam k)de P:P: reNuireJ)nce(Cnus)a.3.h.G&

C)nt)h Pemr)graman NuSOAP


+erikut ini meru.akan hasil ca.ture dari sebuah a.likasi [)diak menggunakan 0eb service yang dikembangkan menggunakan NuSOAP

ga mbar3 A.likasi server dari 0eb service [)diak

?ambar3 A.likasi client dari 0eb service [)diac

Anda mungkin juga menyukai