Tutorial : Memanfaatkan Webservices dalam aplikasi web

Sumber : http://www.ecliptics.com/images/WebServices.jpg

Web services adalah layanan yang dapat mengintegrasikan aplikasi dari berbagai platform. Dengan web service, aplikasi-aplikasi yang sudah dibuat dapat dikembangkan lagi oleh pihak sendiri maupun pihak lain yang ingin memanaatkan aplikasi kita.Contoh penggunaannya adalah untuk mengambil data tiket pesawat , mengambil layanan perkiraan cuaca, konversi mata uang dan sebagainya. Teknologi standard yang digunakan silahkan Anda cari tahu tentang WSDL, SOAP, UDDI, RDF.

Saya ambil contoh adalah mengambil layanan konversi mata uang. Misalkan aplikasi kita menginginkan fitur konversi mata uang, tidak mungkin kita membuat table konversi sendiri, dikarenakan tiap hari nilai pertukaran mata uang akan berubah-ubah,apabila kita buat sendiri data dimungkinkan tidak valid. Untuk mengatasi masalah tersebut, kita dapat mengambil webservice nilai konversi mata uang dari penyedia webservice untuk layanan tersebut. Misalnya saja bank, dan sejenisnya.

Contoh dalam artikel ini adalah memanfaatkan webservice sederhana untuk konversi suhu. Alamat web service yang digunakan adalah http://www.w3schools.com/webservices/tempconvert.asmx. Silahkan dibaca deskripsinya pada halaman tersebut. Bahasa yang saya gunakan adalah bahasa pemrograman PHP.

Langkah pertama adalah mendefinisikan alamat dari webservice yang digunakan dengan script sebagai berikut

<?php
$wsdl = "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL";
$client = new SoapClient($wsdl);

Kemudian langkah selanjutnya adalah menuliskan parameter yang akan dikirim. Dalam hal ini adalah suhunya. Untuk melihat daftar parameter dan namanya bisa dilihat pada halaman salah satu fungsi yang disediakan. Misalnya kita akan mengubah dari celcius ke farenheit, berarti fungsi yang digunakan adalah CelsiusToFahrenheit yang dapat kita lihat penjelasannya pada halaman http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit. Pada halaman tersebut terlihat parameter dikirim dalam bentuk

  <Celsius>string</Celsius>

Sehingga kita tambahkan script kita dengan

$suhu = "100";
$parameters= array("Celsius"=>$suhu);

Selanjutnya adalah memanggil fungsi konversi yaitu CelsiusToFahrenheit, tambahakan pada baris selanjutnya

$values = $client->CelsiusToFahrenheit($parameters);

Sampai di sini, script bisa dijalankan, tetapi belum nampak hasilnya. Jika ingin tampil hasilnya pada baris selanjutnya ditambahkan

var_dump($values)

dari hasil var_dump, terlihat hasilnya berbentuk object. Untuk menampilkan hasilnya saja dalam bentuk string ubah atau tambahkan menjadi

echo $values->CelsiusToFahrenheitResult;

maka akan tampil nilai hasil konversi suhu 100 derajat Celcius yaitu bernilai 212 derajat Farenheit.
Script lengkapnya adalah sebagai berikut

<?php
$wsdl = "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL";
$client = new SoapClient($wsdl);
$suhu = "100";
$parameters= array("Celsius"=>$suhu);
$values = $client->CelsiusToFahrenheit($parameters);
echo $values->CelsiusToFahrenheitResult;

NB : Jangan lupa untuk mengaktifkan ekstensi extension=soap.so / soap.dll pada file php.ini