Open Service
Gateway Initiative (OSGi) adalah sebuah system dan aplikasi
interoperability berbasis komponen platform yang terintegrasi. OSGi merupakan
system modul dinamik untuk Java. Teknologi OSGi adalah Universal Middleware.
Teknologi OSGi menyediakan sebuah service-oriented, lingkungan yang berbasis
komponen untuk pengembang dan menawarkan jalan standard untuk mengatur siklus
hidup software. Kemampuan ini dapat menambah nilai jangkauan dari computer dan
peralatan yang menggunakan platform Java dengan sangat hebat.
OSGI (Open
Service Gateway Initiative) dapat juga dikatakan 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 dikarenakan
program java pada umumnya dapat berjalan pada platform sistem operasi komputer.
Spesifikasi OSGI
Spesifikasi OSGi
telah bergerak melampaui fokus asli 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, armada manajemen dan aplikasi server .
Setiap kerangka
yang menerapkan standar OSGi menyediakan suatu lingkungan untuk modularisasi
aplikasi ke dalam bundel kecil. Setiap bundel adalah koleksi, erat dynamically
loadable kelas, guci, dan file konfigurasi yang secara eksplisit menyatakan
dependensi eksternal.
Kerangka ini secara konseptual dibagi menjadi beberapa layer, antara lain:
Kerangka ini secara konseptual dibagi menjadi beberapa layer, antara lain:
·
Bundel. Komponen osgi dengan
nyata tambahan header.
·
Layanan. Lapisan
layanan menghubungkan bundel dalam cara yang dinamis dengan menawarkan model
menerbitkan-menemukan-bind untuk polos Interfaces Java tua (POJI) atau Plain
Old Java Objects POJO.
· Layanan Registry. The API untuk jasa manajemen
(ServiceRegistration , ServiceTracker dan ServiceReference
·
Life-Cycle. The
API ntuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel
· Modul. Enkapsulasi dan deklarasi dependensi
(bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode
· Keamanan. Menangani aspek keamanan dengan membatasi
fungsionalitas bundel untuk pra-didefinisikan kemampuan.
· Eksekusi Lingkungan. Mendefinisikan apa yang metode
dan kelas yang tersedia dalam platform tertentu
Peluang dan Tantangan dalam Pengembangan OSGI
·
Mengurangi
Kompleksitas (Reduced Complexity). Mereka menyembunyikan internal dari bundel
lain dan berkomunikasi melalui layanan didefinisikan dengan baik. Hal ini tidak
hanya mengurangi jumlah bug, itu juga membuat kumpulan sederhana untuk
berkembang.
· Reuse. Para model komponen OSGi membuatnya sangat
mudah untuk menggunakan banyak komponen pihak ketiga dalam suatu aplikasi.
· Real World. Menghemat dalam penulisan kode dan juga
menyediakan visibilitas global, debugging tools, dan fungsionalitas lebih
daripada yang telah dilaksanakan selama satu solusi khusus.
·
Easy Deployment.
Manajemen standar API membuatnya sangat mudah untuk mengintegrasikan teknologi
OSGi dalam sistem yang ada dan masa depan.
·
Dynamic Updates. Model
komponen OSGi adalah model dinamis.
·
Simple. The OSGi API sangat
sederhana.
· Kecil (Small). The OSGi Release 4 Framework dapat
diimplementasikan kedalam JAR 300KB. Cepat (Fast). Kurangnya pencarian yang
signifikan faktor mempercepat saat startup.
Arsitektur:
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). Kerangka kerja konseptual yang dibagi dalam bidang-bidang berikut:
- Bundles
Bundles adalah normal jar komponen dengan nyata tambahan header - Services
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek (POJO). - Services
API untuk jasa manajemen (ServiceRegistration, ServiceTracker dan ServiceReference). - Life-Cycle
API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel. - Modules
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode). - Security
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan. - Execution Environment
Mendefinisikan metode dan kelas apa yang tersedia dalam platform tertentuTidak 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
sumber:
·
http://www.ekowahyudi.com/2010/01/osgi-open-service-gateway-initiative.html
·
http://www.scribd.com/doc/282983020/OSGI-Open-Service-Gateway-Initiative#scribd
·
https://en.wikipedia.org/wiki/OSGi
·
http://www.scribd.com/doc/206692069/E-book-OSGI-Pengantar-Telematika
Tidak ada komentar:
Posting Komentar