Bagaimana arsitektur dari Open Service Gateway Intiative (OSCI)
Ada kerangka OSGI yang 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).
Kerangka kerja konseptual yang dibagi dalam bidang-bidang
berikut:
1. Bundel
Kumpulan jar normal komponen dengan nyata tambahan header. Sebuahbundel 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.
Kumpulan jar normal komponen dengan nyata tambahan header. Sebuahbundel 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.
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.
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).
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.
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
sumber:
0 komentar:
Posting Komentar