Atjous Ovrecker wrote:

> Untuk hubungan antara client (yang terhubung dengan U-controller) dan server baiknya
> pake tcp/ip saja terus nanti bikin protocol kecil2an diatasnya. Sekalian nanti bisa
> dikembangkan untuk controlling juga (tidak hanya monitoring)

Rumit amat mesti bikin protokol.
Kalau pakai Voyager, kita tinggal bikin suatu kelas Java; misalnya, 
katakanlah nama source-nya ComMonitor.java. Kelas ini bertugas untuk 
memonitor serial port dimana dia dijalankan; karena itu, perlu Java 
serial lib. (bagian yang dari Sun: Java Comm; satu lagi untuk 
implementasi JNI di Linux: http://www.frii.com/~jarvi/rxtx/; keduanya 
mesti dipasang). Katakanlah kelas ini sudah berjalan, misalnya dengan 
membaca serial, dan lalu menyimpannya di HD lokal dimana dia dijalankan. 
Untuk membuat kelas itu  bisa diakses dari jauh, maka yang diperlukan 
hanyalah:
vcc ComMonitor.java
atau
vcc ComMonitor.class
(nanti outputnya ditaruh di direktori lain dengan nama yang sama)

vcc: virtual-class compiler.
Kelas Java yang telah dikompilasi via vcc akan dirubah bagian (signature 
dari) konstruktornya, sehingga kita bisa memasukkan nama host dan port 
dimana kelas remote tersebut dijalankan.

Jadi setupnya kira-kira:
Di mesin yang memonitor serial port tersebut kita pasang Voyager server, 
dan lalu kelas pembaca port tersebut di-load. (Seingat saya sih, loading 
ini dilakukan dari remote. Sorry ya, udah lama banget sih, dulu pakai 
Voyager 1.0, kalau tak salah. Dan itu jalan di Slackware/486. Jadi 
tinggal "new" saja:
comMonitor = new ComMonitor("vserver", vport);
// vserver: nama remote host
// vport: nomor port dimana Voyager server dijalankan
Kelas ComMonitor ini mesti bisa di-load di mesin dimana kode tersebut 
dijalankan. Nanti, obyek dari kelas ComMonitor akan siap digunakan (dan 
dia berjalan di Voyager server yang remote itu).

Untuk menjalankan remote method yang ada di remote obyek, ya tinggal 
(misalnya):
int reading = comMonitor.getCurrentReading();
Method/metode di atas, ya bisa saja dibuat supaya membaca baris tertentu 
di satu file yang ada di mesin remote.

Berikut lisensi dari Voyager (bisa dilihat di www.objectspace.com):
"2. GRANT OF LICENSE.

2.1 TERMS
(a) Grant.  LICENSOR hereby grants to LICENSEE a non-exclusive, 
non-transferable, non-assignable right to use the Product for internal 
use only."

Oki
ps: tulisan di atas merupakan ide saja sih, yang barangkali akan 
memudahkan pengembangan. Dibanding dengan mengimplementasikan JNI (Java 
Native Interface; yang diprogram di C untuk membaca serial port) dan 
lalu kita buat program Java di atasnya untuk link ke object-file dari 
program C tersebut, dan lalu program Java tersebut kita akses via RMI, 
rasanya sih, cara Voyager tersebut akan lebih mudah. JNI tidak gampang, 
dan kalau sudah ada library RXTX (+ Java Comm dari Sun), mengapa harus 
bikin sendiri? Lagian, masih cukup low-level kok, jadi bakal bagus buat 
praktek pemrogramman serial port, IMO. 




--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]

Kirim email ke