Senin, 11 Januari 2010

Pengujian Penggunaan Simple Object Access Protocol (SOAP) pada Remote Procedure Call (RPC)

Pengolahan terdistribusi antar Web dikenal dengan nama Web services. Web services berupa suatu objek di Web yang diakses dengan HTTP, menerima masukan dalam bentuk XML dan memberikan keluaran dalam bentuk XML. Web services dapat diakses oleh suatu Web atau oleh aplikasi yang mampu mengirim request dan menerima response melalui HTTP. Web services menggunakan konsep RPC (remote procedure call) dengan format data yang dikirim adalah XML. Format data XML yang dipertukarkan antara web services dengan Web atau aplikasi pengaksesnya adalah SOAP (Simple Object Access Protocol).
Pada penelitian ini dilakukan :
• Perbandingan penggunaan aplikasi RPC dengan teknologi DCOM (Distributed Component Object Model)
• Menemukan kelebihan serta kekurangan dari SOAP.
• Pembuatan aplikasi dengan menitikberatkan pada penggunaan SOAP di aplikasi RPC (Remote Procedure Call)

Bentuk RPC disini berupa COM (Component Object Model), dimana COM tersebut merupakan versi Object-Oriented dari DCE RPC(Distributed Com¬puting Environtment Remote Procedure Call).
Aplikasi pertama yang dibuat adalah mengenai pemesanan barang elektronik. Client menginputkan data pesanannya kemudian data tersebut akan dikirimkan ke Sales server dan Manufacturing server. Kemudian, client akan menerima konfirmasi bahwa data telah diterima pada kedua server tersebut. Aplikasi kedua adalah perbandingan program kalkulasi dengan menggunakan DCOM dan SOAP¬WSDL.
Teori
Remote Procedure Call (RPC) [4]
Remote procedure call bertindak seperti pemang¬gilan pada prosedur biasa, tetapi bekerja melewati jaringan. Soket/penghubung penggunaan metode (method) pada jaringan adalah sistem pesan, dimana suatu proses menulis pesan kepada yang lain. Suatu proses menjalankan remote procedure call dengan memasukkan parameternya dan alamat pemanggil (return address) pada stack, dan mulai menjalankan awal prosedur. Prosedur tersebut bertanggung jawab pada pengaksesan dan penggunaan jaringan. Setelah eksekusi, prosedur akan kembali ke alamat pemanggil. Proses pemanggil akan dilanjutkan.
Ketika proses pemanggil (calling process) me¬manggil sebuah prosedur, aksi yang dikerjakan oleh prosedur tersebut tidak sama dengan kode yang ditulis, tetapi kode yang memulai komunikasi jaringan. Proses pemanggil (calling process) harus menyambung pada mesin yang dituju, mengirim semua parameternya, dan menunggu balasan, mengerjakan sesuatu pada stack dan hasil. Inilah yang terjadi pada client side stub. Sedangkan pada server side stub harus menunggu pesan untuk menjalankan suatu prosedur. server side stub harus membaca parameter, dan mengubahnya ke bentuk yang cocok untuk mengeksekusi suatu prosedur. Setelah eksekusi, server side stub harus mengirim hasilnya ke proses pemanggil. Lihat Gambar 1.


SOAP adalah protokol yang berisi sekumpulan aturan yang mengatur komunikasi antar komputer. Ide dasarnya adalah dua aplikasi, dengan tidak memperdulikan operating system, bahasa pemro¬graman, atau detil implementasi teknis yang lain, dapat menggunakan informasi secara bersama-sama dengan menggunakan pesan yang dikodekan dalam suatu cara dimana kedua aplikasi tersebut dapat mengerti. Pesan tersebut berupa data XML. Disini, SOAP berperan menyediakan standar cara untuk menyusun pesan XML tersebut. SOAP adalah XML, dengan kata lain, SOAP adalah aplikasi dari spesifikasi XML, dapat menggunakan standard XML seperti XML Schema dan XML Namespaces untuk pendefinisian dan fungsi/penggunaan.
Secara konseptual SOAP dapat dianggap sebagai DCOM versi XML. SOAP merupakan mekanisme lain yang memungkinkan penggunaan remote procedure call. SOAP bersifat netral platform, netral bahasa dan tidak bergantung pada suatu objek model. Sehingga SOAP-enabled distributed application dapat menjangkau beragam operating sistem, dimana terdiri dari objek yang berasal dari vendor yang berbeda, ditulis pada bahasa yang berbeda, dan didasarkan pada objek model yang berbeda.
SOAP Messages
Pesan SOAP berbentuk seperti sebuah envelope yang berisi header (optional) dan body (required), seperti ditunjukkan pada Gambar 2. Header berisi blok informasi yang berhubungan dengan bagaimana pesan tersebut diproses. Hal ini meliputi pe-routing¬an dan delivery setting, authentication atau authorization assertions, and transaction contexts. Body berisi pesan sebenarnya yang dikirim dan diproses. Semua yang dapat ditampilkan dengan sintaks XML dapat dimasukkan dalam pesan body.

Setiap elemen Envelope harus berisi tepat satu elemen Body. Elemen Body dapat berisi sebanyak mungkin child nodes yang diperlukan. Isi dari elemen Body adalah pesan. Elemen Body ditentukan dalam suatu cara dimana dapat berisi valid dan well-formed XML yang telah dibatasi oleh suatu namespace (qualified).
Jika sebuah Envelope berisi elemen Header, harus berisi tidak lebih dari satu, dan harus tampak pada first child dari Envelope, sebelum elemen Body. Header dapat berisi valid, well-formed, dan dibatasi dengan namespace XML dimana hendak dimasukkan oleh pencipta pesan SOAP.
Setiap elemen yang berada dalam Header disebut blok header. Tujuan dari blok header adalah untuk memberitahukan infomasi yang berhubungan dengan pemrosesan pesan SOAP.

Tidak ada komentar:

Posting Komentar