Membangun Web Service Open Source dengan SOAP

Apa sich teknologi web service itu? 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 itu dengan meletakkan fungsi/method itu pada aplikasi kita. 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.

Simple Object Access Protocol (SOAP)
Konsep Dasar 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 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.

Berikut struktur utama pesan SOAP:

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.

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. Berikut contoh implementasi NuSOAP pada sisi server:

Kode Program File server.php

1
2
3
4
5
6
7
8
9
    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);
    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

1
2
3
4
    require_once(‘nusoap.php’);
    $client = new soapclient(’http://localhost/soap/server.php’);
    $result = $client->call(’hello’, array(’name’ => $_GET['name']));
    echo $result;
    require_once(‘nusoap.php’);
    $client = new soapclient(’http://localhost/soap/server.php’);
    $result = $client->call(’hello’, array(’name’ => $_GET['name']));
    echo $result;

Related Posts:

  • PHP WebService Programming with NuSOAP Using WSDL
    Sekedar referensi untuk WebService dan implementasi webservice di PHP itu baca dan gunakan NuSoap bisa download di : http://dietrich.ganx4.com/nusoap/Trus sebelum mencoba, baca dulu refernsi ini ...
  • Add Expires Headers to WordPress
    This article have explained how you can add expiry header to your image, javascript and css files to speed up your site when loading.Adding expires headers do not affect the site load time for a f...
  • Access to VPS via SSH
    How to access the VPS server via SSH? it will arise when we use the VPS for the first time. The way to install a lot of services and scripts involves accessing your VPSserver via SSH (Secure SHell). ...
  • Multiple (Multi-dimensional) Array in NuSoap
    NuSoap - WSDL untuk data array, bagaimana caranya? mengirim variabel output array kepada aplikasi client. syntax xsd:array tidak ada. Ini contoh aplikasi sederhana untuk menampilkan data mahasiswa dar...

Tags: , , , ,

19.Oct.08 PHP, Web Service


You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.

Reader's Comments

  1. sting | November 19th, 2008 at 1:31 am

    kk terima kasih telah posting article tentang SOAP!
    saya tertolong sekali dengan article anda

    terus di update blog nya dengan article yang berbobot dan bermanfaat :D

  2. yan | August 7th, 2009 at 1:46 pm

    Bagaimana cara membuat aplikasi web service untuk komunikasi???
    kasi jurnal2nya y/

  3. kudo | April 8th, 2011 at 11:14 am

    nice share… klo bs sklian cth yg lebih complex … :D trimms

Leave a Comment

:)