web service

4

Click here to load reader

Upload: afif-rizka-wandala

Post on 24-Jul-2015

110 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Web Service

Laboratorium Distributed System

Informatika Universitas Sebelas Maret

WHT 2006 1

MODUL 1 APLIKASI WEB SERVICE DENGAN SOAP

A. Tujuan

1. Menjelaskan konsep bekerjanya Aplikasi WEB Service 2. Menjelaskan pembuatan suatu WEB Service dan membuat aplikasi yang

menggunakan WEB Service (memanfaatkan WEB Service). B. Dasar Teori SOAP (Simple Object Access Protocol) adalah protokol untuk petukaran informasi dengan desentralisasi dan terdistribusi. Agar lebih mudah dalam memahaminya dapat dikatakan :

SOAP merupakan protokol komunikasi

SOAP untuk berkomunikasi antar aplikasi

SOAP adalah format untuk mengirim pesan

SOAP adalah platform yang independent

SOAP berbasis XML

SOAP didesain untuk berkomunikasi melalui internet. Belakangan ini, komunikasi aplikasi menggunakan Remote Procedure Calls (RPC) diantara objek seperti DCOM dan CORBA, tetapi HTTP tidak didesain untuk ini. RPC merepresentasikan kompabilitas dan problem sekuriti, firewalls dan proxy secara normal akan memblok ini dari trafik yang bisa dilewatkan. Cara yang lebih baikberkomunikasi antar aplikasi adalah melalui HTTP, karena HTTP didukung oleh semua browser dan server. SOAP dibangun untuk hal tersebut. SOAP menyediakan jalan untuk berkomunikasi antar aplikasi meskipun berbeda sistem operasi, berbeda teknologinya dan bahasa pemrogramannya. C. NuSOAP NuSOAP merupakan salah satu dari sekian toolkit yang tersedia untuk programmer PHP yang ingin bekerja dengan layanan SOAP. Keunggulan yang ditawarkan oleh NuSOAP adalah karena kesederhanaan sebab justru karena sederhana dan mudah sehingga kecepatannya menjadi lebih baik. Implementasi NuSOAP cukup mudah dan sederhana, berikut contoh membuat WEB service sederhana, web service ini akan mengirimkan pesan Hello, Selamat Datang : 1. Letakkan file nusoap.php hasil download atau dari suatu sumber ke direktori server/root

direktori, pada komputer server (Ada web servernya, misal Apache server) 2. Buatlah file server1.php, dengan isi filenya :

<?php require_once('../lib/nusoap.php'); $server = new soap_server(); $server->register('hello'); function hello($nama) { if (!$nama) { return new soap_fault('client','','Harus ada nilainya',''); }

Page 2: Web Service

Laboratorium Distributed System

Informatika Universitas Sebelas Maret

WHT 2006 2

$hasil = "Hello, ".$nama; return $hasil; } $server->service($HTTP_RAW_POST_DATA); exit(); ?> Keterangan :

Langkah pertama adalah memanggil file class NuSOAP yakni nusoap.php. require_once(„../lib/nusoap.php‟);

Selanjutnya menggunakan soap_server untuk membuat objek server : $server = new soap_server;

Baris berikutnya mendaftarkan fungsi apa yang akan dilakukan oleh server : $server->register(„hello‟);

Fungsi yang dibuat untuk menampilkan “Helo, [nama]”. Jika tidak ada nama yang dikirimkan, maka akan muncul kesalahan : function hello($nama) { if (!$nama) { return new soap_fault('client','','Harus ada nilainya',''); } $hasil = "Hello, ".$nama; return $hasil; }

Membuat HTTP listener dan keluar : $server->service($HTTP_RAW_POST_DATA); exit();

3. Selanjutnya, Anda buat file disisi client (client merupakan web server juga, untuk praktikum ini, Anda bisa menggunakan komputer yang sama dengan server webservicenya), file tersebut simpan dengan nama client1.php : <html> <head> <title>Latihan</title> </head> <body> <?php require_once('../lib/nusoap.php'); $nama = $_GET['nama']; $param = array('nama' => $nama); $client = new soapclient('http://localhost/maswi/praktikum/modul2/server1.php'); $response = $client->call('hello',$param); if ($client->fault) { echo "FAULT : <p>Code : {$client->faultcode}<br/>"; echo "string : {$client->faultstring}"; } else { echo $response;

Page 3: Web Service

Laboratorium Distributed System

Informatika Universitas Sebelas Maret

WHT 2006 3

} ?> </body> </html> Keterangan :

Tahapan pertama mengambil parameter masukan yang akan digunakan untuk parameter masukkan pada fungsi di webservice : $param = $_GET[„nama‟];

Melakukan inisialisasi daftar parameter client, dengan menggunakan array assosiatif : $param = array('nama' => $nama);

Baris selanjutnya pada kode program client membuat client baru dan mengisikan web service yang dituju (ini adalah nama server yang menyediakan webservice) : $client = new soapclient('http://localhost/maswi/praktikum/modul2/server1.php');

Selanjutnya, memanggil fungsi yang ada di server. Dalam praktikum ini adalah fungsi dengan nama „hello‟. $response = $client->call('hello',$param);

Selanjutnya adalah suatu informasi kesalahan jika Anda tidak mengirimkan suatu nilai ke fungsi di server, dan hasil eksekusi dari fungsi jika tidak terjadi kesalahan. if ($client->fault) { echo "FAULT : <p>Code : {$client->faultcode}<br/>"; echo "string : {$client->faultstring}"; } else { echo $response; }

4. Tahapan selanjutnya adalah mengakses webservice dari browser di client : http://localhost/maswi/praktikum/modul2/client1.php?nama=Selamat Datang

5. Selamat Mencoba !!!!!! D. INFRASTRUKTUR JARINGAN KOMPUTER (REAL)

Komp. Webservice

(Apache Server)

Komp. Web Server

(Apache Server)

Komp. Client

(dengan Browser)

Komp. Client

(dengan Browser)

Page 4: Web Service

Laboratorium Distributed System

Informatika Universitas Sebelas Maret

WHT 2006 4

Gambar 2.1 : Topologi jaringan komputer untuk webservice E. LATIHAN 1. Dengan cara yang sama buatlah suatu webservice yang berisi fungsi yang digunakan

untuk menghitung kuadrat suatu nilai integer yang dikirim dari client. 2. Buatlah suatu webservice yang berisi fungsi untuk menghitung penjumlahan dua buah

nilai integer.