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 ARSITEKTUR
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 :
Keuntungan dari teknologi OSGi antara lain adalah sebagai berikut :
A.
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.
B.
Dapat digunakan kembali : model komponen OSGi
sangat mudah digunakan dan dapat digunakan dengan aplikasi pihak ketiga.
C.
RealWorld : OSGi framework dinamik. Hal ini
berarti OSGi dapat diupdate secara online.
D.
Mudah Penyebarannya : teknologi OSGi bukanlah
sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat
diatur cara penginstalannya.
E.
Update yang dinamik : OSGi komponen bisa
diupdate secara dinamik.
F.
Adaptif : model komponen OSGi didesain
sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar
komponen.
G.
Transparan
H.
Banyak versinya
I.
Simple : OSGi API sangat simple. API OSGi hanya
terdiri dari satu paket dan berjumlah kurang dari 30 kelas.
J.
Ukurannya kecil
K.
Kinerjanya cepat
L.
Malas : Malas dalam software itu berarti bagus.
Teknologi OSGi mempunyai banyak mekanisme hanya ketika dibutuhkan saja.
M.
Aman
N.
Sederhana
O.
Tidak Mengganggu Kinerja Aplikasi Lainnya
P.
Berjalan dimana saja
Q.
Digunakan secara luas
R.
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 Specifications
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
Sumber :
http://www.osgi.org/Specifications/HomePage
http://www.osgi.org/About/WhatIsOSGi
OSGi Specifications
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
Sumber :
http://www.osgi.org/Specifications/HomePage
http://www.osgi.org/About/WhatIsOSGi