Ø
Pengertian
OSGI ( Open Service Gateway Initiative ) adalah sebuah rencana industri yang
merupakan cara standar untuk menghubungkan perangkat seperti perangkat rumah
tangga dan sistem keamanan ke internet.OSGI berencana menentukan program
aplikasi antar muka (API) 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. Program java pada umumnya dapat
berjalan pada platform sistem operasi komputer. 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. Spesifikasi OSGI yang dikembangkan oleh para anggota
dalam proses terbuka dan tersedia untuk umum secara gratis di bawah Lisensi
Spesifikasi OSGI.
Ø Spesifikasi
Spesifikasi OSGI yang
sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE.
Wilayah aplikasi lain meliputi mobil, otomatisasi industri, otomatisasi
bangunan, PDA, komputasi grid, hiburan (misalnya iPronto), armada manajemen dan
aplikasi server. Adapun spesifikasi yang lain dimana OSGI akan dirancang untuk
melengkapi standar perumahan yang ada, seperti orang – orang LonWorks (lihat
kontrol jaringan), CAL, CEBus, HAVi, dan lain-lain.
Inti bagian dari
spesifikasi adalah suatu kerangka kerja yang mendefinisikan aplikasi model
manajemen siklus hidup, sebuah layanan registrasi, sebuah lingkungan eksekusi
dan modul. Berdasarkan kerangka ini, sejumlah besar OSGI layers, API, dan Jasa
telah ditetapkan. Spesifikasi OSGI yang dikembangkan oleh para anggota dalam
proses terbuka dan tersedia untuk umum secara gratis di bawah Lisensi
Spesifikasi OSGI.
Ø Arsitektur
OSGi adalah sebuah set spesifikasi yang
mendefinisikan sebuah komponen sistem 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 :
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):
Bundel
Kumpulan jar normal komponen dengan nyata
tambahan header. Sebuah bundel 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.
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 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.
Siklus Hidup
(Life-Cycle)
API untuk manajemen
siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
Modul
Lapisan yang mendefinisikan enkapsulasi dan
deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor
kode).
Keamanan
Layer yang menangani aspek keamanan dengan
membatasi fungsionalitas bundel untuk pra didefinisikan kemampuan.
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.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
Contoh :
Dikembangkan untuk mengendalikan alat-alat
elektronik dalam rumah tangga dengan internet. Yaitu dengan menghubungkan
berbagai framework OSGI ini untuk mengendalikan alat-alat rumah tangga yang
bersifat elektronik. Hal ini dilakukan dengan berbagai protocol network yaitu
Bluetooth, uPnP,HAVi, dan X10. Dengan bantuan Jini dan standart OSGI dari sun
microsistem yaitu Java Embedded Server. Teknologi ini dinamakan home network
dan jinni adalah salah satu standart untuk pembuatan home nerwork yang berbasis
java.
Dalam hal ini pengembangan OSGI dalam
Teknologi dan industri adalah untuk otomatisasi industri. Seperti otomatisnya
sistem dalam gudang yang dapat meminta dalam PPIC untuk mengadakan bahan baku,
dan masih banyak yang lain.
Kelebihan OSGI :
1.
Berjalan dimana saja
dan Digunakan secara luas
2.
Aman, Sederhana dan
Tidak Mengganggu Kinerja Aplikasi Lainnya
3.
Ukurannya kecil
dan Kinerjanya cepat
4.
Transparan dan Banyak
versinya
5.
Simple : OSGi API
sangat simple.
6.
RealWorld : OSGi
framework dinamik.
7.
Dapat digunakan kembali
8.
Mengurangi kompleksitas
Kekurangan OSGI :
1.
Ruang lingkupnya
sangat kecil
2.
Keamanan kurang
terjaga dari kejahatan haiker
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
Saran :
Saran saya dengan adanya teknologi OSGI ini
diharapkan mampu membuat pekerjaan atau aktifitas sehari-hari dapt
terselesaikan dengan cepat dan tepat. Dan juga untuk meningkatkan kualitas hidup masyarakat yang memanfaatkan
teknologi OSGI ini. Tentunya ini akan membuat ketergantungan yang berlebihan
terhadap teknologi OSGI yang berdampak buruk bagi masyarakat. Dan juga
diperhatikan kerugian dari teknologi OSGI ini walaupun banyak juga keuntungan
dari teknologi OSGI ini
REFERENSI :
http://www.osgi.org/
http://www.osgi.org/Specifications/HomePage