Selasa, 29 Desember 2015

OPEN SERVICE GATEWAY INITIATIVE (OSGI)

            OSGi Alliance, sebelumnya dikenal sebagai inisiatif Terbuka Services Gateway, adalah sebuah organisasi standar terbuka yang didirikan Maret 1999 yang awalnya ditetapkan dan terus mempertahankan standar OSGi. OSGi spesifikasi menjelaskan sistem modular dan platform layanan untuk bahasa pemrograman Java yang mengimplementasikan model komponen lengkap dan dinamis, sesuatu yang tidak ada di standalone lingkungan Java / VM. Aplikasi atau komponen, datang dalam bentuk bundel untuk penyebaran, dapat jarak jauh diinstal, mulai, berhenti, diperbarui, dan dihapus tanpa memerlukan reboot; manajemen Jawa paket / kelas ditentukan dengan sangat rinci. Aplikasi manajemen siklus hidup dilaksanakan melalui API yang memungkinkan untuk remote download dari kebijakan manajemen. Layanan registri memungkinkan bundel untuk mendeteksi penambahan layanan baru, atau penghapusan layanan, dan beradaptasi sesuai.
            Spesifikasi OSGi telah berkembang melampaui fokus asli dari gateway layanan, dan sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Area aplikasi lainnya termasuk mobil, otomasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan, manajemen armada dan server aplikasi.

SPESIFIKASI :

OSGi spesifikasi yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk publik secara gratis di bawah Lisensi Spesifikasi OSGi . The OSGi Alliance memiliki program kepatuhan yang terbuka untuk anggota saja. Hingga November 2010, ada tujuh bersertifikat implementasi framework OSGi . Sebuah daftar halaman terpisah baik bersertifikat dan non - bersertifikat OSGi Spesifikasi Implementasi , yang meliputi kerangka OSGi dan spesifikasi OSGi lainnya .

ARSITEKTUR :

Framework yang mengimplementasikan standar OSGi menyediakan lingkungan untuk modularisasi aplikasi ke dalam bundel kecil. Setiap bundel adalah erat digabungkan, koleksi dinamis loadable kelas, guci, dan file-file konfigurasi yang secara eksplisit menyatakan dependensi eksternal mereka (jika ada).

Framework konseptual dibagi menjadi bidang-bidang berikut:
-          Bundel
Bundel merupakan komponen jar normal dengan header ekstra nyata.
-          Layanan
Lapisan layanan menghubungkan bundel dalam cara yang dinamis dengan menawarkan model menerbitkan-menemukan-bind untuk Plain Old Java Interface (POJI) atau Plain Old Java Objects (POJO).
-          Layanan Registry
Pemrograman aplikasi antarmuka untuk layanan manajemen (ServiceRegistration, ServiceTracker dan ServiceReference).
-          Lingkaran kehidupan
Pemrograman aplikasi antarmuka untuk manajemen siklus hidup (install, start, stop, update, dan uninstall) bundel untuk.
-          Modul
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
-          Keamanan
Lapisan yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan.
-          Eksekusi Lingkungan
Mendefinisikan apa yang metode dan kelas 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 implementasi OSGi:
1.      CDC-1.0 / Yayasan-1.0
2.      CDC-1.1 / Yayasan-1.1
3.      OSGi / Minimum-1.0
4.      OSGi / Minimum-1.1
5.      JRE-1.1

6.      Dari J2SE-1.2 hingga J2SE-1.6

Referensi :
https://en.wikipedia.org/wiki/OSGi