1. Pengertian
Open Services Gateway Initiative (OSGi)
OSGI (Open
Service Gateway Initiative) adalah sebuah rencana industri untuk cara standar
untukmenghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan
ke Internet.OSGI berencana menentukan program aplikasi antarmuka
(API) untuk pemrogrammenggunakan, untuk memungkinkan komunikasi dan kontrol
antara penyedia layanan danperangkat di dalam rumah atau usaha kecil jaringan.
OSGI API akan dibangun pada bahasapemrograman Java. Program java pada umumnya
dapat berjalan pada platform sistem operasikomputer.
OSGI adalah
sebuah interface pemrograman standar terbuka. The OSGI Alliance (sebelumnya
dikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah
sebuah organisasi standar terbuka yang didirikan pada Maret 1999. Aliansi dan
anggota – anggotanya telah ditentukan sebuah layanan berbasis Java platform
yang dapat dikelola dari jarak jauh.
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.
2. 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.
3. Arsitektur
OSGi Arsitektur
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.
· Bundels – komponen OSGi yang
dibuat oleh pengembang
· Services – Layanan bundel
menghubungkan lapisan dalam cara yang dinamis dengan menawarkan
menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek.
· Life Cycle – The API untuk
instalasi, start, stop, update, dan menghapus bundel.
·Modules – Lapisan yang
mendefinisikan bagaimana sebuah bundel dapat mengimpor dan mengekspor kode.
· Security (Keamanan) – Lapisan
yang menangani aspek keamanan.
· Execution Environment (Eksekusi
Lingkungan) – Menetapkan metode dan kelas-kelas apa saja yang tersedia dalam
platform tertentu.
Penjelasan:
1) Bundel
Kumpulan jar 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.