Open Services
Gateway Initiative (OSGi)
Spesifikasi
Spesifikasi OSGI
adalah suatu kerangka kerja yang mendefinisikan aplikasi model manajemen siklus
hidup, sebuah layanan registrasi, sebuah lingkungan eksekusi dan modul.
Spesifikasi OSGI digunakan didalam sebuah aplikasi mulai dari ponsel ke open
source Eclipse IDE. Wilayah aplikasi lain meliputi mobile, otomasi industri,
otomatisasi bangunan, PDA, komputasi grid, hiburan (misalnya iPronto), armada
manajemen dan aplikasi server.
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.
Komponen inti
dari Spesifikasi OSGi adalah Framework OSGi. Framework menyediakan lingkungan
standar untuk aplikasi (disebut bundel).
Keterangan :
1. Bundel
Kumpulan
jaringan normal komponen dengan nyata tambahan header. Sebuah bundel
adalah sekelompok kelas Java dan sumber daya tambahan yang dilengkapi dengan
rincian file pada MANIFEST.MF nyata semua isinya, serta layanan tambahan yang
diperlukan untuk memberikan kelompok termasuk kelas Java perilaku yang lebih
canggih, dengan tingkat deeming seluruh agregat sebuah komponen.
2. Layanan
Layanan yang
menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan,
menerbitkan dan menemukan model dapat mengikat Java lama untuk menikmati objek
(POJO). Siklus hidup menambahkan lapisan bundel dinamis yang dapat diinstal,
mulai, berhenti, diperbarui dan dihapus. Buntalan bergantung pada lapisan modul
untuk kelas loading tetapi menambahkan API untuk mengatur modul-modul dalam run
time. Memperkenalkan lapisan siklus hidup dinamika yang biasanya bukan
bagian dari aplikasi. Mekanisme ketergantungan luas digunakan untuk menjamin
operasi yang benar dari lingkungan.
3. Layanan
Registrasi (Services-Registry)
API untuk
manajemen jasa (ServiceRegistration, ServiceTracker dan ServiceReference).OSGi
Alliance yang telah ditentukan banyak layanan.Layanan yang ditentukan oleh
antarmuka Java.Kumpulan dapat mengimplementasikan antarmuka ini dan
mendaftarkan layanan dengan Layanan Registri.Layanan klien dapat menemukannya
di registri, atau bereaksi ketika muncul atau menghilang.
4. Siklus Hidup (Life-Cycle)
API untuk
manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall)
bundel.
5. Modul
Lapisan yang
mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan
dapat mengimpor dan mengekspor kode).
6. Keamanan
Layer yang
menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra
didefinisikan kemampuan.
7. Pelaksanaan Lingkungan
Mendefinisikan
metode dan kelas apa yang tersedia dalam platform tertentu. Tidak ada daftar
tetap eksekusi lingkungan, karena dapat berubah sebagai Java Community Process
menciptakan versi baru dan edisi Jawa. Namun, set berikut saat ini didukung
oleh sebagian besar OSGI implementasi:
· CDC-1.0/Foundation-1.0
· CDC-1.1/Foundation-1.1
· OSGi/Minimum-1.0
· OSGi/Minimum-1.1
· JRE-1.1
· Dari J2SE-1.2
hingga J2SE-1,6
8. Java Virtual
Machine
Java Virtual
Machine adalah sebuah spesifikasi untuk sebuah komputer abstrak.JVM terdiri
dari sebuah kelas pemanggil dan sebuah interpreter Java yang mengeksekusi kode
arsitektur netral. Kelas pemanggil memanggil file API untuk dieksekusi oleh
interpreter Java. Dengan kata lain JVM adalah sebagai perantara antara program
yang akan dijalankan dan sistem operasi yang sedang digunakan.
REFERENSI :