BAB I
PENDAHULUAN
1. Latar
Belakang
Simple Object Access Protocol (SOAP) adalah sebuah
standarisasi dasar dari protokol komunikasi untuk saling bertukar informasi
terstruktur di antara aplikasi-aplikasi yang berjalan. SOAP adalah sebuah
aplikasi pesan XML yang sangat bergantung pada skema XML dan XML namespacesuntuk
mendifinisikannya. SOAP juga sangat bergantung dengan beberapa protokol layer lainnya
seperti HTTP, JMS, RPC untuk transmisi pesan.
SOAP sangat efektif untuk berbabagai macam aplikasi
multi tier untuk berkomunikasi lintas sistem operasi/platfrom yang berbeda
dengan teknologi dan bahasa pemrograman yang berbeda-beda pula.
SOAP menjadi sangat mudah diterima oleh berbagai
pihak – terutama oleh berbagai vendor TI – dikarenakan protokol ini
memanfaatkan berbagai teknologi yang sudah ada sebelumnya dan sudah banyak
digunakan. Misalnya untuk protokol transport, yang paling banyak digunakan
adalah HTTP, walaupun dimungkinkan untuk menggunakan protokol transport
lainnya. Sedangkan untuk format data atau message digunakan XML yang tidak
diragukan lagi manfaat dan perannya di dalam pertukaran data.
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.
BAB II
PEMBAHASAN
1. Pengertian
SOAP
SOAP (Simple
Object Access Protocol) adalah standar untuk bertukar pesan-pesan berbasis XML melalui jaringan
komputer atau sebuah jalan untuk program yang berjalan pada suatu sistem
operasi (OS) untuk berkomunikasi dengan program pada OS yang sama
maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data.
SOAP
menspesifikan secara jelas bagaimana cara untuk meng-encode header
HTTP dan file XML sehingga program pada suatu komputer
dapat memanggil program pada pada komputer lain dan mengirimkan informasi, dan
bagaimana program yang dipanggil memberikan tanggapan.
SOAP adalah protokol
ringan yang ditujukan untuk pertukaran informasi struktur pada lingkup
desentralisasi, dan terdistribusi. SOAP menggunakan teknologi XML utuk
mendefinisikan rangka kerja pemesanan terekstrensi di mana menyediakan
konstruksi pesan yang dapat dipertukarkan pada protokol berbeda. Rangka kerja
dirancang bebas dari model pemrograman dan spesifikasi implementasi semantik.
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 informasi header. 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.
Dengan demikian, tidaklah terlalu mengherankan bila kemudian SOAP dianggap
sebagai solusi penyelamat untuk mengatasi berbagai masalah yang dihadapi oleh
teknologi – teknologi pendahulunya.
Contoh Struktur utama dari SOAP
<xml version ="1.0">
<soap:Envelope xmlns: soap
="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3org/2001/12/soap-encoding">
<soap:Header>
....
</soap:Header>
<soap:body>
.......
<soap:vault>
...........
</soap:vault>
</soap:body>
</soap:envelope>
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.
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 dan sisi client. Sebagai contoh
sederhana dalam pengimplementasian sistem pembayaran mahasiswa yang akan di
kembangkan dalam project ini kita buat satu data base pada computer server
misal dalam data base kita buat sebagai berikut :
create table 'mhs'(
'nim' int (20),
'nama' varchar (50),
'alamat' varchar (100),
primary key ('nim')
)
Lalu masukan beberapa sample data sebagai isi dari data base seprti pada
gambar berikut :
Selanjutnya, script NuSOAP diletakkan di
server A. Script ini nanti diperlukan untuk melayani request yang dilakukan
oleh server B.
Script pada server nya seperti berikut :
<?php
require_once('nusoap.php');
$server = new soap_server;
// registrasi method 'search'
$server->register('search');
// detail method 'search' dengan parameter $key
function search($key)
{
// koneksi ke database
mysql_connect('localhost', 'root', '');
mysql_select_db('data_siswa');
// query pencarian data mahasiswa
$query = "SELECT * FROM mhs WHERE nim = '$key' OR nama LIKE '%$key%'
OR alamat LIKE '%$key%'";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
// menyimpan data hasil pencarian dalam array
$result[] = array('nim' => $data['nim'], 'nama' => $data['nama'],
'alamat' => $data['alamat']);
}
// mereturn array hasil pencarian
return $result;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA :
'';
$server->service($HTTP_RAW_POST_DATA);
?>
Lalu kita buat script interface nya pada aplikasi web nya seperti
berikut
<html>
<head>
<title>Contoh NuSOAP Web Service </title>
</head>
<body>
<!-- form pencarian data -->
<form method="post" action="test.php?op=search">
Keyword Pencarian <input type="text"
name="key"><input type="submit"
name="submit" value="Search">
</form>
<?php
// proses pencarian data
if (isset($_GET['op']))
{
if ($_GET['op'] == 'search')
{
require_once('lib/nusoap.php');
// baca keyword pencarian dari form
$key = $_POST['key'];
// instansiasi obyek untuk class nusoap client, arahkan URL ke script
server.php di server A
$client = new nusoap_client('http://localhost/nusoap/lib/server.php');
// proses call method 'search' dengan parameter key di script server.php
yang ada di server A
$result = $client->call('search', array('key' => $key));
// jika data hasil pencarian ($result) ada, maka tampilkan
if (is_array($result))
{
echo "<table border='1'>";
echo
"<tr><th>NIM</th><th>NAMA</th><th>ALAMAT</th></tr>";
foreach($result as $data)
{
echo
"<tr><td>".$data['nim']."</td><td>".$data['nama']."</td><td>".$data['alamat']."</td></tr>";
}
echo "</table>";
// menampilkan jumlah data hasil pencarian
echo "<p>Ditemukan ".count($result)." data terkait
kata kunci '".$key."'</p>";
}
else echo "<p>Data tidak ditemukan</p>";
}
}
?>
</body>
</html>
Maka proses yang akan terjadi ialah :
BAB III
PENUTUP
A.
Kesimpulan
SOAP
merupakan singkatan dari Simple Object Access Protocol, yaitu sebuah protocol
yang dibuat untuk digunakan dalam pertukaran informasi terstruktur dalam
implementasi dari sebuah web service dalam jaringan computer. SOAP erat
kaitannya dengan XML sebagai format message yang digunakan dalam berkomunikasi
dan biasanya bekerja berdasarkan protocol yang ada pada Application Layer, dan
berhubungan dengan HTTP dan SMTP untuk pertukaran informasi dan transmisinya.
Dan juga dapat dibaca oleh mata manusia karena terdapat fasilitas error detection
serta tidak memiliki masalah interoperabilitas antar OS namun memiliki
kekurangan yaitu kecepatan pemrosesan yang lebih lambat dan rumit.
Secara garis
besar dibangun berdasarkan konsep XML, karena lebih banyak digunakan oleh
perusahaan besar dan banyak digunakan pada pengembangan aplikasi-aplikasi
berbasis open source.


Tidak ada komentar:
Posting Komentar