Tugas Sistem Informasi Berbasis Web
Tugas Sistem Informasi Berbasis Web
Membangun Web Service
Membangun Web Service
Client dan Server dengan
Client dan Server dengan
Menggunakan
Menggunakan
NuSOAP Service
NuSOAP Service
N
Na
am
ma
a
:
: S
Siitti
i M
Me
elliis
ss
sa
a F
Fu
uttrrii
N
Niim
m
:
: 0
09
90
07
71
10
00
03
30
01
12
2
K
Ke
ella
as
s
:
: S
Siis
stte
em
m IIn
nffo
orrm
ma
as
si
i 6
6B
B
Fakultas Ilmu Komputer
Fakultas Ilmu Komputer
Universitas Sriwijaya
Tugas Sistem Informasi Berbasis Web
DAFTAR ISI
Daftar Isi……….2 Pendahuluan………3 Web Service……….……….. 3 XML…..……… 3SOAP dan NuSOAP………. 4
Tugas Sistem Informasi Berbasis Web
Membangun Web Service Client dan
Server dengan Menggunakan NuSOAP
Service
PENDAHULUANKonsep teknologi Web Service muncul untuk mendukung sistem terdistribusi yang berjalan pada infrastruktur yang berbeda. SOAP (Simple Object Application Protocol ) yang
merupakan kombinasi dari XML (eXtensible Markup Language) yang dikirimkan melalui HTTP ( HyperText Transport Protocol ).
Dengan adanya kombinasi antara XML dan HTTP, web service yang berbasiskan XML sangat mungkin untuk diimplementasikan sehingga menjanjikan banyak kemudahan dan perbaikan dalam mendukung integrasi berbagai platform system dan aplikasi, baik melalui infrastruktur intranet maupun internet/ekstranet.
WEB SERVICE
Web service merupakan salah satu sistem perangkat lunak yang
menginteroperabilitaskan berbagai sistem lainnya pada jaringan internet. Dengan adanyaweb service, sebuah sistemwebdapat berbagi informasi maupun fungsionalitas (remote
procedure call ) dari setiap sistem dalam hubungan server dan client .
Konsep utama web service adalah bagaimana suatu data/informasi yang ada bias 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. Kelemahanweb service pada umumnya terletak pada keamanan pertukaran data.
XML
XML merupakan dasar terbentuknya web service yang digunakan untuk
mendeskripsikan data. Pada level paling detail web service secara keseluruhan dibentuk diatas XML. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.
Tugas Sistem Informasi Berbasis Web
SOAP
SOAP singkatan dari Simple Object Access Protocol . SOAP adalah protokol untuk pertukaran informasi dengan desentralisasi dan terdistribusi. SOAP dibangun dengan
menggunakan protokol komunikasi HTTP. Karena HTTP didukung oleh semuabrowser 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.
SOAP Syntax Rules
· A SOAP message MUST be encoded using XML
· A SOAP message MUST use the SOAP Envelope namespace · A SOAP message MUST use the SOAP Encoding namespace
· A SOAP message must NOT contain a DTD reference
· A SOAP message must NOT contain XML Processing Instructions
Pesan SOAP
Sebuah pesan SOAP adalah sebuah dokumen XML yang berisi elemen-elemen berikut:
1. Envelope element yang mengidentifikasi dokumen XML sebagai sebuah pesan SOAP.
2. Elemen header yang berisi informasiheader . Elemen ini bersifat opsional.
3. Elemen body yang berisi panggilan dan merespon informasi.
4. Fault element yang berisi pesan kesalahan yang terjadi pada waktu proses. Elemen ini opsional.
Tugas Sistem Informasi Berbasis Web
Berikut struktur utama pesan SOAP:
NuSOAP adalah sebuah kumpulan class-class PHP yang memungkinkan user untuk mengirim dan menerima pesan SOAP melalui protokol HTTP. NuSOAP didistribusikan oleh NuSphere Corporation (http://www.nusphere.com) sebagai open source toolkit di bawah lisensi GNU LGPL.
Salah satu keuntungan dari NuSOAP adalah bahwa NuSOAP bukan merupakan PHP extension, sehingga penggunaannya tidak membutuhkan registrasi khusus ke Sistem Operasi maupun web server. NuSOAP ditulis dalam kode PHP murni sehingga semua developer web dapat mengunakan tool ini tanpa tergantung pada jenis web server yang digunakan.
NuSOAP merupakan toolkit web service berbasis komponen. NuSOAP memiliki sebuah class dasar yang menyediakan method seperti serialisasi variabel dan pemaketan SOAP-Envelope. Interaksi web service dilakukan dengan class client yang disebut dengan class “soapclient” dan class server yang disebut dengan class “soap_server”. Class-class ini mengizinkan user untuk melakukan proses pengiriman dan penerimaan pesan-pesan SOAP dengan bantuan beberapa class-class pendukung lainnya untuk melengkapi proses tersebut.
Operasi-operasi pengiriman pesan SOAP dijalankan dengan melibatkan paramater nama operasi yang diinginkan melalui method call(). Jika web service yang dituju menyediakan sebuah file WSDL, maka class “soapclient” akan mengacu langsung pada URL file WSDL tersebut dan menggunakan class “wsdl” untuk mem-parsing file WSDL dan mengekstrak seluruh datanya. Class “wsdl”
Tugas Sistem Informasi Berbasis Web
menyediakan method-method untuk mengekstrak data operasi dan per-binding.
Class “soapclient” menggunakan data dari file WSDL untuk menerjemahkan parameter-parameternya sekaligus menyusun SOAP envelope ketika user mengeksekusi suatu pemanggilan service. Ketika pemanggilan ini dieksekusi, class “soapclient” menggunakan “soap_transport_http” untuk mengirim pesan SOAP request dan menerima pesan SOAP response. Selanjutnya pesan SOAP response yang diterima di-parsing dengan menggunakan class “soap_parser” .
Berikut ini adalah diagram proses web service dengan menggunakan NuSOAP:
Gambar Diagram proses web service dengan NuSOAP
Jika webservice yang dituju menyediakan file WSDL, pemanggilan service dilakukan dengan mengeksekusi method call pada class “soapclient” dengan melibatkan parameter argumen yang disediakan oleh file WSDL.
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:
Tugas Sistem Informasi Berbasis Web
Dalam membangun sebuah sistem aplikasi berbasis web service, dibutuhkan dua komponen utama yaitu, server sebagai provider entity danclient sebagairequester entity . Sebagai contoh, di bawah ini terdapat dua listing program pada sisi server dan sisiclient . 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 diweb browser dari web service yang dijalankan antar dua file server.php dan client.php tersebut:
Tugas Sistem Informasi Berbasis Web
Berikut merupakan salah satu contoh dari pesan SOAP (SOAP Message):
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body SOAPENV: encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<taxCalc xmlns="urn:soap-whytewolf-ca:taxcalc" id="o0" SOAP-ENC:root="1"> <rate xmlns="" xsi:type="xsd:string">7</rate>
<sub xmlns="" xsi:type="xsd:string">856</sub> </taxCalc>
</SOAP-ENV:Body> </SOAP-ENV:Envelope>
Pengembangan Web Service Untuk Aplikasi Zodiak
Web Service yang akan dikembangkan menggunakan NuSOAP API ( Application Programming Interface). Anda dapat memperoleh API tersebut pada situs
http://deitrich.ganx4.com/nusoap/.
Menggunakan database MySQL 5 (http://www.mysql.com) sebagai media penyimpanan data zodiak. Sedangkan Web Server yang digunakan adalah Apache 2 (http://www.apache.org).
Tugas Sistem Informasi Berbasis Web
Sebelum menulis kode program untuk aplikasi server, terlebih dahulu Anda siapkan database yang akan digunakan, yaitu data mengenai zodiak.
mysql> CREATE DATABASE zodiak;
mysql> CREATE TABLE ramalan (nama_zodiak VARCHAR(20) PRIMARY KEY, tanggal VARCHAR(30) NOT NULL, ramalan VARCHAR(255) NOT NULL, keuangan
VARCHAR(255)
NOT NULL, kesehatan VARCHAR(255) NOT NULL, angka_keberuntungan INT NOT NULL);
2. Menulis kode program untuk aplikasi server
Setelah Anda membuat database ‘zodiak’, langkah selanjutnya yaitu membuat kode program untuk
aplikasi server dari Web Service. <?
require_once('nusoap.php'); $ns = "http://localhost:8084/"; $server = new soap_server;
$server->configureWSDL('RamalanZodiak', $ns); $server->wsdl->schemaTargetNamespace = $ns;
$server->register('RamalanZodiak', array('nama_zodiak' => 'xsd:string'), array('return'=>'xsd:string'), $ns);
function RamalanZodiak($nama_zodiak) { if (!$nama_zodiak) {
return new soap_fault('Client', '', 'Harus ada nilainya!', ''); }
if ($conn = mysql_connect("host", "user", "password")) { if ($db = mysql_select_db("zodiak")) {
$result = mysql_query("SELECT * FROM ramalan WHERE nama_zodiak = '$nama_zodiak'");
while ($row = mysql_fetch_array($result)) { $zodiak = $row["nama_zodiak"];
$tanggal = $row["tanggal"]; $ramalan = $row["ramalan"];
Tugas Sistem Informasi Berbasis Web
$keuangan = $row["keuangan"]; $kesehatan = $row["kesehatan"]; $angka_keberuntungan = $row["angka_keberuntungan"]; } } else {return new soap_fault('Database Server', '', 'Koneksi ke database gagal!', '');
}
} else {
return new soap_fault('Database Server', '', 'Koneksi ke database gagal!', '');
}
return "<b>Zodiak: </b>$zodiak<br> <b>Tanggal: </b>$tanggal<br>
<b>Ramalan: </b>$ramalan<br> <b>Keuangan: </b>$keuangan<br> <b>Kesehatan: </b>$kesehatan<br>
<b>Angka Keberuntungan: </b>$angka_keberuntungan"; }
$server->service($HTTP_RAW_POST_DATA); exit();
?>
Untuk memastikan apakah aplikasi server yang telah dibangun dapat berjalan dengan baik atau tidak, ada baiknya kalau Anda melakukan pengetesan terlebih dahulu sebelum Anda menulis kode program untuk aplikasiclient dari Web Service.
Tugas Sistem Informasi Berbasis Web
Gambar 1. AplikasiServer dari Web Service Zodiak
Jika pengetesan yang Anda lakukan berhasil, maka padabrowser Anda akan tampil seperti gambar di atas. Anda dapat melihat deskripsi dari Web Service yang Anda bangun dengan memilih menu WSDL pada bagian kiri atas. Tampilan dari deskripsi Web Service Zodiak adalah sebagai berikut:
Tugas Sistem Informasi Berbasis Web
Gambar 2.WSDL dari Web Service Zodiak
3. Menulis kode program untuk aplikasi client
Langkah berikutnya adalah menulis kode program untuk aplikasiclient . Aplikasi client akan melakukan permintaan layanan pada server Web Service, dan akan menerima nilai yang dikembalikan oleh server Web Service.
<?
require_once('nusoap.php');
$param = array('nama_zodiak' => $nama_zodiak); $client = new
soapclient('http://localhost:8084/secangkirkopipanas/zodiak_webservice/serv er.php');
$response = $client->call('RamalanZodiak', $param); if ($client->fault) {
echo "FAULT:<br>";
echo "Code: { $client->faultcode }<br>"; echo "String: { $client->faultstring }";
Tugas Sistem Informasi Berbasis Web
} else { echo $response; } $client=new soapclient($wsdl, 'wsdl'); $wsdl="http://localhost:8084/secangkirkopipanas/zodiak_webservice/server.ph p?wsdl";echo $response = $client->call('RamalanZodiak', $param); ?>
Untuk memastikan apakah aplikasiclient yang telah dibangun dapat berjalan dengan baik atau tidak,lakukan pengetesan pada aplikasiclient . URL dari aplikasiclient ditambahkan parameter ‘nama_zodiak’.
http://localhost:8084/secangkirkopipanas/zodiak_webservice/client.php?nama_zodiak=libra Jika berhasil, maka Anda akan mendapat tampilanbrowser seperti gambar berikut:
Gambar 3. AplikasiClient dari Web Service Zodiak
Aplikasi zodiak menggunakan PHP Web Service yang baru saja Anda bangun, dapat dikembangkan
sesuai dengan kebutuhan Anda. Selain itu, Anda juga dapat mengkolaborasikan Web Service zodiak ini dengan aplikasi padamobile phone menggunakan J2ME atau dengan aplikasi pada PDA menggunakan Microsoft .NET.
Tugas Sistem Informasi Berbasis Web
DAFTAR PUSTAKA
Haryanto, Robertus Lilik. 2006. Aplikasi Zodiak Menggunakan PHP Web Service. Kuliah Umum IlmuKomputer.Com