Sabtu, 16 April 2016



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 :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2jV5KCghv_zrNv8rE8yOfDjQUHzbbHOS-K5sST3pD3UrDIhyF7WOG0ZROI6K28U_HHr_SJzKuB4-j-ucnJbKD3fDy9_MhjerPa7Q-Va2ScMAWsXoCT6aK561HP2DdUkS4zq-yRvGmZqQ/s400/data.jpg

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 :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUqET54Ndh2XJsO-PPCY5DayFbhQgSrLJX0OVclLQrxNVWJ8mVRj_uSdOSfaX7bMTW9FtsKMhpF8PHXjyS9vROyDfq76mwfyxYcyZI-mdPBDeFgFLQOIbZD1Td9yw_UvLOZInaQmd5Riw/s400/tanjung+duren.jpg

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