Implementasi Teknologi Mobile Agent Pada

advertisement
6
Fungsi
: Directory Facilitator (DF)
adalah agen yang mengimplementasikan
layanan yellow pages, yang digunakan agen
lainnya untuk mendaftarkan layanannya atau
mencari layanan lainnya.
berbasis lokasi dan printer service tersedia
bebas. Pengguna dapat terhubung ke LAN dan
ia akan dilayani dengan teknologi mobile
agent. Lalu, client dapat mencetak dokumen
miliknya melalui mobile agent.
-
Analisis Jaringan
Sesuai dengan skenario sistem maka jenis
jaringan komputer yang akan digunakan ialah
LAN dengan port yang digunakan akan
ditentukan pada saat implementasi sistem.
Perancangan Sistem
- Topologi Jaringan
Sistem terdiri atas empat aktor utama
yaitu: Mobile Agent Server (MAS), LocationBased Service Server (LBSS), printer service,
dan client. Gambar 5 menunjukkan rancangan
topologi jaringan dari sistem yang akan
dibangun. MAS dan LBSS dipisahkan agar
kerja sistem dapat dibagi
sehingga
mengurangi
kemungkinan
terjadinya
bottleneck.
3 Nama agen : RMA
Fungsi
: Remote Monitoring Agent
(RMA)
mengizinkan
administrator
platform
untuk
memanipulasi
dan
memonitor platform dengan tampilan
antarmuka grafis.
Sistem memiliki LBSS yang membantu
mengelola daftar layanan, sumber daya
layanan, dan menyediakan layanan kepada
client yang terhubung. Berikut ini adalah agen
yang berada di LBSS beserta fungsinya:
1 Nama agen : DistributorAgent
Fungsi
: Distributor Agent berfungsi
meneruskan pesan ke layanan yang dituju.
Selain itu, agen ini pula yang membagi
pekerjaan jika terdapat lebih dari satu
container menyediakan service dengan jenis
yang sama. Pembagian kerja tersebut
menggunakan algoritma round-robin.
2 Nama agen : WatcherAgent
Fungsi
: Watcher Agent berfungsi
mencari layanan yang terdaftar di platform
dan memelihara daftar layanan terbaru untuk
digunakan Distributor Agent. Di samping itu
agen ini juga dapat memberikan konfirmasi
ke client apakah di platform terdapat
layanan.
Gambar 5 Rancangan topologi jaringan
komputer dari sistem.
- Rancangan Agent
Perancangan agen akan dikelompokkan
berdasarkan container tempat agen akan
berada. Agen yang berada di MAS merupakan
agen bawaan dari JADE framework yang
dimulai ketika container pertama (main
container) di platform dijalankan. Berikut ini
ialah agen yang berada di MAS beserta
fungsinya:
1 Nama agen : AMS
Fungsi
: Agent Management System
(AMS) adalah agen yang mensupervisi
seluruh platform. Setiap agen di seluruh
sistem harus mendaftarkan diri dengan AMS
pada saat pertama kali dijalankan.
2 Nama agen
: DF
3 Nama agen : ProviderAgent
Fungsi
: Provider Agent berfungsi
memberikan layanan kepada client. Ketika
ada client baru terhubung ke platform, maka
agen ini akan membuat mobile agent yang
akan mengunjungi dan melayani client.
Pada skenario penelitian ini, sistem
mendukung
printer
service
sehingga
diperlukan sebuah agen pada container di
mesin yang terhubung dengan printer. Berikut
ini ialah agen beserta fungsinya yang terdaftar
di setiap mesin yang menyediakan printer
service:
Nama agen : PrinterAgent
Fungsi
: Mencetak dokumen yang
dikirimkan kepadanya dan mengirimkan
konfirmasi ke client apakah dokumen
berhasil terkirim.
-
Rancangan Arsitektur Sistem
Perancangan
pengembangan
sistem
dilakukan dengan menggunakan pemodelan
7
UML. Berikut penjelasan diagram UML yang
digunakan
sesuai
dalam
tahapan
pengembangan UML yang digunakan:
berdasarkan aktor utama dalam sistem, yaitu:
-
MAS: merupakan bagian sistem pertama
yang dijalankan. Server ini adalah tempat
main-container berada. Container ini
bertugas mengelola container lain dan
agen yang berada di platform.
-
LBSS: merupakan bagian dari sistem yang
bertanggung jawab mengelola daftar
layanan, melayani client, dan mengarahkan
dokumen ke sumber daya yang sesuai.
-
Printer Service: merupakan anggota dari
sistem yang bertugas menerima kerja dari
LBSS yaitu mencetak dokumen. Pada
perangkat yang bertindak sebagai printer
service diperlukan driver printer yang
terhubung dengannya. Ketika dokumen
berhasil atau gagal dicetak Printer akan
mengirimkan konfirmasi.
-
Client: merupakan anggota dari sistem
yang harus dilayani. Saat pertama kali
menjalankan aplikasi layanan, client akan
melakukan inisialisasi awal ke MAS. MAS
pada gilirannya akan memperingatkan
LBSS bahwa ada client baru yang butuh
layanan. Agen di LBS server akan
mengunjungi client untuk menawarkan
layanan yang tersedia di jaringan.
1 Use case diagram
Use case diagram memodelkan interaksi
client dengan sistem pada tingkat paling
tinggi. Gambar uses case diagram dapat
dilihat pada Lampiran 1. Client dapat meminta
layanan dan mengirimkan dokumen yang
ingin ia cetak.
2 Deployment diagram
Deployment diagram menggambarkan
implementasi sistem dan objek yang berjalan
di sistem selama sistem berjalan. Deployment
diagram dari sistem layanan berbasis lokasi
menggunakan mobile agent dapat dilihat pada
Lampiran 2. Sistem yang akan dikembangkan
dapat dibagi berdasarkan lokasi tempat sistem
akan diimplementasi yaitu di MAS, LBSS,
printer service, dan client.
Semua sistem memiliki pustaka JADE
yang menjadi framework sistem yang
dikembangkan. Pembuatan mobile agent dan
memberikan behaviour ke agen tersebut dapat
dilakukan dengan framework ini.
3 Activity diagram
Activity diagram sebagai representasi
grafis dari workflow komponen-komponen
sistem dapat dilihat pada Lampiran 3. Activity
diagram tersebut dibagi empat partisi
4 Sequence diagram
Sequence diagram yang memperlihatkan
aliran proses sistem dapat dilihat pada
Gambar 6. Diagram memperlihatkan interaksi
Gambar 6 Sequence diagram dari sistem.
8
objek yang berada dalam sistem, yaitu: MAS,
LBSS, Printer Service, dan Client. Setiap
objek tersebut memiliki satu atau beberapa
agen yang dapat saling
berkomunikasi
menggunakan
protokol
IMTP
yang
diimplementasi JADE.
Sequence diagram pada Gambar 6 hanya
memperlihatkan aliran proses pada level
sistem, tetapi yang berinteraksi sebenarnya
adalah agen-agen yang berada di container di
dalam platform. Untuk itu dibuat sequence
diagram pada level agen yang berinteraksi
sehingga aliran proses dapat dilihat lebih
detail. Diagram dapat dilihat pada Lampiran
4.
5 Class diagram
Class diagram yang memperlihatkan
keterhubungan setiap kelas pada sistem dapat
dilihat pada Lampiran 5. Ketujuh kelas agen
yang dibuat merupakan pewarisan dari kelas
Agent dari JADE. Setiap kelas agen memiliki
kelas implementasi dari behaviour dan action
dari behaviour tersebut diimplementasikan
sesuai dengan kebutuhan dari agen.
Implementasi Sistem
-
Penentuan Port
Port pada jaringan yang akan digunakan
pada sistem adalah port 1099 : menggunakan
koneksi Transmission Control Protocol (TCP).
Port tersebut merupakan port default untuk Java
RMI yang merupakan protokol yang
digunakan oleh JADE platform untuk
komunikasi inter-platform.
-
Perangkat
Lingkungan
implementasi
yang
digunakan adalah:
1 Komputer yang akan digunakan sebanyak
satu buah dengan spesifikasi:
- Sistem operasi : Windows 7
Professional SP1.
- Perangkat keras : Pentium Dual CPU
(1,87 GHz), memori 5 GB, dan hard
drive 320 GB.
2 Komputer akan menjalankan lima virtual
machine menggunakan VirtualBox 4.1.8
masing-masing virtual machine memiliki
spesifikasi:
-
Sistem operasi
: Windows XP SP3.
-
Perangkat keras : Memori 512 MB
dan hard drive 10 GB.
-
Perangkat lunak : Java Development
Kit (JDK) 1.6.0_27 dan JADE 4.1.
3 Virtual Machine terhubung satu sama lain
dengan bridged networking Beberapa
Virtual Machine yang terhubung dengan
bridged networking bertindak sama
dengan komputer sesungguhnya yang
terkoneksi langsung satu sama lain
menggunakan kabel jaringan sehingga
terbentuk LAN.
4 Karena
dibutuhkan
printer
yang
mendukung
Java
untuk
mencetak
dokumen, maka pada penelitian ini proses
pencetakan dokumen akan disimulasikan
dengan proses menuliskan ByteStream
yang diterima printer agent kedalam
sebuah file dengan nama dan tipe yang
sama sesuai dokumen yang dikirimkan
client.
Gambar 7 Arsitektur sistem yang telah dibangun.
9
-
Pengembangan Sistem
Bahasa pemrograman yang digunakan
dalam pengembangan sistem layanan berbasis
lokasi menggunakan mobile agent pada
penelitian ini adalah Java. Arsitektur sistem
yang telah berhasil dibangun dapat dilihat
pada Gambar 7.
Pada sistem terdapat dua server, yaitu:
MAS dan LBSS. MAS merupakan mesin yang
menjalankan main container, yaitu container
pertama yang dijalankan dan digunakan
sebagai bootstrap point untuk JADE platform.
Semua container yang dijalankan setelah main
container akan melakukan registrasi ke main
container di MAS pada saat pertama kali
dimulai.
Pada LBSS akan dijalankan sebuah
container yang bertugas mengelola layanan
yang berada di sistem, mulai dari registrasi
layanan baru, mengelola daftar layanan,
mengantarkan layanan ke client, dan
memastikan layanan yang diminta oleh client
terpenuhi.
jaringan virtual dengan bridge networking
menggunakan VirtualBox. Sebanyak dua buah
virtual machine masing-masing bertindak
sebagai MAS dan LBSS, dua buah virtual
machine menjadi print service, dan satu
virtual machine bertindak sebagai client.
Semua mesin terhubung dengan bridged
networking VirtualBox, sehingga seakan-akan
terhubung dengan switch sesungguhnya. Oleh
karena itu, setiap mesin memiliki alamat
internet protocol (IP) yang unik. Alamat IP
yang diberikan pada setiap virtual machine
dapat dilihat pada Tabel 1.
Adapun paket-paket penting yang berperan
dalam pembangunan sistem, yaitu:
 org.mobile
Paket org.mobile merupakan paket
kumpulan dari semua kelas yang dibangun
untuk pengembangan sistem layanan berbasis
lokasi dengan teknologi mobile agent. Berikut
paket-paket tersebut :
-
org.mobile.lbs
Kelas yang terdapat pada paket ini adalah
kelas-kelas yang akan dijalankan pada
LBSS.
Paket
ini
berisi
kelas
ProviderAgent, kelas DistributorAgent,
dan kelas WatcherAgent yang berperan
penting dalam kerja LBSS. Di samping itu
terdapat pula kelas lain yang membantu
kerja agent.
-
org.mobile.printer
Paket ini berisi kelas PrinterAgent. Paket
ini dibutuhkan bagi container yang akan
menyediakan service printer ke sistem.
Pada scenario penelitian ini terdapat print
service yang tersedia di jaringan. Pada sistem
yang dibangun dua mesin menyediakan
service printer. Jika terdapat layanan dengan
tipe yang sama tersedia lebih dari satu di
sistem, LBSS akan membagi kerja
menggunakan algoritma round-robin.
Client yang meminta service tidak
memerlukan agen pada awal container
dijalankan, karena ada agen yang dibuat oleh
LBSS. Agen yang tersebut menggunakan
teknologi mobile agent akan mengunjungi
client dan melayaninya.
Implementasi berhasil dilakukan pada
Tabel 1 Alamat IP setiap mesin
No.
1
2
Alamat
IP
169.254.
122.69
169.254.
121.55
3
169.254.
168.152
4
169.254.
156.191
5
169.254.
218.105
Jenis
Mesin
Hostname
MAS
MACHINE1
LBSS
MACHINE2
Printer
Service
1
Printer
Service
2
Client 1
MACHINE3
MACHINE6
MACHINE4
 jade.core
Paket ini mengimplementasikan kernel
JADE,
run-time
environment
yang
mendukung seluruh platform. Paket ini sangat
berperan dalam implementasi mobile agent
karena paket ini berisikan kelas Agent yang
akan diturunkan ke kelas yang akan
diimplementasikan sebagai sebuah agen. Pada
paket ini juga terdapat paket lain, yaitu
jade.code.behaviours, yang berisikan
kelas penerapan behaviour yang diberikan ke
agen agar dapat menyelesaikan tugasnya.
 jade.domain
Paket ini berisi implementasi dari agen
AMS dan DF yang dijalankan pada main
container. Oleh karena itu paket ini berperan
penting dalam kerja MAS.
10
Pengujian Sistem
-
Koneksi
Gambar 8 menunjukkan tahapan yang
akan dilakukan pada proses pengujian koneksi
antar container.
bertanggung jawab dalam mengelola agen,
white page service, dan yellow page service
pada platform. Pengujian fungsional dari
MAS ditunjukkan pada Tabel 3.
Tabel 3 Pengujian fungsi MAS
No.
1
2
3
4
Fungsi
Setiap agen dapat
mendaftarkan diri
pada AMS.
AMS mengirimkan
event information ke
Provider Agent ketika
ada client baru
terhubung.
DF
mengimplementasikan
yellow page service.
DF memberikan
daftar layanan pada
Watcher Agent.
Status
Berhasil
Berhasil
Berhasil
Berhasil
Pengujian Fungsional LBSS
Aplikasi yang dikembangkan telah dapat
menerapkan teknologi mobile agent. Pada
LBSS terdapat Provider Agent yang
membangkitkan agen dan mengirimnya ke
client yang meminta layanan. Agen yang telah
tiba akan melayani client tersebut, mulai dari
meminta daftar layanan sampai layanan yang
dipilih client berhasil dipenuhi. Fungsi dari
Provider Agent yang telah berhasil diujikan
ditunjukkan oleh Tabel 4.
Gambar 8 Proses pengujian koneksi pada
sistem.
Tabel 2 menunjukkan hasil pengujian
koneksi pada sistem. Status koneksi antar
container juga dapat dilihat dari tampilan
RMA pada Lampiran 6. Tahapan pengujian
terhadap
koneksi
antar
container
menunjukkan
semua
container
dapat
terhubung dengan baik.
Tabel 2 Pengujian koneksi sistem
No.
1
2
3
-
Skenario
Menjalankan LBSS.
Menjalankan Print
Service.
Menjalankan client.
Status
Terhubung
Terhubung
Terhubung
Fungsional
Pengujian Fungsional MAS
Pada MAS terdapat agen DF, AMS, dan
RMA yang merupakan agen spesial dari
JADE. Agen tersebut berjalan otomatis ketika
main container pertama dijalankan. MAS
Tabel 4 Pengujian fungsi Provider Agent
No.
1
2
Fungsi
Menerima event
information dari AMS
ketika ada client baru
yang terdaftar.
Membuat dan
mengirimkan mobile
agent untuk melayani
client baru.
Status
Berhasil
Berhasil
Distributor Agent pada LBSS berfungsi
meneruskan pesan ke layanan yang dituju dan
membagi kerja jika terdapat lebih dari satu
container menyediakan service dengan jenis
yang sama. Pembagian kerja Distributor Agent
menggunakan algoritma round-robin. Hasil dari
pengujian Distributor Agent dapat dilihat pada
Tabel 5.
Pada LBSS terdapat Watcher Agent yang
berfungsi untuk mencari layanan yang
terdaftar di platform dan memelihara daftar
layanan terbaru untuk digunakan Distributor
Download