Senin, 05 Januari 2015

PENGANTAR TELEMATIKA - Open Service Gateway Initiative (OSGi)

Pengertian OSGi

OSGi (Open Service Gateway Initiative) adalah kerangka / framework java untuk mengembangkan dan menerapkan module perangkat lunak dan library. OSGi merupakan suatu proyek bersama yang didirikan oleh Ericsson, IBM, Oracle dan Sun dalam bentuk framework guna mengumpulkan komponen fungsional dalam membentuk suatu program.
OSGi memiliki 2 buah bagian, bagian pertama adalah perincian / spesifikasi untuk komponen modular atau disebut bundel (bundle) dan biasa juga disebut sebagai plug-in. Bagian kedua adalah Java Virtual Machine (JVM) level layanan registry dan bundel tersebut dapat digunakan untuk mempublikasikan, menemukan dan mengikat ke layanan dalam arsitektur berorientasi layanan.
Jadi OSGi adalah sebuah system dan aplikasi yang memiliki kemampuan untuk mencapai tujuan dan berbasis komponen platform terintegrasi. Teknologi OSGi menyediakan sebuah service-oriented, lingkungan yang berbasis komponen untuk pengembang dan menawarkan jalan standard untuk mengatur siklus hidup software. Contohnya adalah Eclipse IDE yang dikembangkan oleh eclipse dan berbasis GUI.


Arsitektur OSGi


Keterangan :
  • ·        Bundle adalah komponen OSGI yang dibuat oleh developer. Bundle ini dapat menggunakan service yang disediakan oleh layer lain pada OSGI (seperti security, service binding, life-cycle management, dll.).
  • ·       Services adalah layer yang menghubungkan bundle secara dinamik oleh penawaran dari model (publish-find-bind) untuk objek java. Selain itu, layer ini membolehkan service bundle untuk didaftarkan (registered).
  •       Life-cycle adalah layer yang menyediakan layanan untuk bundle starting, stopping, updating, installing, dan uninstalling dalam framework OSGI.Layer ini memiliki API untuk melakukan layanan tersebut.
  • ·        Modules adalah layer yang menyediakan class dasar untuk loading fungsionalnya. Layer ini juga menjelaskan bagaimana bundle dapat mengimpor dan mengekspor kode.
  • ·        Security adalah layer untuk menangani aspek keamanan (security).
  • ·        Execution environment adalah layer yang menjelaskan method dan class apa yang tersedia dalam platform OSGI.


Keuntungan menggunakan OSGi
  • ·        Mengurangi kompleksitas dalam perubahan atau penambahan plugins (Reduce Complexity)
Mengembangkan dengan teknologi OSGi berarti mengembangkan bundle yang merupakan komponen OSGi. Bundle tersebut menyembunyikan komponen internal mereka dari bundel lain dan berkomunikasi melalui layanan yang didefinisikan dengan baik. Menyembunyikan internal berarti mampu memberi kebebasan untuk mengubahnya dikemudian hari. Hal ini tidak hanya mampu mengurangi jumlah bug, melainkan mampu membuat bundle lebih sederhana untuk dikembangkan.
  • ·         Komponen OSGi dapat digunakan lagi untuk aplikasi yang lain (Reuse)
Model komponen dari OSGi membuatnya sangat mudah untuk digunakan oleh pihak ketiga dalam membangun sebuah aplikasi, peningkatan jumlah dari proyek open source memberikan JAR mereka siap untuk dibuat OSGi. Namun library komersial pun siap menjadi bundles.
  • ·         Mudah dalam deployment karena menyediakan API yang dapat diintegrasikan dengan sistem manajemen eksternal (Easy Development).
  • ·         Bundle dapat di-update secara dinamik tanpa mengubah sistem dasarnya bila di-uninstall (Dynamic Update). 
  • ·         Adaptif untuk semua service yang tersedia (Adaptive)
Model komponen OSGi dirancang dari bawah ke atas untuk memungkinkan pencampuran dan pencocokan komponen. Hal tersebut mengharuskan dependensi komponen dan mengharuskan komponen-komponen untuk hidup di suatu lingkungan di mana dependensi opsional tidak selalu tersedia. Daftar layanan OSGi adalah catatan yang dinamis di mana bundel dapat mendaftarkan, mendapatkan, dan mendengarkan layanan. Model layanan dinamis ini memungkinkan bundel menemukan kemampuan apa yang tersedia dalam diri sistem dan melakukan penyesuaian fungsionalitas yang mereka berikan. Hal ini membuat kode lebih flexible dan tahan terhadap perubahan.
  • ·         Beberapa bagian dapat di-shutdown untuk menyelesaikan bug.
  • ·         Simple
The OSGi API sangat sederhana. API inti hanya terdiri dari satu paket dan kurang dari 30 kelas / interface. API inti ini cukup untuk menulis kumpulan, menginstalnya, start, stop, update dan uninstall mereka.
  • ·         Small
OSGi Release 4 Framework ini dapat diimplementasikan kedalam 300KB JAR file.
  
Implementasi OSGI
 
Teknologi OSGi sudah sangat banyak dikembangkan untuk berbagai macam keperluan dalam sehari-hari maupun di bidang teknologi informasi dan industry serta di bidang ilmu komputer.
  • ·         Dalam kehidupan sehari-hari
Dikembangkan untuk mengendalikan alat-alat elektronik dalam rumah tangga dengan internet. Yaitu dengan menghubungkan berbagai framework OSGi ini untuk mengendalikan alat-alat rumah tangga yang bersifat elektronik. Hal ini dilakukan dengan berbagai protocol network yaitu Bluetooth, uPnP, HAVi, dan X10. Dengan bantuan Jini dan standart OSGi dari sun microsistem yaitu Java Embedded Server. Teknologi ini dinamakan home network dan jinni adalah salah satu standart untuk pembuatan home nerwork yang berbasis java.

  • ·         Teknologi dan industri
Dalam hal ini pengembangan OSGi dalam Teknologi dan industri adalah untuk otomatisasi industri. Seperti otomatisnya system dalam gudang yang dapat meminta dalam PPIC untuk mengadakan bahan baku, dan masih banyak yang lain.

  • ·         Ilmu Komputer
Dalam ilmu Komputer ini sangat banyak pengembang yang memanfaatkan teknologi OSGi ini. Dari surfing di internet banyak yang mengulas tentang Pemrograman Java yang mengapdopsi teknologi OSGi ini. Salah satu contoh adalah knopflerfish merupakan framework untuk melakukan OSGi didalam program Java. Dan juga eclipse IDE merupakan OSGi framework yang dikembangkan oleh eclipse dan berbasis GUI. Dan masih banyak juga dalam server serta program-program lain yang mengembangkan teknologi OSGi ini.


Kekurangan Penggunaan OSGi

  • ·         Pengguna dihadapkan pada tanggunjawab untuk terus menarik laporan informasi.
  • ·         Pengguna harus selalu mengetahui posisi perangkat yang dikelola.
  • ·         Membuat ketergantungan dalam kemudahan teknologi.
  • ·         Memberikan peluang penyalahgunaan sistem oleh pihak yang tidak berwenang jika interface OSGi lupa ditutup pengguna.
  • ·         Ruang lingkupnya sangat kecil
  • ·         Keamanan kurang terjaga dari kejahatan hacker
  • ·         Rawan terjadinya pencurian data
  • ·         Ukuran penyimpanan yang sangat kecil untuk data yang di simpan


Saran Penulis

Penggunaan OSGi dalam pengembangan aplikasi atau sistem sangat membantu pihak developer untuk menciptakan aplikasi atau sistem yang berguna dengan simple dan mudah. Semakin berkembangnya teknologi semakin banyak open source yang tercipta dan semakin banyak orang yang bukan dari IT developer mampu menciptakan aplikasi dengan bantuan OSGi ini, sehingga diharapkan mampu menggunakan teknologi ini dengan benar dan maksimal, benar dalam arti tidak membuat aplikasi yang merugikan orang banyak atau sistem yang sifatnya merusak.

Sumber :         
http://www.osgi.org/Technology/WhyOSGi
http://www.ekowahyudi.com/2010/01/osgi-open-service-gateway-initiative.html



Tidak ada komentar: