09071003042-membangun web service menggunakan nusoap
TRANSCRIPT
![Page 1: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/1.jpg)
Sistem Informasi Berbasis Web
Membangun Web Service dengan Menggunakan NuSOAP
Disusun oleh:
Ria Aprinda (09071003042)
Sistem Informasi 6 B
FAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA
TAHUN AJARAN 2009/2010
![Page 2: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/2.jpg)
Daftar Isi
Daftar Isi................................................................................................................. 2
Pendahuluan............................................................................................................ 3
Web Service............................................................................................................ 3
Simple Object Access Protocol (SOAP)................................................................. 4
NuSOAP................................................................................................................. 6
Referensi................................................................................................................. 12
2
![Page 3: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/3.jpg)
Membangun Web Service Menggunakan NuSOAP
Pendahuluan
Pada bahasan kali ini kita akan mengulas mengenai membangun service
menggunakan NuSOAP. Untuk membangun web sercive ini kita terlebih dahulu harus
mempelajari mengenai web service server, web service client, dan juga nuSOAP.
Web Service
Web service adalah sebuah sistem yang dirancang untuk dapat mendukung interaksi
komunikasi antar mesin-mesin pada suatu jaringan (w3c.org). Teknologi web service
memungkinkan kita dapat menghubungkan berbagai jenis software yang memiliki
platform dan sistem operasi yang berbeda. Jadi, kita tetap mendapatkan sebuah
potongan informasi dari suatu website tanpa harus mengunjungi website tersebut,
cukup dengan mengetahui fungsi/method web service yang disediakan oleh web itu.
Kita dapat mengakses potongan informasi tersebut dengan meletakkan fungsi/method
itu pada aplikasi kita.
Konsep utama web service adalah bagaimana suatu data/informasi yang ada bisa
berkomunikasi tanpa ada halangan yang merintang baik dari segi platform maupun
database. Kita harus memiliki file di sisi server yang mengakses server bersangkutan
dan file di sisi client yang akan menjalankan perintah-perintah atau service yang telah
di daftarkan di sisi server.
Contoh penggunaan dari teknologi web service adalah pada mesin pencarian Google
yang menyediakan tiga metode pada web API-nya, yaitu :
doGoogleSearch() – mencari terminologi spesifik di database Google.
doGetCatchPage() – mengambil sebuah cache page dari cache Google.
doSpellingSuggestion() – mengambil anjuran ejaan dari Google.
3
![Page 4: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/4.jpg)
Simple Object Access Protocol (SOAP)
Konsep Dasar SOAP
SOAP adalah protokol untuk pertukaran informasi dengan desentralisasi dan
terdistribusi. SOAP dibangun dengan menggunakan protokol komunikasi HTTP.
Karena HTTP didukung oleh semua browser dan server, maka SOAP dapat
berkomunikasi dengan berbagai aplikasi meskipun terdapat perbedaan sistem operasi,
teknologi, dan bahasa pemrogramannya.
Peran SOAP di dalam teknologi web service adalah sebagai protokol pemaketan
untuk pesan-pesan (messages) yang digunakan secara bersama oleh aplikasi-aplikasi
penggunanya. Spesifikasi yang digunakan tidak lebih seperti sebuah amplop biasa
berbasis XML untuk informasi yang ditransfer, serta sekumpulan aturan bagi translasi
aplikasi dan tipe-tipe data platform yang spesifik menjadi bentuk XML. Desain
bentuk dari SOAP membuatnya cocok untuk berbagai pertukaran pesan pada aplikasi.
Pesan SOAP
Sebuah pesan SOAP adalah sebuah dokumen XML yang berisi elemen-elemen
berikut:
Envelope element yang mengidentifikasi dokumen XML sebagai sebuah pesan
SOAP.
Elemen header yang berisi informasi header. Elemen ini bersifat opsional.
Elemen body yang berisi panggilan dan merespon informasi.
Fault element yang berisi pesan kesalahan yang terjadi pada waktu proses.
Elemen ini opsional.
4
![Page 5: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/5.jpg)
Berikut struktur utama pesan SOAP:
Manfaat SOAP
• Menggunakan SOAP melalui HTTP mengijinkan kemudahan komunikasi melewati
proxy dan firewall
• SOAP cukup berguna untuk mengijinkan penggunaan dalam protocol transport yang
berbeda.
• SOAP adalah independen protocol.
• SOAP adalah bahasa yang independent.
Kelemahan SOAP
• SOAP dapat menjadi lambat saat ditandingkan dengan teknologi middleware seperti
CORBA.
• Kebanyakan penggunaan HTTP sebagai protokol transpor dilakukan dengan
ketidaktahuan bagaimana operasi dapat dimodelkan dalam HTTP.
• Saat mempercayakan HTTP sebagai protokol transfer, sebuah firewall didesain
hanya untuk mengijinkan web browsing menampilkan analisa lebih detail.
Walaupun SOAP merupakan standar terbuka, tidak semua bahasa menyediakan
layanan. JAVA, Delphi, .Net dan Flex menawarkan integrasi SOAP/ layanan IDE
dengan sangat baik. Sedangkan Python dan PHP layanannya lebih lemah.
Struktur utama pesan SOAP:
5
![Page 6: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/6.jpg)
NuSOAP
NuSOAP adalah library yang digunakan untuk membangun web service berbasis
SOAP yang ditulis dengan menggunakan bahasa PHP. NuSOAP ditulis oleh Dietrich
Ayala dengan proyek awal bernama SOAPx4. Selanjutnya dia disewa NuSphere
untuk terus mengembangkan proyek tersebut dan diberi nama NuSOAP.
Berikut ini adalah diagram proses web service dengan menggunakan NuSOAP:
Instalasi dan Konfigurasi NuSOAP
Instalasi dan konfigurasi NuSOAP dapat dilakukan dengan beberapa tahap
berikut:
Download file dari situs http://dietrich.ganx4.com/nusoap/.
Ekstrak file zip
Copy file nusoap.php ke lokasi direktori tertentu
Lakukan include class dalam kode PHP:
require_once(‘nusoap.php’)
Pemrograman SOAP Client-Server
Dalam membangun sebuah sistem aplikasi berbasis web service, dibutuhkan dua
komponen utama yaitu, server sebagai provider entity dan client sebagai requester
entity . Sebagai contoh, di bawah ini terdapat dua listing program pada sisi server
dansisi client.
Berikut contoh implementasi NuSOAP pada sisi server:
6
![Page 7: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/7.jpg)
Kode Program File server.php
<?php require_once(‘nusoap.php’); $server = new soap_server; $server->register(‘hello’); function hello($name) { return ‘Hello, ‘ . $name; } $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ”; $server->service($HTTP_RAW_POST_DATA);?>
Berikut implementasi NuSOAP untuk sisi klien:
Kode Program File client.php
<?php require_once(‘nusoap.php’); $client = new soapclient(‘http://localhost/soap/server.php’); $result = $client->call(‘hello’, array(‘name’ => $_GET['name'])); echo $result;?>
Berikut ini tampilan di web browser dari web service yang dijalankan antar dua file server.php dan client.php tersebut:
Tampilan Web Service sederhana dengan PHP:
7
![Page 8: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/8.jpg)
Listing Program SOAP
$client = new soapclient(‘https://222.124.145.222/tps/service.asmx?WSDL’, true);
$result = $client->call($service_name, array(‘fStream’=>$xml_data,’Username’ =>
$service_username, ‘Password’=>$service_password));
//ini adalah hasilnya
$hasil = $result['CoCoCont_TesResult'];
print_r($result);
$sql_change = “UPDATE `tps_cococont_header` SET `SENT` = ’1′ WHERE
`REF_NUMBER` = ‘$ref_num’ “;
$rs_change = $db_int->execute($sql_change);
if($result){
//common::alert_to(“Pengiriman data dengan Ref Number $ref_num Berhasil”,
“index.php?module=xmlGenerator&action=listKirimKontainer”);
switch($hasil){
case “Proses berhasil”:
$sql_change = “UPDATE `tps_cococont_header` SET `SENT` = ’1′ WHERE
`REF_NUMBER` = ‘$ref_num’ “;
$rs_change = $db_int->execute($sql_change);
echo “berhasil”;
break;
case “User Tidak Dikenal !!”:
break;
8
![Page 9: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/9.jpg)
case “Validasi data XML anda tidak benar”:
Result
kontainer_xml_template.xml
xml version=”1.0″ encoding=”UTF-8″ ?>
- <DOCUMENT xmlns=”cococont.xsd“>
- <COCOCONT>
- <HEADER>
<KD_DOK>{$kd_dok}<!–KD_DOK>
<KD_TPS>{$kd_tps}<!–KD_TPS>
<NM_ANGKUT>{$nm_angkut}<!–NM_ANGKUT>
<NO_VOY_FLIGHT>{$no_voy_flight}<!–NO_VOY_FLIGHT>
<CALL_SIGN>{$call_sign}<!–CALL_SIGN>
<TGL_TIBA>{$tgl_tiba}<!–TGL_TIBA>
<KD_GUDANG>{$kd_gudang}<!–KD_GUDANG>
<REF_NUMBER>{$ref_number}<!–REF_NUMBER>
<!–HEADER>
- <DETIL>
{section name=list loop=$item}
- <CONT>
<NO_CONT>{$item[list].no_cont}<!–NO_CONT>
9
![Page 10: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/10.jpg)
<UK_CONT>{$item[list].uk_cont}<!–UK_CONT>
<NO_SEGEL>{$item[list].no_segel}<!–NO_SEGEL>
<JNS_CONT>{$item[list].jns_cont}<!–JNS_CONT>
<NO_BL_AWB />
<TGL_BL_AWB />
<NO_MASTER_BL_AWB />
<TGL_MASTER_BL_AWB />
<ID_CONSIGNEE />
<CONSIGNEE />
<BRUTO>{$item[list].bruto}<!–BRUTO>
<NO_BC11 />
<TGL_BC11 />
<NO_POS_BC11 />
<KD_TIMBUN>{$item[list].kd_timbun}<!–KD_TIMBUN>
<KD_DOK_INOUT />
<NO_DOK_INOUT />
<TGL_DOK_INOUT />
<WK_INOUT>{$item[list].wk_inout}<!–WK_INOUT>
<KD_SAR_ANGKUT_INOUT>{$item[list].kd_sar_angkut}<!–
KD_SAR_ANGKUT_INOUT>
<NO_POL />
10
![Page 11: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/11.jpg)
<FL_CONT_KOSONG>{$item[list].fl_cont_kosong}<!–FL_CONT_KOSONG>
<ISO_CODE>{$item[list].iso_code}<!–ISO_CODE>
<PEL_MUAT>{$item[list].pel_muat}<!–PEL_MUAT>
<PEL_TRANSIT>{$item[list].pel_transit}<!–PEL_TRANSIT>
<PEL_BONGKAR>{$item[list].pel_bongkar}<!–PEL_BONGKAR>
<GUDANG_TUJUAN>{$item[list].gudang_tujuan}<!–GUDANG_TUJUAN>
<!–CONT>
{/section}
<!–DETIL>
<!–COCOCONT>
<!–DOCUMENT>
11
![Page 12: 09071003042-Membangun Web Service Menggunakan NuSOAP](https://reader031.vdokumen.com/reader031/viewer/2022012403/5572026e4979599169a37e3e/html5/thumbnails/12.jpg)
REFERENSI
http://arifinna.wordpress.com/2009/08/04/web-service-dengan-php-nusoap-dan-
mysql/
http://krisosa.wordpress.com/2007/02/26/membangun-web-service-open-source-dengan-soap/http://www.earlyedition.info/membangun-web-service-open-source-dengan-soap.html
12