Pendahuluan
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.
Spesifikasi
Spesifikasi OSGI yang
sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE.
Wilayah aplikasi lain meliputi mobil, otomasi industri, otomatisasi bangunan,
PDA, komputasi grid, hiburan (misalnya iPronto), armada manajemen dan aplikasi
server. Adapun spesifikasi yang lain dimana OSGI akan dirancang untuk
melengkapi standar perumahan yang ada, seperti orang – orang LonWorks (lihat
kontrol jaringan), CAL, CEBus, HAVi, dan lain-lain.
Inti bagian dari spesifikasi
adalah suatu kerangka kerja yang mendefinisikan aplikasi model manajemen siklus
hidup, sebuah layanan registrasi, sebuah lingkungan eksekusi dan modul.
Berdasarkan kerangka ini, sejumlah besar OSGI layers, API, dan Jasa telah
ditetapkan. Spesifikasi OSGI yang dikembangkan oleh para anggota dalam proses
terbuka dan tersedia untuk umum secara gratis di bawah Lisensi Spesifikasi
OSGI. OSGI Alliance yang memiliki program kepatuhan yang hanya terbuka untuk
anggota. Pada Oktober 2009, daftar bersertifikat OSGI implementasi berisi lima
entri.
Struktur
Ada 6 struktur yang dibutuhkan
dalam membangun struktur OSGI, yaitu :
Layer
Model layer
seperti yang dijelaskan dalam gambar dibawah ini.
Definisi dari
gambar diatas :
Bundles :
komponen OSGI yang dibuat pengembang
Service : Service
layer menghubungkan bundle dengan dinamis.
Life-cycle : API
yang diinstal, start, stop, update, dan uninstall bundle
Module : bagian
untuk export dan import kode
Security : bagian
yang mengatur keamanan bundle
Execution
Environment : menetapkan metode dan class yang dipakai.
Konsep ini akan
dijelaskan di bawah.
Module
Konsep modul adalah pekerjaan
yang lebih mudah. Module adalah inti dari spesifikasi dan pemakaian dalam
konsep bundle. Dalam isrilah Java, bundle ada dalam file lama JAR, Osgi
menyembunyikan segalanya kecuali setelah di-export.
Service
Alasan kenapa kita butuh model
service dikarenakan Java sulit ditulis dengan class sharing. Solusi standart
java menggunakan Factories menggunakan dynamic class dan static.
Deployment
Bundle dijalankan di OSGI
Framework. Ini bukanlah kontainer seperti server aplikasi java. Ini adalah
collaborative environment yang berjalan di virtual machine yang sama dan share
kode.
Implementation
Spesifikasi OSGI membutuhkan
referensi implementasi setiap spesifikasi. Bagaimanapun, sejak spesifikasi
pertama selalu untuk perusahaan telah diimplementasikan sebagai open source.
Sekarang telah ada 4 open source framework dan banyak implementasi OSGI.
Konklusi
Spesifikasi OSGI menyediakan
model komponen yang dewasa dan komprehensif dengan API yang sangat efektif.
Merubah monolitik atau plugin yang berkembang didasarkan sistem OSGI hampir
selalu menyediakan peningkatan yang besar dan lebih banyak projek yang dikemas.
Source