Anda di halaman 1dari 12

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

Daftar Isi

Daftar Isi...................................................................................................................... 2 Pendahuluan................................................................................................................ 3 Web Service................................................................................................................ 3 Simple Object Access Protocol (SOAP).................................................................... 4 NuSOAP...................................................................................................................... 6 Referensi..................................................................................................................... 12

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.

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.

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:

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

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

10

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

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-sourcedengan-soap/ http://www.earlyedition.info/membangun-web-service-open-source-dengan-soap.html

12

Anda mungkin juga menyukai