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:
Posting Komentar