Senin, 05 Januari 2015

Open Service Gateway Initiative

Open Service Gateway Initiative
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.
Arsitektur OSGI
Model layer dari OSGI :

Keterangan :
1.      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.).
2.      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).
3.      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.
4.      Modules adalah layer yang menyediakan class dasar untuk loading fungsionalnya. Layer ini juga menjelaskan bagaimana bundle dapat mengimpor dan mengekspor kode.
5.      Security adalah layer untuk menangani aspek keamanan (security).
6.      Execution environment adalah layer yang menjelaskan method dan class apa yang tersedia dalam platform OSGI.

Keuntungan menggunakan OSGI :
1.      Mengurangi kompleksitas dalam perubahan atau penambahan plugins
2.      Komponen OSGI dapat digunakan lagi untuk aplikasi yang lain.
3.      Mudah dalam deployment karena menyediakan API yang dapat diintegrasikan dengan sistem manajemen eksternal.
4.      Bundle dapat di-update secara dinamik tanpa mengubah sistem dasarnya bila di-uninstall.
5.      Adaptif untuk semua service yang tersedia. Beberapa bagian dapat di-shutdown untuk menyelesaikan bug.
Kerugian menggunakan OSGI :
1.      Ruang lingkupnya sangat kecil
2.      Keamanan kurang terjaga
3.      Biaya sangat mahal
4.      Rawan terjadinya pencurian data
5.      Ukuran penyimpanan yang sangat kecil

Saran
Melihat dari kerugian dalam menggunakan teknologi OSGI, diperlukan pengembangan lebih lanjut terutama pada bidang kemanan.

Sumber :
http://andhirapradana.blogspot.com/2012/11/spesifikasi-dari-open-service-gateway.html
http://www.ekowahyudi.com/2010/01/osgi-open-service-gateway-initiative.html

http://adipurwana.blogspot.com/2013/01/open-service-gateway-initiative-osgi.html