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.
Lapisan OSGi
• 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
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):
1. 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.
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.
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.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
Keuntungan :
· 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.
· Dapat digunakan kembali : model komponen OSGi sangat mudah digunakan dan dapat digunakan dengan aplikasi pihak ketiga.
· RealWorld : OSGi framework dinamik. Hal ini berarti OSGi dapat diupdate secara online.
· Mudah Penyebarannya : teknologi OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara penginstalannya.
· Update yang dinamik : OSGi komponen bisa diupdate secara dinamik.
· Adaptif : model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
· Transparan
· Banyak versinya
Kerugian :
· Pengguna dihadapkan pada tanggunjawab untuk terus menarik laporan informasi.
· Pengguna harus selalu mengetahui posisi perangkat yang dikelola.
· Penerapan yang membutuhkan biaya besar.
· Membuat ketergantungan dalam kemudahan teknologi.
· Memberikan peluang penyalahgunaan sistem oleh pihak yang tidak berwenang jika interface OSGi lupa ditutup pengguna.Saran
Segala kehadiran bentuk teknologi pada dasarnya bersifat membantu atau meringankan pekerjaan manusia. Namun jika manusia terlalu bergantung pada kemudahan penanganan suatu pekerjaan menggunakan teknologinya, itu akan berbahaya membuat pengguna menjadi malas atau bahkan anti sosial. Kehadiran teknologi yang ada pun semakin membesarkan perusahaan-perusahaan developer dan membunuh peluang berkembangnya pengusaha kecil dan menengah di bidang teknologi informasi.
· 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.
· Dapat digunakan kembali : model komponen OSGi sangat mudah digunakan dan dapat digunakan dengan aplikasi pihak ketiga.
· RealWorld : OSGi framework dinamik. Hal ini berarti OSGi dapat diupdate secara online.
· Mudah Penyebarannya : teknologi OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara penginstalannya.
· Update yang dinamik : OSGi komponen bisa diupdate secara dinamik.
· Adaptif : model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
· Transparan
· Banyak versinya
Kerugian :
· Pengguna dihadapkan pada tanggunjawab untuk terus menarik laporan informasi.
· Pengguna harus selalu mengetahui posisi perangkat yang dikelola.
· Penerapan yang membutuhkan biaya besar.
· Membuat ketergantungan dalam kemudahan teknologi.
· Memberikan peluang penyalahgunaan sistem oleh pihak yang tidak berwenang jika interface OSGi lupa ditutup pengguna.Saran
Segala kehadiran bentuk teknologi pada dasarnya bersifat membantu atau meringankan pekerjaan manusia. Namun jika manusia terlalu bergantung pada kemudahan penanganan suatu pekerjaan menggunakan teknologinya, itu akan berbahaya membuat pengguna menjadi malas atau bahkan anti sosial. Kehadiran teknologi yang ada pun semakin membesarkan perusahaan-perusahaan developer dan membunuh peluang berkembangnya pengusaha kecil dan menengah di bidang teknologi informasi.
dikutip dari http://tetsugatenzzo.blogspot.co.id/2014/11/open-service-gateway-initiative-osgi.html
0 komentar:
Posting Komentar