OSGI adalah
konsorsium yang didirikan oleh Ericsson, IBM, Oracle, dan Sun. OSGI dikenal
juga sebagai Dynamic Module System untuk java. OSGI merupakan framework
untuk mengumpulkan komponen (bundle) fungsional dalam membuat suatu
program. Open Service Gateway Initiative
(OSGi) adalah sebuah system dan aplikasi interoperability berbasis komponen
platform yang terintegrasi. OSGi merupakan system modul dinamik untuk Java.
Teknologi OSGi adalah Universal Middleware. Teknologi OSGi menyediakan sebuah
service-oriented, lingkungan yang berbasis komponen untuk pengembang dan
menawarkan jalan standard untuk mengatur siklus hidup software. Kemampuan ini
dapat menambah nilai jangkauan dari computer dan peralatan yang menggunakan
platform Java dengan sangat hebat. Teknologi OSGi mengadopsi keuntungan dari
menambah time-to-market dan mengurangi biaya pengembangan karena teknologi OSGi
menyediakan subsistem komponen yang terintegrasi dari pre-build dan pre-tested.
Teknologi ini juga mengurangi biaya perawatan dan memberikan kesempatan
aftermarket yang baru dan unik karena jaringan dapat digunakan untuk update
secara dinamik dan mengirimkan service dan aplikasi di lapangan.
OSGI
menyediakan services seperti manajemen dalam siklus hidup suatu program
dan security-nya. Beberapa OSGI yang open source :
- Equinox
- Knoplerfish
- Apache felix
Implementasi
dari OSGI adalah membolehkan pengembang aplikasi untuk memecah aplikasi menjadi
beberapa modul yang saling tergantung (interdependencies). Dengan
begitu, aplikasi lebih mudah untuk diatur.
Keuntungan
menggunakan OSGI :
- Mengurangi kompleksitas dalam perubahan atau penambahan plugins
- Komponen OSGI dapat digunakan lagi untuk aplikasi yang lain.
- Mudah dalam deployment karena menyediakan API yang dapat diintegrasikan dengan sistem manajemen eksternal.
- Bundle dapat di-update secara dinamik tanpa mengubah sistem dasarnya bila di-uninstall.
- Adaptif untuk semua service yang tersedia.
Beberapa bagian dapat di-shutdown
untuk menyelesaikan bug.
Arsitektur
OSGI
Model layer
dari 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.
Sumber :
Tidak ada komentar:
Posting Komentar