OSGI
(Open Service Gateway Initiative)
OSGI (Open Service
Gateway Initiative) adalah sebuah rencana industri untuk cara standar untuk
menghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke
Internet. OSGI berencana menentukan program aplikasi antarmuka (API) untuk
pemrogram menggunakan, untuk memungkinkan komunikasi dan kontrol antara
penyedia layanan dan perangkat di dalam rumah atau usaha kecil jaringan. OSGI
API akan dibangun pada bahasa pemrograman Java. Program java pada umumnya dapat
berjalan pada platform sistem operasi komputer. 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.
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.
Arsitektur
• 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.
Setiap kerangka yang
menerapkan standar OSGi menyediakan suatu lingkungan untuk modularisasi
aplikasi ke dalam kumpulan yang lebih kecil. Setiap bundel adalah erat-coupled,
dynamically loadable kelas koleksi, botol, dan file-file konfigurasi yang
secara eksplisit menyatakan dependensi eksternal mereka (jika ada)
Penjelasan:
a. 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.
b. 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.
c. 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.
d. Siklus Hidup (Life-Cycle)
API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
e. Modul
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
f. Keamanan
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra didefinisikan kemampuan.
g. 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.1/Foundation-1.1 CDC-1.1/Foundation-1.1
• OSGi/Minimum-1.0 OSGi/Minimum-1.0
• OSGi/Minimum-1.1 OSGi/Minimum-1.1
• JRE-1.1 JRE-1.1
• From J2SE-1.2 up to J2SE-1.6 Dari J2SE-1.2 hingga J2SE-1,6
• CDC-1.0/Foundation-1.0 CDC-1.0/Foundation-1.0
Penjelasan:
a. 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.
b. 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.
c. 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.
d. Siklus Hidup (Life-Cycle)
API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
e. Modul
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
f. Keamanan
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra didefinisikan kemampuan.
g. 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.1/Foundation-1.1 CDC-1.1/Foundation-1.1
• OSGi/Minimum-1.0 OSGi/Minimum-1.0
• OSGi/Minimum-1.1 OSGi/Minimum-1.1
• JRE-1.1 JRE-1.1
• From J2SE-1.2 up to J2SE-1.6 Dari J2SE-1.2 hingga J2SE-1,6
• CDC-1.0/Foundation-1.0 CDC-1.0/Foundation-1.0
Referensi
http://uriflabamba.blogspot.com/2009/12/open-service-gateway-initiative-osgi.html
http://wennyween.blogspot.com/2012/11/the-osgi-alliance-sebelumnya-dikenal.html
http://measjananuragadi.blogspot.com/2013/01/osgi-ami-cjava-comunity-process.html
Tidak ada komentar:
Posting Komentar