Selasa, 04 Juni 2013

Contoh Kasus WebService

Membuat web service yang digunakan untuk
konversi mata uang dollar ke rupiah
Function kurs($dollar){
       return 9500*$dollar
}

   fungsi yang telah dibuat didaftarkan menjadi method dalam web service (menggunakan nuSOAP)
Step-by-Step!
Require(“nusoap.php”);->disesuaikan dengan lokasi library nuSOAP
    selanjutnya buat clas soap_server
    $server=new soap_server();
    langkah berikutnya memberikan nama dan namespace kepada web service untuk ditambahkan sebagai informasi dalam dokumen WSDL
    $server->configureWSDL(“kurs”,”urn:kursService”);
Namespace adalah sebuah nama unik yang diberikan kepada setiap web service. Karena dalam penerapannya ada kemungkinan bahwa ws-ws yang ada dapat saling berinteraksi dan memerlukan struktur data atau bahkan fungsi dari ws lain. Namespace dapat digunakan untuk membedakan jika ada nama struktur data atau fungsi yang sama diantara ws-ws tersebut.
Langkah berikutnya:
Daftarkan fungsi yang telah dibuat sebelumnya ke dalam web service agar fungsi ini menjadi method dari web service. Bentuk:
   register(nama_fungsi string, parameter_input_array, parameter_output array,     
                 namespace string, soapaction string)
  script:
     $server->register(“kurs”, array(“dollar”=>”xsd:int”), array(“return”=>”xsd:long”), “urn:kursService”,”urn:kursService#kurs”);
     Langkah terakhir:
Melakukan pengecekan apakah variabel $HTTP_RAW_POST_DATA sudah terbentuk. Jika belum maka isilah variabel tersebut dengan string kosong.
Isi variabel $HTTP_RAW_POST_DATA kemudian akan diberikan kepada web service untuk diproses.
$HTTP_RAW_POST_DATA=isset($ $HTTP_RAW_POST_DATA)? $HTTP_RAW_POST_DATA :’ ’;
$server->service($HTTP_RAW_POST_DATA);

Koding Lengkapnya..
<?
function kurs($dollar){
return 9500 * $dollar;
}
require ("nusoap.php");

$server = new soap_server();
$server -> configureWSDL("Kurs","urn:kursService");
$server -> register("kurs",array("dollar"=>"xsd:int"),array("return"=>"xsd:long"),
"urn:kursService","urn:kursService#kurs");
$HTTP_RAW_POST_DATA=isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA:"";
$server->service($HTTP_RAW_POST_DATA);
?>
Pengertian nusoap:NuSOAP adalah sebuah kumpulan class-class PHP yang memungkinkan  user untuk mengirim dan menerima pesan SOAP melalui protokol HTTP.

Sabtu, 01 Juni 2013

Web Service

Web Services : Merupakan istilah yang mengacu pada aplikasi virtual atau terdistribusi atau proses yang menggunakan internet untuk menghubungkan aktivitas atau komponen perangkat lunak.
Web Service merupakan arsitektur komputasi yang terdistribusi. Arsitektur ini  bertujuan  untuk memungkinkan bermacam-macam aplikasi untuk saling komunikasi

Keuntungan yang didapat dalam menggunakan web service adalah semua aplikasi didunia dapat berkomunikasi satu dan lainnya . Komunikasi antar aplikasi ini tidak memiliki batasan tempat, sistem operasi, bahasa pemrograman, protokol dan lain sebagainya.

Untuk berkomunikasi dengan Web Service komputer klien akan
mengirimkan pesan SOAP yang Mengandung pemanggilan pada  sebuah
method beserta parameter yang di butuhkan (oleh method tersebut).
Sebagai tambahan, pesan SOAP dapat juga mengandung sejumlah item
Header yang menjelaskan kebutuhan klien lebih lanjut

arsitektur web service
Web service memiliki tiga entitas dalam arsitekturnya, yaitu:
1.  Service Requester (peminta layanan)
2.  Service Provider (penyedia layanan)
3.  Service Registry (daftar layanan)
Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.
Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layanan/service yang telah di-register.
Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.
operasi-operasi web service
Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu:
Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari registry.
Find: Service requestor mencari dan menemukan layanan yang dibutuhkan.
Bind: Service requestor setelah menemukan layanan yang dicarinya, kemudian melakukan binding ke service provider untuk melakukan interaksi dan mengakses layanan/service yang disediakan oleh service provider.
komponen utama web service
SOAP (Simple Object Access Protocol)
  SOAP merupakan spesifikasi yang mendefenisikan grammar XML untuk pesan yang akan dikirimkan dan juga jawaban dari pesan tersebut. Tujuan dari SOAP adalah untuk mendeskripsikan format sebuah pesan yang tidak bergantung pada perangkat keras dan perangkat lunak apapun, melainkan SOAP dapat membawa pesan dari sebuah platform ke platform lainnya tanpa adanya ambiguitas. SOAP biasanya terdiri dari dua bagian : header yang membawa instruksi pemprosesan dan body yang mengandung informasi yang ingin disampaikan.
Extensible Markup Language (XML)— Merupakan bahasa dimana semua web service dibangun. XML merupakan alat untuk membangun dokumen self-describing. Dalam XML kita dapat membuat sendiri tag-tag dan komponen grammar lainnya.Grammar-grammar ini di deskripsikan dalam skema XML (XML schema) yang menentukan tags yang di izinkan (untuk digunakan) dan hubungan antar element yang didefenisikan oleh tags tersebut.

Hypertext Transport Protocol (HTTP)
  Merupakan protokol yang dibangun untuk memfasilitasi pertukaran data dari browser ke web server dan sebaliknya. Web service menggunakan protokol ini untuk memindahkan pesan SOAP dan dokumen WSDL dari satu komputer ke komputer lainnya.
Web Services Description Language (WSDL)Merupakan spesifikasi yang menjelaskan sebuah perangkat lunak dalam kaitannya dengan pemanggilan method yang terdapat pada perangkat lunak tersebut. Method ini di deskripsikan dengan cara yang abstrak yang tidak bergantung pada bahasa pemrograman apa service tersebut di buat atau pada komputer dan sistem operasi apa ia berjalan.
Universal Discovery Description Integration (UDDI)UDDI menyediakan framework untuk mendeskripsikan dan menemukan web service yang tersedia di Web. UDDI menyediakan framework ini dengan menggunakan registri service berbasis web yang terdistribusi dan registri tersebut dapat diakses dengan menggunakan SOAP. Sederhanya UDDI merupakan mesin pencarian untuk web service. Semua penyedia web service menggunakan WSDL untuk mendeskripsikan aplikasi SOAP mereka. WSDL  ini kemudian di kirim ke pusat registri UDDI dan informasi ini dapat diakses oleh pencari web service.
membuat web service menggunakan PHP
Library-> nuSOAP
nuSOAP, merupakan library yang dibuat dengan bahasa PHP untuk mempermudah proses pembuatan dan juga pengaksesan web service dengan menggunakan bahasa PHP