Maksud ifnu tuh daripada susah susah mikir masalah teknologi, kalo
cuman hanya untuk update data ke database secara remoting dengan
port... kenapa ga balik ke basic aja..

Kalo yang cara ifnu sih ga bisa 10000 data skali kirim. Yg sampean
maksud ini brati pake cara RMI atau Web Service ya?
Kalo Web Service aku baru blajar jadi ga bisa kasih masukan, tapi mo
pake RMI seharusnya :

1. Object TransactionData harus serialize dan kalo mo semua di passing
dalam 1 waktu jangan pake List tapi ArrayList ini karena List ga ada
turunan Serialize.
2. Jangan passing object yang termasuk di hibernate(kaya mas saiful
muklis bilang), jadi value dari object Hibernate harus di passing ke
object laen(Anggep Temporary Object).
Misal : Transaction ini object yang di pakai oleh hibernate. sampean
harus bikin jadi object bersih TransactionData implements Serialize.
======Client=====
ArrayList arrayList = new ArrayList();
for(Transaction transaction : listTransaction ){
    TransactionData td = new TransactionData(item,jumlah,harga);
    arrayList.add(td);
}
    remoteServer.saveToDatabase(arrayList);
}
===============

baru deh di server pada method to database Object TransactionData di
insert lagi ke database dengan cara di transform lagi ke object
hibernate.

3. Kalo mo kirim dalam 1 waktu dari banyak client ke server sampean
harus di buat Thread. Jadi setiap Object yang di tangkep sama server
harus di buat 1 Thread. Supaya object yang laen bisa masuk.

Hati-hati dengan List lho... aku ga tau juga(blm pernah cobain
research sih) aku pernah tampung list yang datanya 3.2 juta dari
database terus applikasi nya keluar exception.. bukan pergmen space
heap. ga tau lah lupa apa exceptionnya, 1 Juta juga ga mau. ga tau itu
emang karean dari si java.util.List atau dari aplikasinya karena waktu
udah mepet jadi ga bisa research.

Bagi-bagi yah kalo ada yang pernah temuin masalah Maximum size dari list.

Cheers...

Regards,

Yudhi Karunia Surtan
--------------------------------------
Mobile (+62)-818-08347561



2009/5/23 xsalefter <xsalef...@yahoo.com>:
>
>
>> RMI ini socket protocol binary yang harus buka custom protocol,
>> misalnya 9090, kalau ada firewall di sisi client atau server bisa
>> berabe juga sih.
>>
>> Sebenernya dibanding WS atau RMI cara yang paling gampang adalah
>> menggunakan HTTP Conection. Siapkan satu url saja di sisi servernya,
>> kemudian semua client hit ke url tersebut dengan menyertakan data yang
>> akan dikirim menggunakan Http Get variable.
>>
>> misalnya :
>>
>> http://myoffice.com/datacabang/input?data=andi
>>
>> nanti dari http get parameter ini tinggal diparsing dan dimasukin
>> database. Cara ini persis kalau kita bikin aplikasi Java ME yang bisa
>> berkomunikasi dengan server.
>
> Mas Ifnu, saya bingung dengan cara ini, blum pernah coba juga :D . Kan yang
> diajuin TS adalah sinkronisasi dari client. Nah, anggaplah ada 10 client
> yang offline dan ada 10000 data dari setiap client pada saat proses
> sinkronisasi. Pada saat proses sinkronisasi yang telah ditentukan waktunya,
> berarti kurang lebih ada code kayak gini di server:
>
> // Begin Transaction Code
> for (TransactionData td : listOfDataTransaction) {
> dao.insert(td);
> }
> // Commit Transaction Code
>
> untuk 10 concurrent user dengan 10000 data dalam sekali transaksi? Bener ga?
> Atau saya yang salah pengertian? Kalo bener, berarti kita harus lebih aware
> masalah transaksi di sisi server dong.
>
> Sori, saya ga pernah maenan yang high transaction, jadi agak ragu apakah hal
> ini bisa di handle dengan baik di production?
>
> 

Reply via email to