Sunday, May 9, 2010

Mengenal Web Service bagian I

Dua postingan sebelumnya saya tulis menggunakan Weblog Client yang dapat mensupport XML-RPC Client dari Wordpress (WP). Kebanyakan pengguna WP masih menggunakan administrasi web-based hanya untuk sekedar menulis post / page. Jika Anda yang memiliki kebanyakan ide (tapi sulit koneksi inet) yang jika dituangkan dalam tulisan cukup panjang, coba deh gunakan Weblog Client untuk menyimpan draft tulisan Anda secara lokal, dan publish sekiranya sudah matang. Lalu apa sih sebenarnya XML-RPC itu? Apakah termasuk ke dalam Web Services? Lalu apa untungnya Web Services itu sendiri bagi end-user dan developer?

Saya akan bahas secara singkat 3 teknologi terkait Web Services, yaitu XML-RPC, SOAP dan REST-based Web Services. Nah yang terakhir (REST - Respresentational State Transfer) itu, bukanlah spesifikasi standard seperti halnya XML-RPC dan SOAP, tapi desain dan style arsitektural dari arsitektur software berbasis network. Kita akan lihat nantinya seperti apa implementasi REST.
Rangkuman apa itu Web Services akan saya bahas di bagian kedua, setelah selesai penjelasan Web Services saya akan memberikan contoh implementasi Web Services (XML-RPC, SOAP dan REST-based) menggunakan PHP.

OK, kita mulai dengan XML-RPC (XML Remote Procudure Calling). XML-RPC merupakan spesifikasi dan kumpulan implementasi yang membuat software yang berjalan pada sistem operasi berbeda, lingkungan berbeda dapat membuat pemanggilan prosedur melalui internet. XML-RPC menggunakan HTTP sebagai media transportasi dan XML (eXtensible Markup Language) sebagai encoding pesan. XML-RPC didesain sesedarhana mungkin dalam mentransmit struktur data yang kompleks, memprosesnya dan mengembalikannya. Struktur data yang menggunakan encoding XML merupakan badan request HTTP-POST dari client. Cara paling mudah memahami XML-RPC adalah dengan melihat proses mulai dari request ke server, lalu bagaimana server menerjemahkan pesan (parsing) berformat XML, bagaimana server mendapatkan pesan client yang sudah di parsing ternyata.. katakanlah merequest prosedur jumlah(x, y), kemudian server mengeksekusi prosedur jumlah(x, y) dan hasilnya (misal hasil jumlah x + y) di encode XML lalu di kembalikan ke client sebagai response dari request-nya. Saya mengasumsikan bahwa Anda mengenal XML (Rekomendasi XML) dan spesifikasi HTTP (RFC2616) . Berikut contoh request XML-RPC:

Daftar referensi:

  • XML-RPC Home Page
  • XML-RPC Specification
  • The Incutio XML-RPC Library for PHP

No comments:

Post a Comment