OSGI
adalah sebuah layanan platform untuk bahasa pemrograman Java sesuatu yang tidak ada dalam kungan lingstandalone Java
/ VM. OSGI
adalah sebuah layanan platform untuk bahasa pemrograman Java sesuatu yang tidak
ada dalam ligkungan lingstandalone Java / VM. 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.
ARSITEKTUR OSGI
OSGi
adalah sebuah set spesifikasi yang mendefinisikan sebuah komponen system
dinamik untuk Java. Spesifikasi ini memungkinkan sebuah model pengembangan
dimana aplikasi (secara dinamik) terdiri dari berbagai komponen yang berbeda.
Spesifikasi OSGi memungkinkan komponen-komponennya untuk menyembunyikan
implementasinya dari komponen lainnya ketika berkomunikasi melalui services
dimana biasanya ketika hal ini berlangsung implementasi antar komponen dapat
terlihat jelas. Model yang simple ini telah jauh mencapai efek dari segala
aspek dari proses pengembangan software.
Lapisan OSGI
Model lapisan dari OSGi adalah sebagai berikut :
Definisi :
a.
Bundles : bundles adalah komponen OSGi yang dibuat
oleh pengembang/developer.
b.
Services : lapisan service menghubungkan bundles
dalam sebuah jalan dinamik dengan menawarkan model publish-find-bind untuk
objek Java yang lama.
c.
Life Cycle : API untuk menginstall, memulai,
menghentikan, update dan menguninstall bundles.
d.
Modules : lapisan yang menjelaskan bagaimana bundles
dapat mengimport dan mengexport kode.
e.
Security : Lapisan yang memegang aspek keamanan.
f.
Execution Environment : menjelaskan class dan method
apa yang ada di platform.
KEUNTUNGAN TEKNOLOGI
OSGI
Menjelaskan
teknologi OSGi kepada yang belum familiar dengan teknologi ini sangatlah sulit.
Ada begitu banyak artikel yang menjelaskan teknologi OSGi tetapi hal itu masih
belum bisa dimengerti oleh user yang benar-benar awam karena teknologi OSGi
menyediakan solusi untuk permasalahan yang banyak orang menganggap bahwa maslah
itu merupakan aspek instrinsik dari Java.
Permasalahan
ini sebenarnya bukan masalah instrinsik dari Java dan teknologi OSGi dapat
mengatasi itu semua. Alasan utama mengapa teknologi OSGi dapat sukses karena
teknologi ini menyediakan komponen system yang benar-benar matang yang dapat
bekerja di lingkungan yang sangat banyak jumlahnya. Komponen system yang biasa
digunakan untuk membangun aplikasi yang tingkat kekompleksannya sangat tinggi
seperti IDEs (Eclipse), aplikasi server (GlassFish, IBM Websphere, Oracle/BEA
Weblogic, Jonas, JBoss), aplikasi framework (Spring, Guice), otomatisasi industry,
telepon dan banyak lainnya.
Keuntungan dari teknologi OSGi antara lain adalah
sebagai berikut :
1.
Mengurangi kompleksitas : mengembangkan dengan OSGi
berarti menembangkan bundles : salah satu komponen OSGi. Bundles adalah modul.
Bundles menyembunyikan aspek internalnya dari bundles lainnya. Hal ini berarti
ada banyak kebebasan untuk menggantinya di kemudian hari.
2.
Dapat digunakan kembali : model komponen OSGi sangat
mudah digunakan dan dapat digunakan dengan aplikasi pihak ketiga.
3.
RealWorld : OSGi framework dinamik. Hal ini berarti
OSGi dapat diupdate secara online.
4.
Mudah Penyebarannya : teknologi OSGi bukanlah sebuah
teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara
penginstalannya.
5.
Update yang dinamik : OSGi komponen bisa diupdate
secara dinamik.
6.
Adaptif : model komponen OSGi didesain sedemikian
rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
7.
Transparan
8.
Banyak versinya
9.
Simple : OSGi API sangat simple. API OSGi hanya
terdiri dari satu paket dan berjumlah kurang dari 30 kelas.
10.
Ukurannya kecil
11.
Kinerjanya cepat
12.
Malas : Malas dalam software itu berarti bagus.
Teknologi OSGi mempunyai banyak mekanisme hanya ketika dibutuhkan saja.
13.
Aman
14.
Sederhana
15.
Tidak Mengganggu Kinerja Aplikasi Lainnya
16.
Berjalan dimana saja
17.
Digunakan secara luas
18.
Didukung Oleh Berbagai Perusahaan : OSGi juga
didukung oleh berbagai perusahaan seperti Oracle, IBM, Samsung, Nokia, IONA,
Motorola, NTT, Siemens, Hitachi, Deutsche Telekom, Redhat, Ericsson, dan masih
banyak lagi.
Jika
sedang mengembangkan Java maka teknologi OSGi merupakan langkah lanjut yang
harus ditempuh karena teknologi OSGi dapat memecahkan masalah yang mungkin
tidak akan terbayangkan sebelumnya. Keuntungan menggunakan teknologi OSGi yang
begitu berguna jika kita menggunakan Java, maka sudah seharusnya teknologi OSGi
masuk berada dalam kotak peralatan kita.
OSGi Specif
ications
OSGi Service Platform Release 4
OSGi Service Platform Release 4 was first released
in October 2005. Version 4.1 was released in May 2007. Version 4.2 was released
in September 2009.
-Errata
-API Javadoc
-XML Schemas
OSGI menyediakan services seperti manajemen dalam
siklus hidup suatu program dan security-nya. Beberapa OSGI yang open source :
• Equinox
• Knoplerfish
• Apache felix
http://www.osgi.org/Specifications/HomePage
http://www.osgi.org/About/WhatIsOSGi
Open Services Gateway Initiative (OSGI)