ISBN No.
Abstrak
Transaksi realtime mengandalkan pada teknologi komputasi terdistribusi antara lain RPC
(Remote Procedure Calls), RMI (Remote Method Invocation), DCOM (Distributed Component Object
Model), dan CORBA (Common Object Request Broker Architecture). Dasar teknologi tersebut bersifat
client-server yang dedicated antara client dan server nya sehingga mengalami hambatan dalam cross
platfrom antara teknologi satu dengan lainnya. Teknologi web service merupakan sebuah teknologi
lanjutan dari komputasi terdistribusi yang mampu cross platform. Teknologi cross platform lain adalah web
server. Transaksi realtime pada web server dapat diteliti untuk memberikan alternatif pilihan pada
penggunaan teknologi transaksi realtime. Tantangan transaksi realtime pada web server menjadi bahan yang
penting untuk diteliti. Selain itu , apakah web server mampu menjadi gateway transaksi realtime ?
Pada penelitian ini dirancang sebuah arsitektur gateway yang menggambarkan keterlibatan
sebuah agen yang terpasang pada web server dan sebuah agen multiporting untuk penanganan transaksi
secara pararel yang menjadi syarat transaksi realtime. Pengukuran transaksi realtime adalah waktu
layanan yang diukur dalam transaction per second (tps). Web Server menangani permintaan port dengan
membuat session per masing-masing permintaan, kemudian masing-masing session ditangani oleh
proses bisnis yang menjadi wilayah agen multiporting, di situ telah terbuka port-port secara pararel. Satu
port agen menjamin satu transaksi yang terhubung ke database transaksi. Arsitektur pada penelitian ini,
akan diuji coba untuk mengetahui performansi sistem. Uji coba dilakukan dengan melakukan penambahan
jumlah server dan request dari sejumlah komputer client yang mencerminkan transaksi secara terus
menerus.
Hasil uji coba arsitektur sistem yang dirancang, berhasil memenuhi tps tertinggi dari uji
labolatorium 259,59. Dari uji lapangan sistem selama 7 bulan pengamatan, maka sistem telah teruji di
lapangan berjalan tanpa henti dengan tps tertinggi 202,63.
detik. Waktu respon bergantung atas aktivitas dimengerti dan lebih mudah (Lu Jijun ; Swapna
transaksi realtime (Highmark, Inc, 2008). S. Gokhale, 2005).
(inquiry) yang telah disepakati dalam transaksi perlu menunggu atau antri terhadap layanan
akan diubah oleh agen multiporting kedalam yang tersedia, karena agen web service sudah
sintak pemanggilan sebuah store procedure yang dibiakkan hingga sejumlah memori yang optimal
telah disimpan dalam database.
Kemudian database mengirimkan hasil 6.2. Agen Multiporting
inquiry tersebut ke agen multiporting sebagai Agen multiporting berada pada
sebuah text panjang dengan pembatas (delimiter) komputer yang terpisah dan secara khusus
yang telah disepakati antara gateway dengan menangani proses bisnis. Agen ini dibiakkan
vendor (dalam hal ini adalah tanda ~) hingga sejumlah layanan dengan membuka
Setelah agen multiporting menerima layanan pada sejumlah port (multiport) yang
hasil text tersebut, maka agen meneruskan hasil bergantung pada jumlah memori yang tersedia
tsb ke agen web server yang kemudian oleh dan kecepatan akses database server
agen web server dikirimkan sebagai respon dari Saat pertama dijalankan, maka agen
permintaan inquiry. Arsitektur rancangan sistem multiporting adalah sebuah program dalam
secara garis besar ditunjukkan pada gambar 6.1 bahasa python yang ringan (light) dengan sedikit
aturan dalam menangani permintaan transaksi.
Program dijalankan dengan dibiakkan sejumlah
layanan yang secara otomatis membuka
beberapa port yang disediakan. Agar agen web
server mengenali port tsb, maka dipasang
sebuah port balancer yang berfungsi mirip
multiplexer, dimana port in adalah sebuah pintu
masuk dan port out adalah sejumlah layanan
yang telah dibiak-kan (multiport) untuk
Gambar 6.1 Arsitektur Sistem Gateway Transaksi menangani pendelegasian tugas secara pararel.
Masing-masing layanan telah terkoneksi
Dari gambar 6.1 terlihat urutan request ke dalam ke database transaksi lewat sebuah agen
web server, kemudian diterima oleh load transaksi berupa program/fungsi pl/sql dalam
balancer dalam 1 port input dan N port output database, sehingga untuk update maupun insert
data, maka agen web service tidak melakukan
6.1. Agen Web Server sintak pl/sql dari database, melainkan hanya
Sebuah agen web server merupakan memanggil fungsi tsb dengan parameter dari
program servlet berupa program java yang pattern yang telah disepakati
terpaket dalam ekstensi .jar (java archive) dan
sudah dalam bentuk bytecode. Hal ini berbeda 6.3. Database Transaksi
dengan program script (jsp) biasa yang harus Database transaksi adalah sebuah
diubah terlebih dahulu ke dalam bentuk servlet program pl/sql yang ditanam dalam database
agar dapat berjalan dimana dalam penelitian ini dipakai adalah
Agen dalam bentuk byte code hanya lingkungan database oracle. Dua jenis transaksi
berisi pattern atau pola dari permintaan untuk yang selama ini sering dilakukan pada transaksi
kemudian diteruskan ke agen web service yang online adalah
terlebih dahulu melalui sebuah balancer port. 1. permintaan data
Dari balancer itulah penugasan akses port 2. update data
didapatkan
Pertama kali permintaan muncul, maka 7. Ujicoba
secara otomatis web server akan membuat Pelaksanaan uji coba ini adalah untuk
sebuah session dan menangani session tersebut. mengetahui keberhasilan jalannya program mulai
Session itu dimuat dalam memori, sehingga dari input data sampai output data. Ujicoba
semakin besar halaman web dan semakin dilakukan dalam dua kelompok yaitu ujicoba
komplek program yang ditangani, maka semakin labolatorium dan ujicoba lapangan (live)
besar pula memori untuk session tsb yang
dicadangkan. 7.1. Ujicoba Labolatorium
Pengelolaan web server sebagai Uji coba pertama dari arsitektur sistem adalah
sebuah agen, membuat session yang relatif kecil dengan melakukan konfigurasi jumlah server.
(dilihat dari kode program) dan tidak terbebani
oleh akses I/O, sehingga penanganan atas 7.1.1 Ujicoba satu server
permintaan dapat semakin responsif dan dalam Konfigurasi Hardware adalah Server
jumlah penanganan permintaan yang relatif Xeon, dengan memori 4 G , sedangkan client
cukup besar secara bersamaan. sejumlah 7 komputer PC yang melakukan
Kemudian agen akan meneruskan request masing-masing sebanyak 50.000. Port
session tsb ke web service yang telah menunggu yang dibuka adalah 10 buah per masing-masing
sebagai pintu yang terbuka untuk melayani server. Hasil ujicoba terlihat pada gambar 7.1
transaksi dengan bukaan pintu (multiport) yang dan gambar 7.2.
cukup banyak (tergantung dari jumlah memori
dan kecepatan komputer didatabase servernya).
Dari konsep inilah, maka suatu session tidak
Seminar Nasional Pascasarjana IX ITS, Surabaya 12 Agustus 2009
ISBN No.
23:37:50
23:38:40
23:39:30
23:40:20
23:41:10
23:42:00
23:42:54
23:43:46
23:44:36
23:45:30
23:46:20
23:47:10
23:48:00
23:48:52
23:49:46
23:50:38
23:51:28
Catatan reset terendah dari sampel adalah karena penutupan port secara bersamaan, pada
sebagai berikut ini : tiga server lebih rendah dibandingkan dengan
dua server, seperti diperlihatkan pada tabel 7.5.
Tabel 7.3 Tiga server dengan jumlah request 12
waktu jumlah_request Tabel 7.5 Rata-rata request per Port
1:21:06 2 rata-rata
Jumlah Server port request
1:21:08 3
1 10 5,171
1:38:33 4
2 10 25,19
1:29:38 6
3 20 12,97
1:32:48 7
1:32:42 9 7.2. Ujicoba Lapangan
1:35:56 11 Setelah dilakukan ujicoba laboratorium,
maka sistem di uji di lapangan untuk mengetahui
1:16:24 12 respon yang sesungguhnya. Ujicoba secara live
1:20:09 12 ini melibatkan pihak eksternal sebanyak 9
Tabel 7.3. menunjukkan jumlah request switcher yang merupakan perusahaan ataupun
yang paling rendah, dibandingkan dengan rata- perbankan penyedia pembayaran realtime. Detil
rata jumlah request sekitar 259,59. Hal itu berarti konfigurasi ujicoba lapangan mengacu pada hasil
kemampuan 20 port secara rata-rata menangani ujicoba labolatorium yaitu server sebanyak tiga
259,59/20 = 12,97 request. Pada saat waktu buah :
tersebut berarti port yang ter-reset sejumlah 9 Server 1: Agen Web server digabung
port secara bersamaan dan hanya ada 1 port dengan Agen multiporting dengan 10
saja yang masih terbuka. buah port yang terbuka.
Pada tabel 7.3, dapat disimpulkan Server 2: Agen multiporting dengan 10
bahwa terjadi reset koneksi secara bersamaan, buah port yang terbuka.
jika jumlah request <= 25 (rata-rata kemampuan Server 3: Database dengan 1 listener.
satu port). Dari 1606 data uji terdapat 9 kali reset
, sehingga peluang terjadinya reset koneksi Total port yang dibuka pada agen
sebesar 9/1606 = 0,005603985. multiporting sebanyak 2 server atau 20 port yang
Pada tiga server port yang dibuka lebih tersedia untuk melayani pengelolaan proses
banyak 2 kali lipat sebesar 20, sedangkan jumlah bisnis. Jumlah client yang terhubung sejumlah 9
request yang diberikan tetap, sebesar 7x50.000 switcher (penyedia jasa pembayaran on-line yang
= 350.000, sehingga rata-rata penanganan memiliki komputer-komputer downline di loket-
request yang masuk terbagi ke 20 port menjadi loket pembayaran). Data-data transaksi dari
12,97. Namun peluang terjadinya reset secara pencatatan log di server sejak mulai request
bersamaan mengalami penurunan. Penurunan sampai close koneksi, terbagi menjadi data
peluang terjadinya reset secara bersamaan pada bulanan, harian, jam, menit. Hasil log tersebut
tiga server adalah (0,005603985-0,00908059)/ diambil dan di analisa untuk mencari kemampuan
0,00908059= -0,38286113, atau sebesar 38,28% sistem, titik tertinggi tps permasing-masing
dari peluang terjadinya reset secara bersamaan transaksi
dengan dua server.
Kesimpulan dari ujicoba labolatorium 1. Hasil uji lapangan secara bulanan
terhadap jumlah server dapat diringkas pada Log yang dicatat oleh sistem dikelompokkan
tabel 5.4 berdasarkan periode bulanan. Log menunjukkan
Tabel 7.4 Ringkasan ujicoba jumlah server jumlah request yang di respon oleh sistem
Jumlah Server tps peluang reset
ditunjukkan pada tabel 7.6.
Tabel 7.6: Jumlah request bulanan.
1 51,72 0,00060096
Bulan Jumlah Request
2 251,98 0,00908059 200901 8.519.970
3 259,59 0,00560398 200902 10.551.884
200903 17.303.344
Dari tabel 7.4, menunjukkan bahwa
200904 25.362.884
implementasi arsitektur sistem ini dapat dipilih 200905 24.187.845
sesuai dengan tps yang di-inginkan. Pada 200906 24.563.121
penelitian sebelumnya, didapatkan jumlah tps 200907 20.186.882
adalah 177 (Van der Mei ,R.D.; W.K. Ehrlich; P.K. Hasil uji lapangan perbulan menunjukkan
Reeser; J.P. Francisco, 2000). Nilai 177 dapat bahwa sistem mampu menangani request
dilampaui oleh sistem dengan arsitektur ini saat tertinggi bulan april-2009 (30 hari * 24 jam * 60
jumlah server berjumlah 2 atau 3 menit * 60 detik = 2.592.000 detik, rata-rata
Penurunan peluang terjadinya reset tps=25.362.884/2.592.000=9,79 tps)
secara bersamaan pada tiga server sebesar Angka 9,79 tps adalah angka rata-rata
38,28% dari dua server, menunjukkan sistem dengan asumsi setiap detik terjadi transaksi 24
yang aman untuk arsitektur ini adalah tiga server. jam tanpa henti. Secara kumulatif, total transaksi
Ketika terjadi request yang cukup banyak pada januari 2009 sampai bulan juli 2009 sebesar
satu saat, maka peluang ditolak oleh server 130.675.930 dan tps rata-rata dicapai
Seminar Nasional Pascasarjana IX ITS, Surabaya 12 Agustus 2009
ISBN No.
3. Hasil uji lapangan secara per jam Perhitungan tps tertinggi yang ditunjukkan
Setelah di ketahui bahwa sistem mampu pada grafik 5.18 adalah 12.158/60=202,63 tps.
menangani respon harian tertinggi mencapai Nilai tps inilah yang menjadi tujuan dari penelitian
2.325.145, maka di detilkan kedalam periode ini. Perhitungan dari tps pada menit itu dengan
jam. Log catatan dianalisa sampai ditemukan mengasumsikan setiap detik terjadi transaksi
jumlah request tertinggi adalah 325.706 perjam tanpa henti. Nilai tps per menit ini
transaksi, terjadi pada jam 8 pagi tanggal 11-07- mengindikasikan bahwa sistem mampu
2009. melakukan transaksi sampai sebesar 202,63 tps.
Detil hasil ujicoba dilihat pada halaman lampiran
hasil ujicoba.
Kesimpulan uji coba lapangan (live) pada
arsitektur sistem ini, antara lain
1. Sistem mampu berjalan secara nonstop
(tanpa henti), hal ini terlihat selama 7
bulan uji lapangan, sistem tidak pernah
mati (down).
Seminar Nasional Pascasarjana IX ITS, Surabaya 12 Agustus 2009
ISBN No.