Definisi
OSGI (Open Service Gateway Initiative) merupakan sebuah rencana industri untuk cara standar untuk menghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke Internet. OSGI mempunyai rencana yaitu 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. 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 (Open Service Gateway Initiative) merupakan sebuah rencana industri untuk cara standar untuk menghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke Internet. OSGI mempunyai rencana yaitu 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. 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.
Kerangka
OSGi (OSGi framework)
Kerangka
OSGi merupakan suatu sistem modul dan layanan platform untuk Java bahasa
pemrograman yang menerapkan lengkap dan dinamis model komponen, sesuatu yang
seperti tahun 2012 tidak ada di Jawa standalone / VM lingkungan. 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 .
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.
Manfaat
OSGI
1. Mengurangi Kompleksitas (Reduced Complexity)
2. Reuse
3. Real World
4. Easy Deployment
5. Dynamic Updates
6. Simple
7. Kecil (Small)
8. Cepat (Fast)
Keuntungan dari
teknologi OSGi antara lain adalah sebagai berikut :
1.Mengurangi
kompleksitas : mengembangkan dengan OSGi berarti menembangkan bundles, salah
satu komponen OSGi. Bundles adalah modul. Bundles menyembunyikan aspek
internalnya dari bundles lainnya. Hal ini berarti ada banyak kebebasan untuk
menggantinya di kemudian hari.
2.Dapat digunakan
kembali : model komponen OSGi sangat mudah digunakan dan dapat digunakan dengan
aplikasi pihak ketiga.
3.RealWorld : OSGi
framework dinamik. Hal ini berarti OSGi dapat diupdate secara online.
4.Mudah Penyebarannya : teknologi OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara penginstalannya.
4.Mudah Penyebarannya : teknologi OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara penginstalannya.
5.Update yang dinamik
: OSGi komponen bisa diupdate secara dinamik.
6.Adaptif : model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
6.Adaptif : model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
7.Transparan
8.Banyak versinya
9.Simple : OSGi API
sangat simple. API OSGi hanya terdiri dari satu paket dan berjumlah kurang dari
30 kelas.
10.Ukurannya kecil
11.Kinerjanya cepat
12.Malas : Malas
dalam software itu berarti bagus. Teknologi OSGi mempunyai banyak mekanisme
hanya ketika dibutuhkan saja.
13.Aman
14.Sederhana
14.Sederhana
15.Tidak Mengganggu
Kinerja Aplikasi Lainnya
16.Berjalan dimana
saja
17.Digunakan secara
luas
18.Didukung Oleh
Berbagai Perusahaan : OSGi juga didukung oleh berbagai perusahaan seperti
Oracle, IBM, Samsung, Nokia, IONA, Motorola, NTT, Siemens, Hitachi, Deutsche
Telekom, Redhat, Ericsson, dan masih banyak lagi.
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
Jika sedang
mengembangkan Java maka teknologi OSGi merupakan langkah lanjut yang harus
ditempuh karena teknologi OSGi dapat memecahkan masalah yang mungkin tidak akan
terbayangkan sebelumnya. Keuntungan menggunakan teknologi OSGi yang begitu
berguna jika kita menggunakan Java, maka sudah seharusnya teknologi OSGi masuk
berada dalam kotak peralatan kita.
OSGi Specifications :
OSGi Service Platform
Release 4
OSGi Service Platform
Release 4 was first released in October 2005. Version 4.1 was released in May
2007. Version 4.2 was released in September 2009.
-Errata
-API Javadoc
-XML Schemas
Peluang dan
Tantangan dalam Pengembangan OSGi
1. Mengurangi
Kompleksitas (Reduced Complexity).
2. Mengembangkan
dengan teknologi OSGi berarti mengembangkan bundel: komponenOSGi. 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
benarmenerapkan sepotong fungsionalitas melalui interface didefinisikan dengan
baik. Ada sebuahblog menarik yang menjelaskan teknologi OSGi apa yang mereka
lakukan bagi prosespembangunan
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.
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.
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 :
Tidak ada komentar:
Posting Komentar