Artikel ini berisikan tentang Teknologi Sistem Informasi...

Monday, January 20, 2014

Tugas Open Services Gateway Initiative (OSGi)



Nama Kelompok :
-         Elsa Marisi Manurung (12110344)
-         Elyda Azarya (12110353)


KOLABORASI ANTARA OSGIFRAMEWORK DENGAN TEKNOLOGI JINI PADAHOME NETWORK SYSTEM


ABSTRAKSI

Penelitian ini bertujuan membangun sebuah prototype home network system dengan mengimplementasikan OSGi framework dan teknologi Jini. Dalam penelitian ini penulis mempelajari dan menerapkan penggunaan teknologi Jini untuk menghubungkan beberapa OSGi framework dan pengendalian home network system melalui internet. Jaringan komputer yang menghubungkan dan mengendalikan berbagai macam peralatan elektronis di rumah disebut sebagai home network. Standar protokol yang dapat digunakan untuk home networking antara lain adalah Bluetooth, uPnP, HAVi dan X10. Untuk mengintegrasikan peralatan yang memiliki protokol-protokol berbeda tersebut dan menghubungkan sebuah home network dengan internet diperlukan sebuah service gateway. Open Service Gateway Initiative (OSGi) Consortium mengembangkan spesifikasi standar untuk service gateway. Sun Microsistem mengembangkan perangkat lunak berbasis Java yang mengimplementasikan standar OSGi yaitu Java Embedded Server. Jini merupakan salah satu standar untuk home networking dan sistem terdistribusi berbasis Java. Teknologi Jini memungkinkan komunikasi antar OSGi framework. Hasil penelitian ini menunjukkan bahwa kolaborasi antara OSGi framework dan teknologi Jini dapat diimplementasikan dalam pembuatan home gateway untuk home network system.

BAB I  PENDAHULUAN


1.1.            Latar Belakang Permasalahan

Berbagai peralatan elektronis yang ada di rumah seperti lampu, pendingin, pemanas dantermometer digital dapat dihubungkan kesebuah network yang dikendalikan oleh sebuah systemcomputer sehingga memudahkan kita untuk mengendalikan peralatan di rumah kita cukup dari sebuahtempat dan sebuah waktu saja, bahkan kita dapat mengendalikan peralatan yang ada dari luar rumahmelalui internet yang terhubung ke rumah kita. Jaringan komputer yang menghubungkan danmengendalikan berbagai macam peralatan elektronis di rumah ini disebut sebagai homenetwork. Perusahaan-perusahaan  yang memproduksi peralatan elektronik untuk home network memilikiprotocol masing-masing yang digunakan sebagai standar komunikasi untuk peralatan yang merekaproduksi. Standar protocol tersebut antara lain adalah Bluetooth, uPnP, HAVi dan X10.
Untuk mengintegrasikan peralatan yang memiliki protocol - protokol
Berbeda tersebut dan menghubungkan sebuah home network dengan internetdiperlukan sebuah service gateway. Service gateway merupakan sebuah alat tersentralisasi yang menjadi antarmuka yang menghubungkan internet dengan homenetwork. Open Service Gateway Initiative (OSGi)Consortium merupakan organisasi non-profit yang mengembangkan spesifikasi standar untuk service gateway. Sun Microsistem, salah satu pendiri OSGi Consortium, mengembangkan perangkat lunakberbasis Java yang mengimplementasikan standar OSGi yaitu Java Embedded Server (JES).
Jini yang dikembangkanoleh Sun Microsistem merupakan salah satu
Standar untuk            home network system. Jini merupakan system terdistribusi
Berdasar pada ide penggabungan sekelompok penyedia dan pengguna service yang diberikan olehperalatan yang terhubung kesebuah network. Pada OSGi framework bias dijalankan berbagai macamservice, jika service Ini di share ke network dengan menggunakan teknologi Jini, maka dua atau lebihOSGi framework dapat berkomunikasi satu sama lain.
Dalam penulisan ini penulis mempelajari penerapan teknologi Jini untuk menghubungkan dua ataulebih OSGi          framework dan membangun home network  system            yang dapat diaksesmelalui internet. Sistem yang akan dibangun      nantinya dapat digunakan untuk menghubungkan danmengendalikan berbagai macam peralatan dengan berbagai macam protocol dan vendor yang berbeda. Penulis menggunakan peralatan berbasis protocol X10 dan peralatan yang terhubung kekomputermelalui antarmuka serial port untuk merepresentasikan peralatan yang dapat terhubung kesistem.


1.2.    Tujuan Penelitian

Tujuan dari penelitian yang dilakukan penulis adalah membuat
Rancangan dan implementasi home network system yang menerapkan standar OSGi, teknologiJava Embedded Server dan teknologi Jini. 
Dari tujuan tersebut terdapat sub tujuan sebagai berikut:
  1. Mempelajari da nmengimplementasika nstandar OSGi untuk         homenetwork  system
  2. Mempelajari penerapan Jini untuk distributed system.
  3. Mempelajari dan mengimplementasikan Jini untuk menghubungkan dua atau lebih OSGi framework.
  4. Membangun home network system yang dapat diakses melalui internet


1.3.    Ruang Lingkup Permasalahan

Ruang lingkup dari penelitian ini adalah:
  1. Mempelajari dan menerapkan spesifikasi OSGi
  2. Mempelajari dan menerapkan teknologi JES sebagai implementasi Spesifikasi OSGi dan berfungsi sebagai OSGi framework pada home network system.
  3. Menggunakan Jini sebagai teknologi Java yang mendukung distributed services pada home network system.
  4. Mempelajari dan menggunakan protokol X10 untuk komunikasi System pengontrol dengan peralatan berbasis protokol X10.
  5. Mempelajari dan menggunakan Java Communication™ API untuk\ Komunikasi system pengontrol dengan peralatan yang terhubung Melalui serial parallel port.

1.4.    Metodologi Penelitian

Metodologi yang digunakan olehpenulis dalam penelitian ini meliputi
langkah-langkah sebagai berikut:
1.      Perumusan masalah
2.      Studi literatur
Literatur yang dipelajari oleh penulis adalah sebagai berikut:
  1. Java Communication™ API (for Linux) Java Communication™ API merupakan Java API yang digunakan untuk mengakses serial pararel port
  2. Protokol X10 Standar protocol untuk komunikasi antara peralatan elektronik Yang berkomunikasi melalui jaringan listrik.
  3. J2ME Java Virtual Machine yang digunakan untuk menjalankan program yang berbasis Java untuk lingkungan embedded system.
  4. Jini Tehnologi Java yang menggabungkan  sekelompok  penyedia  dan  pengguna  service pada  sebuah network, service tersebut diberikan oleh peralatan yang terhubung ke network
  5. OSGi framework dan JES  OSGi merupakan standar spesifikasi untuk service gateway yang menghubungkan  home network systemdengan internet. JES merupakan teknologi Java yang mengimplementasikan standar OSGi.
  6. Servlet Servlet digunakan untuk menghasilkan dokumen HTML untuk antarmuka pengontrolan home network system dari web browser via protokol HTTP.


1.5.    Sistematika Penulisan
          Sistematika penulisan ini adalah sebagai berikut :

·                     Bab I Pendahuluan, berisi latar belakang masalah, tujuan penelitian, ruang lingkup masalah, metodepenelitian, dan sistematika penulisan.
·                     Bab II Landasan Teori, berisi landasan-landasan teori yang digunakan dalam penulisan ini. Landasanteori diperoleh penulis dari studi literature yang meliputi protokol X10, Java Communication™ API, J2ME,  Jini dan OSGi.
·                     Bab III Analisa Kebutuhan Sistem, berisi arsitektur sistem, analisa kebutuhan system dari sisipengguna dan usecase diagram.
·                     Bab VII Kesimpulan, berisi kesimpulan dari skripsi ini dan berisi saran pengembangan di masadepan terhadap sistem yang dihasilkan.

Keseluruhan tulisan dalam penulisa ini menggunakan font Times New Roman 12-14 poinkecuali untuk penulisan kelas-kelas menggunakan font Courier New 10 poin dan penulisan kode program menggunakan font Arial 8 poin.

BAB II  LANDASAN TEORI


2.1.    Java Communication API

Antarmuka terpopuler dari sebuah personal komputer (PC) adalah serial port atau disebut juga sebagai RS-232 (singkatan dari Recommend Standar  232). Antar muka ini memungkinkan computer berkomunikasi dengan external device. Peralatan yang memiliki antarmuka serial misalnya printer, modem, bar code scanner dan smart card reader. Selain antarmuka serial port terdapat antarmuka parallel port. [Mysore, 1998]
Untuk melakukan komunikasi dengan serial I/O device dan parallel I/O  device  dengan bahasa pemrograman Java, dibuatlah Java Communication™ API. Untuksistemoperasi Linux digunakan Java Communication™ API for Linux yang berisi packagegnu.io yang mendukung serial port dan pararel port dengan semantik java yang tradisional seperti stream danevent. Denganmenggunakan Java Communication™ API,  kita dapat mengirimkan dan menerima data dari external device yang terhubung ke PC kita melalui serial port dan parlelport. Java Communication™ API  jugamemberikan pilihan lengkap untuk mengkonfigurasi semua parameter yang  di  perlukan  untuk  berkomunikasi dengan  serial I/O  device  dan  parallel I/O device. Parameter yang dapat dikonfigurasi antara lain adalah baud rate,  flow control dan  parity bit. Pada struktur API untuk  pemrograman  serial dan parelel device,  Java Communication™ API berperan sebagai port manager.
Java Communication™ API memberikan fungsionalitas sebagai berikut: 
  1. Spesifikasi API yang lengkap untuk komunikasi computer dengan Serial  port dan paralel port
  2. Kontrol penuhuntuk semua parameter yang meliputi baud rate, parity Bit dan flow control
  3. Basic I/O Control yang menjadi sub kelas dari Java I/O Stream. Untuk input dan   ouput,  Java Communication™ API menggunakan stream yang sudah sangat dikenal oleh semua Javaprogrammer. Stream dapat digunakan lebih luas untuk mendukung flow control dan threshold control.
  4. Menggunakan Java event model untuk memberikan notifikasi atas perubahan input yang diterima.

2.2.    Protokol X10

Protokol X10 merupakan salah satu protokol yang digunakan untuk mengendalikan beberapa peralatan elektronik yang terhubung kejaringan listrik. Protokol X10 menggunakan gelombang listrik sebagai media\ perantara  untuk  menyampaikan  perintah tertentuk eperalatan X10.
Ada 2 macam X10 device yaitu X10 tranmitter dan X10 receiver. X10 transmitter merupakan X10 deviceyang dapat  mengirimkan  perintah ke X10 receiver. X10 receiver dapat menerima sinyal berisi perintah dari X10  transmitter tetapi tidak dapat mengirimkan sinyal terhadap  X10  transmitter sebagai respon dari perintah yang diberikan. Setiap perintah yang  dikirimkan   X10 transmitter akan dibroadcast kesemua peralatan X10 yang  terhubung  kejaringan listrik. Sebuah X10 tranmitter yang dapat  dihubungkan  dengancomputer disebut sebagai X10 controller. X10  transmitter  memiliki  antar  muka serial port sehinggadapatdihubungkandengan komputer. Dengan adanya  antar  muka serial port tersebut kita dapat mengirim perintah dari computer ke X10 device yang ada.


BAB III  ANALISA KEBUTUHAN SISTEM


Pada bab ini akan dibahas permasalahan dan analisa kebutuhan dari sistem.Pada tahap ini akan dibuat gambaran umum tentang struktur, pola serta komponen sistem secara umum, rumusan kebutuhan fungsionalitas dari sistem dan use case diagram


3.1.    Arsitektur Sistem

Ada 3 komponen utama yang akan dibangun yaitu         home network system,   JES framework    dan Jini    system. Ketiganya saling terkait dan mendukung satu sama lain. Masing-masing  komponen akan dijelaskan dalam sub-sub bab sebagai berikut:


3.1.1      Home Network System

Sebuah home network system meliputi satu atau lebih deviceyang terhubung ke sebuah komputer yang akan digunakan untuk mengendalikan   device Dalam penelitian ini digunakan beberapa peralatan untuk merepresentasikan device yang dapat terhubung ke sistem yaitu:
-         X10  device
X10 device yang digunakan dalam penelitian ini terdiri dari 3
buah alat yaitu :
  1. 1 buah X10   controller/transmitter (CM12U) yang memiliki antarmuka RS-232 untuk dihubungkan dengan        serial port komputer.
  2. 1 buah X10       receiver/appliance module     (AM12U), X10 receiver ini dihubungkan dengan sebuah lampu yang akan merepresentasikan sebuah     appliance. Operasi yang dapat dilakukan pada X10   receiver  ini adalah operasi menyalakan dan mematikan appliance.
  3. 1 buah X10   receiver/lamp module    (AM12U), X10   receiver ini dihubungkan dengan sebuah lampu. Operasi yang dapat dilakukan pada X10   receiver  ini adalah operasi menyalakan (on), mematikan (off), meredupkan (dim) dan memperterang (bright) lampu.
-         Serial I/O Switch (K108) K108 merupakan rangkaian       microcontroller   elektronik yang  memiliki 8     output switch, 4       input switch        dan memiliki antarmuka RS 232  untuk dihubungkan dengan          serial port komputer. Operasi yang dapat dilakukan pada K108 adalah menyalakan dan mematikan      switch serta mendapatkan status switch Tiap switch K108 dapat dihubungkan ke alat elektronik lainnya. Dalam penelitian ini K108 dihubungkan dengan lampu, pemanas dan pendingin. 
-         Serial Digital Termometer (K145) K145 merupakan rangkaian       microcontroller   elektronik  yang digunakan untuk mengukur suhu ruangan dan memiliki antarmuka RS-232 untuk dihubungkan dengan          serial port komputer. K145 memiliki 4 buah sensor port          yang masing- masing dapat dihubungkan dengan sebuah sensor suhu. Operasi yang dapat dilakukan pada K145 adalah mendapatkan informasi suhu dari sensor suhu.


3.1.2      JESFramework

Pada penelitian ini akan dibuat Jini system yang menghubungkan beberapa   OSGi framework. OSGi framework      ini diimplementasikan dengan JES. Untuk keperluan tersebut dibangun 4 buah JES framework yang berada di 4 buah komputer yang berbeda. JES     framework yang pertama akan menjalankan Jini lookup service. JES     framework yang ke dua akan dihubungkan dengan X10 device dan JES framework yang ke tiga dihubungkan dengan K145 dan K108. Sedangkan JES framework yang ke empat akan digunakan sebagai Jini          client dan menyediakan akses pengoperasian   device melalui protokol HTTP. Penjelasan lebih lanjut dapat dilihat pada sub bab 3.1.4 tentang skenario sistem. Dari 3 jenis device yang digunakan dalam pembuatan home network system    ini akan diimplementasikan sebagai JES        service
yang berjalan di atas JES framework dan menjadi Jini service yang akan dapat diakses oleh Jini client.  Jini system yang akan dibuat terdiri dari        service client dan lookup service yang masing-masing berjalan di atas JES framework. JES   framework yang pertama akan menjalankan Jini lookup service dan yang ke dua akan menjalankan Jini            service untuk X10 device. JES    framework yang ke tiga akan menjalankan Jini service untuk K108 dan K145. Sedangkan JES framework yang ke empat akan berperan sebagai Jini      client dan home portal yang menyediakan akses kendali ke device melalui internet. Pada gambar berikut dapat dilihat arsitektur Jini system yang
akan diimplementasikan dalam skripsi ini.


3.1.4    Skenario Sistem

Pada sub bab 3.1.1 telah dijelaskan ada 3 macam device yang akan digunakan. Dari 3     device akan dibuat 5 macam alat yaitu: lampu, pemanas, pendingin, X10 device dan termometer. Lampu, pemanas dan pendingin merupakan peralatan elektronik yang biasa digunakan di rumah. Lampu, pemanas dan pendingin akan dihubungkan ke K108. Termometer menggunakan K145 yang memiliki sensor suhu. Kelima alat tersebut akan dihubungkan ke beberapa komputer yang berbeda untuk membentuk suatu sistem terdistribusi. Untuk pengembangan sistem dibutuhkan 5 komputer, kelima komputer tersebut akan diberi kode C01, C02, C03, C04 dan C05 untuk memudahkan penulisan. Komputer C01 digunakan sebagai Jini     lookup service.   X10 device   akan terhubung ke komputer C02. Sedangkan lampu, pemanas, pendingin dan termometer akan terhubung ke komputer C03. Komputer C02 dan C03 tersebut diinstal        Java Embedded Server sebagai OSGi        framework untuk menjalankan         device manager   dan   device service dari masing-masing alat. Kedua komputer tersebut juga berperan sebagai penyedia service Jini. Komputer C04 akan berperan sebagai      Jini client    dan  web server
Komputer ini juga akan menyediakan antarmuka berupa   dokumen HTML yang dapat diakses oleh       internet user    melalui protokol HTTP.  Dokumen HTML ini dihasilkan oleh servlet dan berisi    form untuk mengoperasikan kelima alat yaitu lampu,
pemanas, pendingin, termometer dan X10 device.         Servlet   yang menghasilkan dokumen HTML tersebut akan memproses request dari user dengan menggunakan Jini client untuk memperoleh Jini service. Komputer C02 dan C03 juga menyediakan antarmuka berupa dokumen HTML untuk mengkonfigurasi           device yang terhubung dengan masing-masing komputer tersebut. Sedangkan komputer C05 digunakan sebagai web browser.Secara keseluruhan sistem dibuat dengan tujuan agar        user dapat mengakses, mengkonfigurasi dan mengoperasikan         device yang berada pada lingkungan sistem terdistribusi dengan menerapkan OSGi dan Jini. 


3.1.5    Application Layer

Berdasarkan gambaran struktur dan skenarion sistem tersebut akan dilakukan pendefinisian layer (lapisan) aplikasi. Ada 3 lapisan dari aplikasi yang akan dibuat yaitu terdiri dari      presentation and application layer,    physical layer   dan service layer. Presentation and application layer atau lapisan presentasi dan aplikasi merupakan lapisan yang dikembangkan untuk pembuatan          user interface yang dapat diakses user melalui protokol HTTP dengan web browser. Service layer atau lapisan service merupakan lapisan yang menjadi penghubung dan alat komunikasi antara presentation and application layer dan       physical layer.    Physical layer atau
lapisan fisik adalah peralatan fisik yang akan dikontrol oleh service layer.

3.2.    Pengguna Sistem

Setelah mendapatkan gambaran sistem yang akan dibangun selanjutnya dirumuskan pengguna sistem dan fungsionalitas sistem tersebut. Terdapat 2 tipe user yang akan menggunakan sistem yaitu:
-          Configurator,   merupakan   user   yang dapat mengkonfigurasi      device seperti menentukan port yang digunakan oleh sebuah device
-          Operator, merupakan    user  yang dapat melakukan operasi terhadap device seperti menyalakan dan mematikan device.


3.3.    Fungsionalitas Sistem

Fungsionalitas dari sistem yang akan dibangun oleh penulis dibagi
menjadi beberapa bagian yaitu:
1.      Pengkonfigurasian device Configurator    dapat mengkonfigurasi 3 macam alat yang telah dijelaskan pada sub  bab 3.1.1 yaitu X10 device, K108 dan K145. 
-         Pengkonfigurasian       X10       device,       configurator        dapat mengkonfigurasi  port yang digunakan oleh X10 controller dan menentukan device address dari X10 receiver.
-         Pengkonfigurasian       K108      device,      configurator       dapat mengkonfigurasi   port  yang digunakan oleh K108 (serial  I/O switch) dan menentukan jenis alat yang terhubung ke masing- masing switch K108. Dalam penelitian ini ada 3 jenis alat yang dihubungkan ke K108 yaitu lampu, pemanas dan pendingin.
-         Pengkonfigurasian       K145      device,      configurator       dapat mengkonfigurasi port   yang digunakan oleh K145 (termometer digital) dan menentukan sensor suhu mana yang terpakai. 
2.      Pengoperasian device Operator   dapat melakukan operasi terhadap       device yang terdapat dalam sistem.   
-         Pengoperasian X10    device operator  dapat melakukan operasi menyalakan, mematikan X10 device dan melakukan penjadualan dari operasi tersebut.
-         Pengoperasian lampu,       operator    dapat melakukan operasi menyalakan, mematikan lampu dan melakukan penjadualan dari operasi tersebut.
-         Pengoperasian pendingin,    operator   dapat melakukan operasi menyalakan, mematikan  Pengoperasian pemanas,      operator   dapat melakukan operasi menyalakan, mematikan pemanas dan melakukan penjadualan dari operasi tersebut.
3.      Pengambilan data waktu, operator dapat mengetahui waktu pada saat ini. Satuan waktu yang ditampilkan adalah jam, menit dan detik
4.      Pengambilan data temperatur, operator dapat mengetahui temperatur ruangan pada saat ini.






BAB IV KESIMPULAN DAN SARAN

4.1.  Kesimpulan

Dari penelitian dan pembuatan sistem oleh penulis, diperoleh kesimpulan sebagai berikut:
  1. Teknologi Jini dapat menghubungkan beberapa OSGi framework dengan mengimplementasikan Jini sebagai service bundle
  2. OSGi framework yang diimplementasikan dengan Java Embedded Server memudahkan manajemen aplikasi yang dipresentasikan dengan service bundle. OSGi framework menerapkan konsep aplikasi yang dinamis, yaitu aplikasi tidak bersifat static tetapi memiliki daur hidup ( life cycle ).
  3. Kolaborasi OSGi framework dan teknologi Jini mewujudkan konsep plug and play device yaitu sebuah device dapat dengan mudah bergabung ke jaringan dan lepas dari jaringan tanpa perlu menghentikan sistem yang sedang berjalan.
  4. Kolaborasi OSGi framework dan teknologi Jini mewujudkan konsep “smart device that talk each other” yaitu sebuah device dapat berkomunikasi dengan device lainnya melalui service dari masing- masing device. Dalam penelitian ini contohnya jika service dari timer dan service dari X10 device dijalankan maka penjadualan X10 device akan muncul.
  5. OSGi framework dapat menangani device dengan protokol-protokol berbeda satu sama lain. Dalam penelitian ini, OSGi framework mampu menangani X10 device yang menggunakan protokol X10 dan serial device.
  6. Dalam OSGi framework setiap service bundle memiliki interface dan implementation yang terpisah. Hal ini memudahkan dalam penulisan program karena implementation dapat ditulis ulang tanpa perlu merubah interface yang ada. Pemisahan interface dan implementation tersebut sangat bermanfaat jika service akan digunakan oleh service lain dalam OSGi framework.
  7. Device yg ada saat ini masih bersifat dumb device. Device tidak dapat memberikan input ke sistem sehingga masih menggunakan configurator untuk melakukan konfigurasi device secara manual.
  8. Sistem ini dapat diakses dari LAN dan internet melalui web browser apabila komputer yang digunakan untuk menjalankan HTTP server antar muka web memiliki IP address yang dapat diakses dari LAN dan internet.

4.2.  Saran

Saran-saran pengembangan dari penelitian ini adalah:
  1. Sistem dapat dikembangkan lebih lanjut untuk menghubungkan lebih banyak Device dan menggunakan protocol-protokol lain seperti Bluetooth, uPnP dan HAVi.
  2. Sistem dapat dikembangkan lebih lanjut untuk menggunakan antarmuka berbasis extensible markup language (XML) untuk memudahkan sistem menampilkan hasil ke user dengan adanya pemisahan antara data dan visualisasi data karena sifat XML yang memungkinkan sebuah dokumen independen terhadap layout-nya. XML juga dapat digunakan untuk menyeragamkan format data yang akan diproses oleh sistem.
  3. Sistem dapat dikembangkan lebih lanjut untuk menggunakan antarmuka yang lebih beragam, tidak hanya berupa dokumen HTML tetapi juga dokumen WML dan SMS
  4. execution command interface sehingga sistem selain melalui web browser juga dapat diakses melalui wap browser dan mobile phone.









DAFTAR PUSTAKA


[Arrington, 2001]          Arrington, CT. Enterprise Java with UML. John Wiley &
Sons Inc. 2001


[Avedal, 2000]                Avedal, Karl et al. Professional JSP. Wrox. 2000


[Booch, 1998]                 Booch, Grady. James Rumbaugh and Ivar Jacobson. The
Unified Modelling Language User Guide. Addison Wesley.
1998


[Chen, 2002]                    Chen, Kirk. Li Gong. Programming Open Source Gateway
with Java Embedded Server Technology. Addison Wesley.
2002


[Cooper, 1998]                Cooper, James W. The Design Patterns Java Companion.
Addison Wesley. 1998


[Davidson, 1999]           Davidson, James Duncan and Danny Coward. Java Servle
Specification v2.2 Final Release. Sun Microsystem. 1999.


[Day, 2000]                       Day, Bill. Jini™ Connection Technology Architecture
Overview. Sun Microsystem. 2002