BAB I PENDAHULUAN 1.1
Latar Belakang HTTP adalah salah satu protokol paling populer di dunia internet. Dengan
semakin banyaknya aplikasi multimedia yang berjalan di atas HTTP, banyak protokol yang dikembangkan dan dijalankan diatasnya seperti: SOAP, RMI over HTTP, dan salah satunya adalah JSON-RPC. JSON-RPC adalah suatu protokol di level aplikasi, yang menyediakan mekanisme komunikasi antar proses, mengijinkan suatu program yang berjalan pada suatu komputer menjalankan prosedur atau metode pada sebuah sistem terpisah. Protokol JSON-RPC sering digunakan sebagai Data Interchage Format atau Continuation Passing Style (CPS) pada Inter Process Communication (IPC) sistem lintas platform. Pada kasus dimana aplikasi OLTP (On-Line Transaction Protocol) dijalankan diatas HTTP menggunakan protokol standar, sering muncul beberapa kendala seperti: 9 Alokasi bandwidth dan spesifikasi hardware yang disediakan serta jumlah user merupakan parameter yang sulit untuk di rekayasa dari sudut non-teknis ketika kita berbicara masalah performansi. 9 Kebutuhan protokol standar ketika kita menginginkan adanya komunikasi antar aplikasi tanpa keluar dari permasalahan pertama. Pada dokumen Tugas Akhir ini, penulis mencoba menawarkan solusi untuk permasalahan diatas, dengan melakukan pendekatan menggunakan JSONRPC sebagai protokol yang dijalankan diatas web 2.0. Pilihan menggunakan JSON-RPC sebagai protokol adalah formatnya yang sederhana, open-standard, dan sudah banyak digunakan sebagai data service. Pemilihan web 2.0 karena kemampuannya untuk melakukan background request secara secara sinkron atau asinkron.
1.2
Perumusan Masalah Permasalahan yang dijadikan objek penelitian tugas akhir ini adalah
implementasi JSON-RPC pada aplikasi OLTP berbasis web. Protokol ini akan digunakan sebagai media komunikasi antara client dengan server menggantikan protokol standar HTTP. 1. Implementasi protokol mempertimbangkan beberapa hal seperti: aktifitas didominasi oleh operasi CRUD (Create Read Update Delete) dengan intensitas tinggi. 2. Implementasi mempertimbangkan jumlah user, karakteristik aplikasi yang dibangun, infrastruktur jaringan, spesifikasi hardware serta software yang ada. Dari penelitian ini diharapkan dapat diketahui bagaimana performansi protokol JSON-RPC dibandingkan dengan protokol standar dalam penyelesaian permasalahan di atas. 1.3
Pembatasan Masalah Untuk menghindari meluasnya materi pembahasan tugas akhir ini, maka
penulis membatasi permasalahan dalam tugas akhir ini hanya mencakup hal-hal berikut: 1. Aplikasi akan dibangun dengan menggunakan PHP 5.2.4.4 sebagai web scripting language, Apache 2.2.6.0 sebagai web server, MySQL sebagai database management system, dan Windows XP Professional SP2 sebagai operating system. 2. Spesifikasi protokol yang akan di implementasikan adalah JSONRPC 1.1 Working Draft 7 Agustus 2006 menggunakan bahasa pemrograman javascript1.2 pada sisi client dan PHP5 pada sisi server. 3. Pembahasan masalah yang menjadi fokus utama adalah pada pemodelan proses request-response pada client dan server menggunakan protokol JSON-RPC serta strategi dan skenario
implementasi protokol JSON-RPC menggantikan protokol standar HTTP pada browser. 4. Parameter yang digunakan untuk pengujian sistem adalah payload (sebuah text dalam format json yang dilewatkan di atas HTTP). 5. Hasil keluaran sistem yang akan dianalisa adalah response-output (bytes) serta response-time (seconds) dibandingkan dengan protokol standar. 6. Implementasi yang penulis tawarkan di tugas akhir ini efektif untuk aplikasi OLTP berbasis web. Tanpa mengubah konsep, untuk menyesuaikan dengan kebutuhan, penulis melakukan penambahan dan pengurangan pada beberapa poin spesifikasi protokol JSON-RPC. 1.4
Tujuan Tujuan atau hasil akhir yang ingin dicapai dari tugas akhir ini adalah: 1. Menganalisa dan mengimplementasikan protokol JSON-RPC di atas web 2.0 untuk kebutuhan aplikasi OLTP. 2. Mengimplementasikan DOM Abtraction Layer untuk menangani GUI rendering, hooking request secara independen menggantikan protokol standar. 3. Membandingkan performansi payload, output dan response-time antara aplikasi yang berjalan menggunakan protokol standar dengan yang menggunakan protokol JSON-RPC.
1.5
Metode Penyelesaian Masalah Penelitian pada tugas akhir ini dilakukan melalui beberapa cara: 1. Studi literatur atau tinjauan pustaka mengenai: 9 Protokol HTTP. 9 Protokol RPC dan variansinya. 9 Spesifikasi protokol JSON-RPC versi 1.1 Working Draft 7 Agustus 2006.
9 Web 2.0. 9 Referensi yang mendukung proses analisa dan implementasi. 2. Pemodelan proses request-response pada client dan server. 3. Studi perancangan perangkat lunak. Bertujuan untuk menentukan metodologi pengembangan perangkat lunak yang akan digunakan dalam penyelesaian tugas akhir ini. 4. Pembuatan
perangkat
lunak.
Bertujuan
untuk
melakukan
implementasi metode pada perangkat lunak sesuai dengan analisa perancangan yang telah dilakukan. 5. Strategi dan skenario implementasi yang akan dilakukan pada server localhost. 6. Pengujian perangkat lunak dan melakukan analisa hasil pengujian. 7. Pengambilan kesimpulan dan penyusunan laporan. 1.6
Sistematika Penulisan Tugas Akhir BAB I
PENDAHULUAN (INTRODUCTION) Berisi latar belakang, perumusan masalah, tujuan pembahasan, metode penelitian dan sistematika penulisan.
BAB II
KAJIAN TEORI (FUNDAMENTAL THEORIES) Penjelasan mengenai JSON-RPC, primitive-type, grammar, pemodelan grammar, HTTP header, procedure call parity.
BAB III
ANALISIS DAN PERANCANGAN SISTEM (SYSTEM ANALYSIS AND DESIGN) Membahas tentang desain awal sistem dengan metode TestDriven Development (TDD).
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM (SYSTEM IMPLEMENTATION AND TESTING) Menyajikan implementasi dan hasil pengujian protokol JSONRPC.
BAB V
KESIMPULAN DAN SARAN (CONCLUSIONS AND SUGGESTIONS) Berisi kesimpulan dan saran pengembangan.