Implementasi Multithreading Java pada Sistem Kolaborasi (Studi kasus Ruang Diskusi Maya)

dokumen-dokumen yang mirip
SISTEM MANAJER PADA SISTEM KOLABORASI BERBASIS WEB

BAB III ANALISIS DAN PERANCANGAN SISTEM

ABSTRAK. Kata Kunci : Website Media Pembelajaran, SMK Teknik Komputer dan Jaringan, Use Case, Flowchart, ERD, AJAX, PHP, MySQL.

2.2. Fitur Produk Perangkat Lunak Fitur Pengolahan Data Fakultas Fitur Pengolahan Data Jurusan

KOMUNIKASI PENGANTAR DATA TERDISTRIBUSI. Materi: 1. Komunikasi Data 2. Protocol 3. Remote Procedure Call 4. Object Remote

PERANCANGAN SISTEM.

Sistem Terdistribusi 2. Model arsitektur Terdistribusi

APLIKASI SISTEM PENDIDIKAN JARAK JAUH BERBASIS WEB

ABSTRAK. Kata kunci : Mobile SQL, Java ME, DBMS, administrasi basisdata

BAB III METODOLOGI PENELITIAN. berjalannya perancangan dan implementasi website, antara lain: perangkat keras yang digunakan.

PEMANFAATAN ARDUINO DALAM PENGEMBANGAN SISTEM RUMAH PINTAR BERBASIS MOBILE DAN WEB (Studi Kasus : Penjadwalan Lampu Rumah)

PERANCANGAN DAN PEMBUATAN APLIKASI D3 TEKNIK INFORMATIKA UNS BERBASIS WEB DAN ANDROID

Sistem terdistribusi Processes, Threads and Virtualization pertemuan 3. Albertus Dwi Yoga Widiantoro, M.Kom.

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

BAB III METODE PENELITIAN

ABSTRAK. Kata Kunci: C#, Pengawasan Tampilan Komputer, Kompresi Gambar, Jaringan area lokal. v Universitas Kristen Maranatha

BAB I PENDAHULUAN Latar Belakang

ABSTRAK. viii. Kata Kunci: Jaringan, Konstruksi, Pelaporan, Proyek, Sistem Informasi. Universitas Kristen Maranatha

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

PERANCANGAN SISTEM PENCATATAN CASH ON HAND STUDI KASUS PADA BANK BJB CABANG BSD FATMAWATI NURFITRI

ABSTRAK. Kata kunci : android, Kristen, renungan, saat teduh

BAB IV HASIL DAN UJI COBA

APLIKASI PEMBELAJARAN SKATEBOARD MENGGUNAKAN FRAMEWORK CODEIGNITER BERBASIS WEB. Disusun Oleh : GIANMAR SAPUTRA

29 Februari Introduction Of Java

Tujuan Pembangunan Jaringan Komputer. mengantarkan informasi secara tepat dan akurat dari sisi pengirim ke sisi penerima

Operating System. Thread. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

BAB IV SISTEM MONITORING DAYA LISTRIK DENGAN MENGGUNAKAN WATTMETER DIGITAL BERBASIS WEB APLIKASI

BAB IV IMPLEMENTASI DAN PENGUJIAN

PENGEMBANGAN SISTEM PENDUKUNG BIMBINGAN OLINE TUGAS AKHIR (BIOTA) BERBASIS ANDROID

BAB III ANALISIS DAN PERANCANGAN

Arsitektur Sistem Informasi. Tantri Hidayati Sinaga, M.Kom.

TUGAS Mata Kuliah : Sistem Terdistribusi

KOMUNIKASI. Universitas Informatika dan Bisnis Indonesia. 2.1 Komunikasi Data

PENGEMBANGAN APLIKASI SISTEM CLIENT/SERVER MENGGUNAKAN TEKNOLOGI JAVA

WEB SERVER DEVELOPMENT SYSTEM WITH PHP, MYSQL, AND JSP CONFIGURATION

Pengantar Sistem Tersebar

PERANCANGAN APLIKASI GAME KARTU UNO BERBASIS CLIENT SERVER SKRIPSI EDWIN PRAWIRO HAKIM

BAB I PENDAHULUAN. dapat berkomunikasi dengan orang lain menggunakan fasilitas chatting ini.

RANCANG BANGUN PROTOTYPE RMI (REMOTE METHOD INVOCATION) UNTUK MENGHUBUNGKAN SISTEM BANK JATENG DENGAN SISTEM PEMBAYARAN UDINUS

ISSN : e-proceeding of Applied Science : Vol.3, No.3 Desember 2017 Page 1310

APLIKASI POTENSI DAN PELUANG INVESTASI KELAPA SAWIT DI KABUPATEN MUSI BANYUASIN BERBASIS WEB

Perancangan Sistem Komunikasi Training Center X

BAB III ANALISA DAN PERANCANGAN


BAB V IMPLEMENTASI SISTEM DAN PENGUJIAN SISTEM

IMPLEMENTASI ONLINE TESTING DENGAN BATCH PROCESSING SYSTEM

PENGEMBANGAN SISTEM INFORMASI PERPUSTAKAAN SEKOLAH BERBASIS VISUAL BASIC DI SMK MUHAMMADIYAH 2 MOYUDAN

ABSTRAK. Kata Kunci : HRD, Profile Matching, Sistem Informasi. Universitas Kristen Maranatha

Teknik Informatika S1

ABSTRAK. Kata kunci: diagram kelas, xml, java, kode sumber, sinkronisasi. v Universitas Kristen Maranatha

BAB V IMPLEMENTASI DAN PENGUJIAN

APLIKASI SISTEM INFORMASI NILAI SISWA BERBASIS WEB PADA SDIT AL-FITRA KELURAHAN HARAPAN JAYA KOTA BEKASI

APLIKASI MEDIA PEMBELAJARAN INTERAKTIF MATA KULIAH INFORMATION TECHNOLOGY BERBASIS MULTIMEDIA

Tujuan 04/07/ :01

BAB III METODOLOGI. Penelitian ini dilaksanakan di Ruang Server Biro Sistem Informasi (BSI)

SISTEM INFORMASI PEGAWAI BERBASIS WEB DENGAN METODE WATERFALL PADA SMA AISYIYAH 1 PALEMBANG

BAB II LANDASAN TEORI

PERANCANGAN APLIKASI ENSIKLOPEDIA WISATA ALAM PULAU JAWA BERBASIS WEB RENY YENITA


BAB IV IMPLEMENTASI DAN EVALUASI. Sistem yang dibangun pengembang adalah berbasis web. Untuk dapat

APLIKASI SISTEM INVENTARIS LABORATORIUM KOMPUTER FTIK UNIVERSITAS SEMARANG

Aplikasi Pengambilan Database Mesin Sidik Jari dan Dikirimkan secara Nirkabel ke Smartphone Berbasis Android 2.2

PROTOTIPE SISTEM MANAJEMEN TUGAS AKHIR BERBASIS WEB MENGGUNAKAN TEKNOLOGI JAVA SERVER FACES (JSF) NASKAH PUBLIKASI. Oleh: Gita Indah Marthasari, S.

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

PEMANFAATAN WINDOWS MANAGEMENT INSTRUMENTATION (WMI) DAN VISUAL BASIC 6 DALAM INVENTARISASI JARINGAN

PENGEMBANGAN SISTEM INFORMASI GEOGRAFIS (SIG) PENYEDIA LAYANAN KESEHATAN BERBASIS ANDROID (Studi Kasus Kota Bandar Lampung)

ABSTRAKSI. Universitas Kristen Maranatha

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Bab 3 Metoda dan Perancangan Sistem

ISSN Jurnal Teknologi Terpadu e-issn Vol. 2, No. 2, Desember, 2016

PERANCANGAN APLIKASI E-LEARNING PADA MATA PELAJARAN TEKNOLOGI INFOMASI DAN KOMUNIKASI (STUDI KASUS : SMAN 6 BATANGHARI)

SISTEM INFORMASI MANAJEMEN SEKOLAH SUB SISTEM PENJADWALAN TUGAS AKHIR

Urutan instruksi yang akan dieksekusi oleh hardware untuk melakukan tugas tertentu

Hal yang harus diperhatikan dalam penggunaan AJAX adalah: XHTML dan CSS digunakan untuk menandai dan mempercantik tampilan informasi.

BAB III METODE PENELITIAN. Untuk menunjung pembangunan manajemen sistem website yang ada CV.

SISTEM INFORMASI MANAJEMEN BAHAN PADA PROYEK KONSTRUKSI PERUMAHAN SETRADUTA ABSTRAK

TPI4202 e-tp.ub.ac.id

Pengembangan Alat Bantu Belajar Mengetik Cepat Berbasis Open Source

ABSTRAK. Kata kunci: project management, knowledge area. vi Universitas Kristen Maranatha

SISTEM INFORMASI PEMBERITAHUAN KEGIATAN ACARA DESA BERBASIS SMS GATEWAY DI KECAMATAN MEJOBO KUDUS

ANALISIS DAN PERANCANGAN APLIKASI MONITORING AREA DENGAN WEBCAM PADA SMARTPHONE BERBASIS ANDROID

SISTEM OPERASI TERDISTRIBUSI

BAB III METODE PENELITIAN

BAB III PERANCANGAN PENELITIAN

BAB III METODE PENELITIAN. Dalam penelitian ini, alat yang di gunakan adalah sebagai berikut: 1. Perangkat Keras (Hardware)

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV HASIL DAN UJI COBA

Mengenal Java RMI. Wiranti Sri Utami. Abstrak. Pendahuluan.

Analisis Arsitektur Aplikasi Web Menggunakan Model View Controller (MVC) pada Framework Java Server Faces

Pemrograman Basis Data Berbasis Web

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

TPI4202 e-tp.ub.ac.id

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

PERANCANGAN MODEL LEARNING MANAGEMENT SYSTEM UNTUK SEKOLAH

Transkripsi:

Seminar Nasional Teknologi Informasi 2009 1 Implementasi Multithreading Java pada Sistem Kolaborasi (Studi kasus Ruang Diskusi Maya) Jasman Pardede, M.T 1) 1) Teknik Informatika Fakultas Teknologi Industri, Institut Teknologi Nasional Jl. PKH. Hasan Mustapa No.23, Bandung 40124 Indonesia email : pardede_js@yahoo.com ABSTRACT Collaborating in completing task in a group is a important part in business process, where everyone needs to discuss his ideas, to share his opinion, to coordinate his planning, to make next worked planning and makes a concluding together. The increasing mobility of humans made a member of group can t ever the same place and time so that very hard to collaborate. Therefore needs tools to facility collaborate without time and place considered. Software application as tools collaborate is called groupware. Groupware can be good applied needs a server application. The server application is responsible to manage and facility each client to collaborate with controlling activity each user, managing session and workspace by preparing functionality of text and image sending in the group. The responsibility of server application can run by well, it must capable run more than one calling the same method i.e. processing server must make cloning itself. The each of the result processing server will interact to client. To implementation of this idea, researcher will implement multithreading java by case study room meeting virtual class. Key words collaborating, server, client, multithreading, java 1. Pendahuluan Kolaborasi merupakan suatu kegiatan yang memungkinkan sekelompok orang bekerja dan berkomunikasi secara bersama-sama dan mempunyai sekumpulan aturan atau kebijakan tertentu yang berlaku pada setiap orang dalam kelompok tersebut [1]. Tingkat mobilitas manusia yang semakin tinggi, sangat membutuhkan adanya suatu wadah yang memfasilitasi kolaborasi pada waktu dan lokasi yang berbeda-beda[3]. Perangkat lunak yang mewadahi sistem kolaborasi disebut groupware [5]. Agar groupware berjalan dengan baik perlu adanya suatu aplikasi server yang bertanggung jawab mengatur dan memfasilitasi setiap client yang berkolaborasi, dengan cara menggandakan dirinya pada setiap akan berinteraksi dengan client. Pengembangan aplikasi sistem kolaborasi tidak terlepas dari dukungan teknologi pemrograman jaringan, salah satunya adalah dengan pemrograman java socket. Bahasa pemrograman java sejak pertama kali diluncurkan telah menyatakan diri sebagai bahasa yang general purpose, berorientasi objek, dan konkuren [4]. Konkurensi pada java didasarkan atas mesin virtual java yang mendukung banyak thread pada suatu saat. Setiap thread secara otonom mengeksekusi kode-kode java baik di dalam mesin pemroses tunggal maupun banyak mesin pemroses[6]. Setiap thread yang diciptakan pada java memiliki memori kerja (working memory) yang digunakan untuk menyimpan copy dari variabel-variabel yang digunakan. Ketika suatu thread mengeksekusi program java, thread melakukan operasi pada memori kerja, sementara memori utama digunakan sebagai master copy. Dukungan pengeksekusian banyak thread pada aplikasi yang sama pada waktu yang sama yang disebut multithreading akan menfasilitasi setiap pengguna dalam berkolaborasi. Penelitian ini bertujuan untuk melakukan analisis, perancangan, dan pengimplementasian multithreading java pada sistem kolaborasi berbasis web yang memenuhi kebutuhan dalam mendukung sistem kolaborasi pada suatu website. 2. Studi Konsep Sistem Kolaborasi Pengembangan aplikasi perangkat lunak yang dapat memfasilitasi kolaborasi perlu memperhatikan beberapa hal penting yaitu kebijakan dalam sistem kolaborasi,

komunikasi kelompok, dukungan teknologi pemrograman jaringan dalam mendukung pengembangan aplikasi perangkat lunak sistem kolaborasi, serta bagaimana aplikasi server dapat mengatur sistem dalam berkolaborasi dengan menerapkan konsep multithreading. 2.1 Kebijakan dalam Sistem Kolaborasi Secara umum terdapat empat mode pengkoordinasian aktivitas-aktivitas yaitu; parallel, pooled, sequential, dan reciprocal. Sitiap aplikasi sistem kolaborasi harus mendukung satu atau lebih mode pengkoordinasian aktivitas [8]. 2.2 Komunikasi Kelompok Komunikasi kelompok adalah komunikasi dengan pertukaran pesan di mana pesan dikirimkan oleh seorang anggota kelompok dan diterima oleh seluruh anggota kelompok. Terdapat beberapa cara/teknik untuk mengimplementasikan komunikasi kelompok dalam mendukung sistem kolaborasi, yaitu Pemrograman Socket dengan TCP/IP atau UDP/IP, Remote Procedure Call (RPC) dan Java RMI [2]. 2.3 Multithreading Thread merupakan suatu aspek penting bagi pemrograman java. Thread memberikan penulisan yang efisien dan server yang robust dalam memproses setiap client yang terhubung dalam thread yang terpisah. Konsep multithreading adalah memberikan dan memperbolehkan banyak thread dieksekusi pada program yang sama pada waktu yang bersamaan, seperti yang ditunjukkan pada Gambar 1. Ini tidak sama dengan multitasking, karena thread-thread mengeksekusi pada data space yang sama. Jika suatu variabel global diubah pada suatu thread maka semua thread akan memperhatikan perubahan tersebut[7]. Thread pada java diciptakan dan dikelola melalui kelas Thread yang terdapat di package standar java.lang. Pada java, menciptakan suatu objek kelas Thread akan menciptakan suatu thread [6]. Kelas Thread di java menyediakan sejumlah metode untuk mengendalikan thread misalnya untuk memasuki antrian (start), istirahat (sleep), dan lain-lain. Metode dari kelas Thread yang harus didefinisikan kembali oleh sub kelas adalah metode run. Metode run akan dipanggil secara otomatis saat suatu thread memegang kendali pemroses. Selain kelas Thread, java juga menyediakan interface Runnable yang dapat diimplementasikan oleh kelas yang mengimplentasikan metode run[7]. Gambar 1 Aplikasi multithreading Setiap thread memiliki prioritas yang menentukan penjadwalan thread. Bila thread diciptakan tanpa mendefinisikan prioritas secara eksplisit maka akan digunakan prioritas default, yaitu mempunyai nilai prioritas lima. Bila terdapat suatu thread yang memiliki prioritas yang lebih tinggi dari thread yang lain maka thread tersebut akan segera dijalankan sedangkan thread yang sebelumnya sedang berjalam akan segera menuju antrian (preemptive). Dengan mendefinisikan atribut modifier sebagai volatile akan dijamin bahwa setiap akses ke atribut tersebut yang akan dilakukan oleh suatu thread dijamin akan mengakses nilai current pada memori utama. 3. Hasil Percobaan Studi kasus penelitian ini adalah sebuah ruang kelas pertemuan maya. Pada sebuah ruang kelas terdapat seorang pengajar dan beberapa siswa. Pengajar yang mengontrol satu ruangan disebut initiator. Siswa yang berperan aktif dan dikontrol oleh initiator disebut participant. Kelangsungan proses kolaborasi dikontrol oleh moderator. Initiator atau participant yang berada pada suatu ruang kelas disebut collaborator. Media kolaborasi setiap ruangan menggunakan sebuah whiteboard sebagai drawing tools dan chat system sebagai presentation tools. Gambaran umum dari perangkat lunak yang akan dibangun ditunjukkan pada Gambar 2. Setiap collaborator yang mengikuti pembahasan topik yang sama akan dimasukkan dalam satu kelompok. Setiap collaborator akan memperoleh informasi yang sama dengan setiap pengguna dengan cara pengelompokkan thread pengguna menggunakan ThreadGroup sehingga thread lebih mudah dikontrol. Untuk mendukung suatu kelompok berkolaborasi lebih efektif digunakan bantuan sistem jaringan komputer (networked computer system) dan menerapkan kebijakan-kebijakan yang ditranslasikan kepada aturan-aturan (rules), yang disebut coordination

policies. Dari gambaran ini dapat dibuat arsitektur perangkat lunak sistem kolaborasi, seperti pada Gambar 3. Gambar 2 Gambaran umum aplikasi Gambar 4 Use case diagram 3.1 Perancanngan Sistem Gambar 3 Arsitektur perangkat lunak Dari fungsional perangkat lunak yang hendak dibangun, diperoleh use case diagram seperti yang ditunjukkan pada Gambar 4. Aplikasi yang dikembangkan pada penelitian ini menggunakan mode pengkoordinasian aktivitas secara parallel mode, di mana setiap pengguna dapat menggunakan workspace-nya tanpa adanya interupsi dari pengguna lain. Dalam menerapkan concurrency control menggunakan konkurensi yang dimiliki java atas mesin virtual java yang mendukung banyak thread pada suatu saat, yang sering disebut dengan istilah multithreading. Untuk menerapkan access control, sistem akan mengidentifikasi setiap pengguna berdasarkan users id yang dimiliki oleh setiap pengguna. Pengguna yang berperan sebagai initiator akan mengatur hak akses setiap pengguna lainnya, apakah pengguna dapat menggambar pada whiteboard atau hanya dapat menulis pada chat system, hanya memperhatikan pengguna lain atau dapat menulis pada chat system dan menggambar pada whiteboard. Pengaturan hak akses ini dilakukan dengan pengiriman token ke pengguna oleh initiator. Untuk menentukan letak penampilan pesan yang dikirim setiap pengguna dilakukan dengan cara menambahkan suatu label pada header setiap pesan, sehingga whiteboard dan chat system dapat beroperasi pada satu saluran komunikasi, seperti ditunjukkan pada Gambar 5. Gambar 5 Saluran komunikasi Setiap client yang terhubung ke server akan diterima (accept) oleh kelas WbCSServer dan diberikan kepadanya suatu thread untuk mengontrol komunikasi dengan server. Kelas WbCSClientSocket secara aktual bekerja untuk mendengarkan pesan dan mengirimkan pesan ke setiap client dalam satu kelompok, seperti yang ditunjukkan pada Gambar 6.

3.2 Implementasi Sistem Perangkat lunak aplikasi, memerlukan dukungan perangkat lunak lain dalam implementasinya seperti, sistem operasi Windows atau Linux, bahasa pemrograman java serta servlet engine Apache Tomcat 5.5 sebagai server side web application berbasis java (JSP/servlet) dan MySQL Server 5.0 pada suatu server. 3.3 Teknik Pengujian Gambar 6 Framework sistem kolaborasi Model konseptual dari aplikasi dari sisi server digambarkan pada Gambar 7. Sedangkan model konseptual aplikasi dari sisi client digambarkan pada Gambar 8. Gambar 7 Model konseptual pada sisi server Gambar 8 Model konseptual pada sisi client Teknik pengujian yang digunakan adalah teknik pengujian black box testing. Pengujian ini memungkinkan pemrogram untuk memperoleh sekumpulan kondisi masukan (input) yang akan secara penuh menjalankan semua kebutuhan fungsional untuk sebuah program. Dalam hal ini diambil salah satu butir uji, yaitu pengiriman pesan teks seperti yang ditunjukkan pada Tabel 1. Tabel 1 Pengujian pengiriman pesan teks Identifikasi TWbCS-01 Nama Pengiriman Pesan Teks Butir Uji Tujuan Media dalam mengirimkan pesan teks ke workspace pengguna dan menyimpan teks ke tabel Deskripsi Pengguna menulis string teks ke teks field aplikasi kemudian tekan ENTER Kondisi Awal Menu aplikasi applet menampilkan antar muka menu ruangan yang sedang dimasuki oleh pengguna Pengujian Skenario Uji 1. Masukkan string teks yang akan dikirim 2. Pilih pengguna yang akan menerima pesan 3. Tekan ENTER Kriteria Evaluasi Hasil 1. Pengguna mempunyai hak untuk mengirimkan teks 2. Pengguna yang dalam satu sesi tidak mengaktifkan tombol Ignore user(s) Kasus dan Hasil Uji (Data Normal) Masukan Harapan Pengamatan Kesimplan String teks [X] Terima [ ] Tolak Tampilkan string teks ke workspace. Simpan string teks ke tabel. String teks yang dikirim ditampilkan dan data disimpan di tabel Hasil pengujian pengiriman pesan teks dan gambar oleh pengguna direpresentasikan seperti pada Gambar 9.

Collaborative Research on International Technological Trends, in Gibbs, S. And Verrijn-Stuart, A.A(eds): Multi- User Interfaces and Applications, North-Holland, Amsterdam, pp :159-174 [6] Mahmoud, Q.H.. (2000). Distributed Programming with Java, Manning Publication Co. [7] Merlin, Hughes, C., et al (1997). Java Network Programming, Manning Publications Co. [8] Turoff, M. (1999). An End to Student Segregation: No More Seperation Between Distance Learning and Regular Courses: A summary of the invited plenary for the Telelearning 99 meeting in Montreal, Canada. Gambar 9 Menu teks area penulisan komentar dan pengiriman gambar Jasman Pardede, memperoleh gelar S.Si dari Universitas Andalas tahun 2001. Kemudian tahun 2005 memperoleh M.T bidang Rekayasa Perangkat Lunak dari Institut Teknologi Bandung, Indonesia. Saat ini sebagai dosen tetap program studi Teknik Informatika Institut Teknologi Nasional Bandung. 4. Kesimpulan Berdasarkan penelitian yang dilakukan, beberapa kesimpulan yang dapat diambil sebagai berikut : 1. Pada penelitian ini telah mengimplementasikan multithreading java pada sebuah aplikasi server sebagai wadah sistem kolaborasi dalam mendukung pekerjaan yang membutuhkan kerja sama kelompok dengan memperhatikan aspek-aspek kelompok awareness, pengaturan komputer-komputer client yang terhubung ke server, pengaturan hak akses dan pemantauan aktivitas. 2. Konkurensi pada java didasarkan atas mesin virtual java yang mendukung banyak thread pada suatu saat, mampu mendukung komunikasi kelompok di dalam pengembangan aplikasi sistem kolaborasi dan dalam pengelompokkan thread dilakukan dengan menggunakan ThreadGroup sehingga thread dapat lebih mudah dikontrol. REFERENSI [1] Bocig, P., Chaffey, D., et al. (1999). Business Information Systems Technology, development and Management, Prentice-Hall. [2] Coulouris, G., Dollimore, J., Kindberg, T. (2001). Distributed Systems Concepts and Design, 3 th edition, Pearson Education. [3] Geon-Tae Ahn, Jin-Hong Kim, Myung-Joon Lee. (2003). A Web-based Collaborative System and Its Application. School of Computer Engineering and Information Technology. [4] Gosling, James et al. (1996). The Java Language Specification, Sun Microsystems. [5] Lynch, K.J., Snyder, J.M., Vogel, D.R. and McHenry, W.K., The Arizona Analyst Information System : Supporting