Home » » Membangun Aplikasi Terdistribusi Dengan Memanfaatkan Web Service SOAP

Membangun Aplikasi Terdistribusi Dengan Memanfaatkan Web Service SOAP

Written By Unknown on Kamis, 09 Mei 2013 | 19.35


Teknologi Web Service menwarkan kemudahan dalam menjembatani informasi, tanpa mempermasalahkan perbedaan teknologi yang diterapkan oleh masing-masing sumber, perbedaan database dan perbedaan bahasa pemrograman misalnya, semua dapat berkomunikasi melalui teknologi Web Service, contoh lain dalam penerapan teknologi ini misalkan dalam ruang lingkup universitas, dimana dalam sebuah lembaga universitas mempunyai Sistem Informasi yang diantaranya memiliki sub sistem, saya ambil 2 sub yaitu Sistem Akademik dan Keuangan, untuk sistem akademik menggunakan database MySQL dan sistem Keuangan menggunakan database PostgreSQL, untuk sistem keuangan membutuhkan data mahasiswa dari sistem akademik untuk di olah menjadi transaksi keuangan.
Web service merupakan Big Thing berikutnya dari pengembangan software. Web service adalah turunan berikutnya dari aplikasi web. ia berupa aplikasi modular yang dapat dipublikasikan, diletakan dan dibangkitkan antar web. Web service dapat juga diibaratkan sebagai pustaka yang menyediakan layanan informasi ke aplikasii lain antar web.
Era baru dari generasi WEB 2.0 sedang marak-marak nya melakukan pertukaran informasi tanpa batasan melalui media internet, namun pada prinsipnya Web Service SOAP lahir di pertengahan menjelang era generasi WEB 2.0, SOAP yang merupakan kepanjangan dari Simple Object Access Protocol yang dapat melakukan pertkaran informasi antar web dengan menggunakan document XML yang berisi element berikut:
  • Envelope menyatakan bahwa dokumen XML sebagai pesan SOAP.
  • Header yang berisi informasi mengenai header.
  • Body berisi panggilan dan respon untuk sebuah informasi
  • Fault Element dimana berisi kesalahan yang terjadi pada waktu proses
Disamping Web Service SOAP, saat ini ada jenis Web Service REST yang tidak kalah menariknya. REST sendiri kepanjangan dari Representational State Transfer yang mengandalkan protocol http sebagai komunikasinya yang menggunakan metode GET, POST, PUT dan DELETE dan mengandalkan parameter sebagai media penampungan data pesannya, REST tidak se kompleks SOAP, dan SOAP sendiri lebih case sensitif dibanding REST, ketika kita salah menjabarkan aturan tag yg digunakan SOAP maka data tidak dapat dikirim alias error, walaupun REST memiliki arsitektur sederhana dibandingkan dengan SOAP namun kepopulerannya dapat di acungi jempol, bagaimana tidak situs-situs raksasa seperti Google, Facebook dan Twitter mengandalkan REST untuk menyediakan informasi kepada publik, seperti yang kita kenal dengan facebook connect, twitter connect atau google connect dll. lantas bagaimana dengan kepopuleran SOAP? SOAP tidak kalah menarik karena mode pengiriman SOAP dapat dikatakan lebih unggul dibandingkan REST, namun masing – masing punya kelebihannya.
Sebelum kita implementasi sederhana menggunakan SOAP ada baiknya mengenal apa itu XML  walaupun tidak hanya itu pembahasan mengenai web service, namun saya coba mengupas komponen penting dari web service ini.
XML merupaan kepanjangan dari eXtensible Markup Language dimana XML sanggup  untuk melakukan pertukaran data antar platform. XML bukanlah HTML namun ada kesamaan dari kedua bahasa tersebut yaitu sama-sama menggunakan tag, XML memiliki intelegensi yang dapat menangani berbagai level kompleksitas data. yaitu dapat memarkup bertingkat – tingkat dengan struktur tag bebas, berikut contoh sederhana dari XML :
Melalui penjelasan sederhana diatas sekarang kita coba untuk implementasi Web Service dengan SOAP sederhana, saya mencoba menjelaskan untuk ruang lingkup universitas dengan melakukan permintaan data mahasiswa dari sub sistem keuangan ke sub sistem akademik, saya berasumsi bahwa kedua sub sistem ini mempunyai database yang berbeda, berikut asumsi untuk required dari kedua sub sistem yang dimaksud.
Sub Sistem Aplikasi Akademik
  • Server Name : Server_1
  • IP Address : 192.168.1.1
  • Database : PostgreeSQL
  • Programming Language : PHP
  • Web Service : SOAP
Sub Sistem Aplikasi Keuangan
  • Server Name ; Server_2
  • IP Address : 192.168.1.2
  • Database : MySQL
  • Programming Language : PHP
  • Web Service : SOAP
Buat database dengan nama db_akademik pada PostgreSQL kemudian buat table
Kemudian buat database db_keuangan pada MySQL kemudian buat 2 tabel seperti berikut :
Oke step terakhir membuat script untuk web service yang berfungsi untuk mengambil query dari Server 1 untuk digunakan di Server 2, sebagai contoh beri nama file dengan mahasiswa_service.php
Kemudian buat script untuk request query di server 2 dan beri nama dengan request.php, berikut scriptnya :
';
        $response = $client->call('get_list_mahasiswa', array('name' => $_POST['name']));
        if ($client->fault)
        {
            echo '

Fault

'
;
            print_r($response);
            echo '
';
        }
        else
        {
            $err = $client->getError();
            if ($err)
            {
                echo '

Error

'
. $err . '
';
            }
            else
            {
                foreach ($response as $mhs)
                {
                    echo '
NIM : '
. $mhs['nim'] . '
'
;
                    echo 'Nama : ' . $mhs['name'] . '
'
;
                    $sql = mysql_query("SELECT ms.nama_tunggakan AS tgk, tr.nominal AS nom FROM ms_tunggakan AS ms
                                        JOIN tr_tunggakan AS tr ON ms.id_tunggakan=tr.id_tunggakan
                                        WHERE tr.nim='$mhs[nim]'") or die (mysql_error());
                    echo "
                                
                                    
Tunggakan
                                    
Nominal
                                
";
                    while ($data = mysql_fetch_array($sql))
                    {
                        echo '
                            
                                
'
. $data['tgk'] .'
                                
'
. number_format($data['nom']) .'
                            
                        ';
                    }
                    echo '
';
                }
            }
        }
    }
    catch(SoapFault $ex)
    {
        echo 'Error: ';
        if ($ex->getMessage() != '')
        {
            echo $ex->getMessage();
        }
        else
        {
            echo $ex . "\n";
        }
    }
}
?>
Jalankan script di server 2 dan lakukan percobaan untuk request data dari server 1, berikut hasilnya :
sss2
Dapat dilihat web service memang sangat di butuhkan dalam ruang lingkup bisnis, contoh sederhana diatas adalah sebagian dalam penerapan web service di ruang linkup pendidikan, contoh lain lagi adalah Integrasi dengan beberapa bank untuk Gateway Pembayaran yang dikenal dengan KlikPay dan diterapkan pada sub sistem e-commerce, anda dapat menerapkan ini walaupun beda bahasa sekalipun JAVA dengan PHP misalnya, hmmmm menarik bukan ? :)
Share this article :
 
Support : support@masterfreelance.com | +62 - 857 - 1061 - 2210 | 327E8DA0
Copyright © 2013. MasterFreelance Blog - All Rights Reserved
Jl. Satria 5 No 27 - 28
Bojong Nangka , Kelapa Dua - Tangerang
15821, Banten - Indonesia