09071003042-membangun web service menggunakan nusoap

14
Sistem Informasi Berbasis Web Membangun Web Service dengan Menggunakan NuSOAP Disusun oleh: Ria Aprinda (09071003042) Sistem Informasi 6 B FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA

Upload: fetrian-arif-rachman-amnur

Post on 25-Jul-2015

247 views

Category:

Documents


14 download

TRANSCRIPT

Page 1: 09071003042-Membangun Web Service Menggunakan NuSOAP

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

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

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

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

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

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

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

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

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

<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

<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