Open Service Gateway
Initiative (OSGi)
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
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.
OSGi ARSITEKTUR
OSGi
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.
Lapisan
OSGi
Model
lapisan dari OSGi adalah sebagai berikut :

Definisi
:
a.
Bundles : bundles adalah komponen OSGi
yang dibuat oleh pengembang/developer.
b.
Services : lapisan service menghubungkan
bundles dalam sebuah jalan dinamik dengan menawarkan model publish-find-bind untuk
objek Java yang lama.
c.
Life Cycle : API untuk menginstall,
memulai, menghentikan, update dan menguninstall bundles.
d.
Modules : lapisan yang menjelaskan
bagaimana bundles dapat mengimport dan mengexport kode.
e.
Security : Lapisan yang memegang aspek
keamanan.
f.
Execution Environment : menjelaskan
class dan method apa yang ada di platform.
Keuntungan
menggunakan OSGI :
1. Mengurangi
kompleksitas dalam perubahan atau penambahan plugins.
2. Komponen
OSGI dapat digunakan lagi untuk aplikasi yang lain.
3. Mudah
dalam deployment karena menyediakan API yang dapat diintegrasikan dengan sistem
manajemen eksternal.
4. Bundle
dapat di-update secara dinamik tanpa mengubah sistem dasarnya bila
di-uninstall.
5. Adaptif
untuk semua service yang tersedia.
6. Beberapa
bagian dapat di-shutdown untuk menyelesaikan bug.
Kekurangan
OSGI :
1. Ruang
lingkupnya sangat kecil
2. Keamanan
kurang terjaga dari kejahatan hacker
3. Biaya
sangat mahat untuk pembuatan aplikasi dari OSGI
4. Rawan
terjadinya pencurian data
5. Ukuran
penyimpanan yang sangat kecil untuk data yang di simpan
Peluang dan Tantangan OSGI
(Open Service Gateway Initiative)
1. Mengurangi
Kompleksitas (Reduced Complexity)
Mengembangkan dengan teknologi OSGi berarti mengembangkan bundel:
komponen OSGi. Bundel adalah modul. Mereka menyembunyikan internal dari bundel
lain danberkomunikasi melalui layanan didefinisikan dengan baik. Menyembunyikan
internals berartilebih banyak kebebasan untuk berubah nanti. Hal ini tidak
hanya mengurangi jumlah bug, itu juga membuat kumpulan sederhana untuk
berkembang karena bundel ukuran benar menerapkan sepotong fungsionalitas
melalui interface didefinisikan dengan baik. Ada sebuah blog menarik yang
menjelaskan teknologi OSGi apa yang mereka lakukan bagi proses pembangunan
2. Reuse
Para model komponen OSGi membuatnya sangat mudah untuk menggunakan banyak
komponen pihak ketiga dalam suatu aplikasi. Peningkatan jumlah proyek-proyek
sumber terbuka memberikan JAR’s mereka siap dibuat untuk OSGi. Namun,
perpustakaan komersial jugamenjadi tersedia sebagai bundel siap pakai.
3. Real
World
OSGI kerangka kerja yang dinamis. Ini dapat memperbarui bundel on the fly
dan pelayanan yang datang dan pergi. Ini dapat menghemat dalam penulisan kode
dan juga menyediakan visibilitas global, debugging tools, dan fungsionalitas
lebih daripada yang telah dilaksanakan selama satu solusi khusus.
4. Easy
Deployment
Teknologi OSGi bukan hanya sebuah standard untuk komponen, tapi juga
menentukan bagaimana komponen diinstal dan dikelola. API telah digunakan oleh
banyak berkas untuk menyediakan sebuah agen manajemen. Agen manajemen ini bisa
sesederhana sebagai perintah shell, TR-69 sebuah protokol manajemen pengemudi,
OMA DM protokol sopir, komputasi awan antarmuka untuk Amazon EC2, atau IBM
Tivoli sistem manajemen. Manajemen standar API membuatnya sangat mudah untuk mengintegrasikan
teknologi OSGi dalam sistem yang ada dan masa depan.
5. Dynamic
Updates
Model komponen OSGi adalah model dinamis. Kumpulan dapat diinstal, mulai,
berhenti, diperbarui, dan dihapus tanpa menurunkan keseluruhan sistem. Banyak
pengembang Java tidak percaya ini dapat dilakukan pada awalnya oleh karena itu
tidak digunakan dalam produksi. Namun, setelah menggunakan ini dalam
pembangunan selama beberapa waktu, sebagian besar mulai menyadari bahwa itu
benar-benar bekerja dan secara signifikan mengurangi waktu penyebaran.
6. Simple
The OSGi API sangat sederhana. API inti hanya terdiri dari satu paket dan
kurang dari 30 kelas / interface. API inti ini cukup untuk menulis kumpulan,
menginstalnya, start, stop, update,dan menghapus mereka dan mencakup semua pendengar
dan keamanan kelas.
7.
Kecil (Small)
The OSGi Release 4 Framework dapat diimplementasikan kedalam JAR 300KB.
Ini adalah overhead kecil untuk jumlah fungsi yang ditambahkan ke salah satu
aplikasi dengan memasukkan OSGi. Oleh karena itu OSGi berjalan pada berbagai
macam perangkat: dari sangat kecil, kecil, dan untuk mainframe. Hanya meminta
Java VM minimal untuk menjalankan dan menambahkan sangat sedikit di atasnya.
8.
Cepat (Fast)
Salah satu tanggung jawab utama dari Framework OSGi memuat kelas-kelas
dari bundel. Di Java tradisional, JARs benar-benar terlihat dan ditempatkan pada
daftar linear. Pencarian sebuah kelas memerlukan pencarian melalui daftar ini.
Sebaliknya, pra-kabel OSGi bundel dan tahu persis untuk setiap bundel bundel
yang menyediakan kelas. Kurangnya pencarian yang signifikan faktor mempercepat
saat startup.
Sumber
:

0 komentar:
Posting Komentar