PENGANTAR TELEMATIKA
Open Service Gateway Initiative
(OSGI)
Oleh
NAMA : SUGIANTO
NPM : 19111161
KELAS : 4 KA 42
FAKULTAS
ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS
GUNADARMA
JAKARTA
2014
LATAR BELAKANG
Menjelaskan teknologi OSGi kepada yang belum familiar dengan
teknologi ini sangatlah sulit. Ada begitu banyak artikel yang menjelaskan
teknologi OSGi tetapi hal itu masih belum bisa dimengerti oleh user yang
benar-benar awam karena teknologi OSGi menyediakan solusi untuk permasalahan
yang banyak orang menganggap bahwa masalah itu merupakan aspek instrinsik dari
Java. Permasalahan ini sebenarnya bukan masalah instrinsik dari Java dan
teknologi OSGi dapat mengatasi itu semua.
Alasan utama mengapa
teknologi OSGi dapat sukses karena teknologi ini menyediakan komponen sistem
yang benar-benar matang yang dapat bekerja di lingkungan yang sangat banyak
jumlahnya. Komponen sistem yang biasa digunakan untuk membangun aplikasi yang
tingkat kekompleksannya sangat tinggi seperti IDEs (Eclipse), aplikasi server
(GlassFish, IBM Websphere, Oracle/BEA Weblogic, Jonas, JBoss), aplikasi
framework (Spring, Guice), otomatisasi industry, telepon dan banyak lainnya.
1.
Apa yang dimaksud dengan Open Service Gateway Initiative
(OSGI) ?
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.
v
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.
v ARSITEKTUR OSGi
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.
v 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):
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
2. Berikan contoh keuntungan dan
kerugiannya ?
Contoh keuntungannya :
Ø Dalam kehidupan sehari-hari.
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.
Ø Teknologi dan industry.
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.
Ø Ilmu Komputer.
Dalam ilmu Komputer ini sangat
banyak pengembang yang memanfaatkan teknologi OSGI ini.Salah satu contoh adalah
knopflerfish merupakan framework untuk melakukan OSGI didalam program Java. Dan
juga eclipse IDE merupakan OSGI framework yang dikembangkan oleh eclipse dan
berbasis GUI. Dan masih banyak juga dalam server serta program-program lain
yang mengembangkan teknologi OSGI ini.
v Kelebihan OSGI :
Ø Berjalan dimana saja dan Digunakan
secara luas
Ø Aman, Sederhana dan Tidak Mengganggu
Kinerja Aplikasi Lainnya
Ø Ukurannya kecil dan Kinerjanya
cepat
Ø Transparan dan Banyak versinya
Ø Simple : OSGi API sangat simple.
Ø RealWorld : OSGi framework dinamik.
Ø Dapat digunakan kembali
Ø Mengurangi kompleksitas
Contoh
Kerugiannya :
Ø Dalam platform
layanan OSGi, setiap bundel layanan operator gerbang memerlukan otentikasi
pengguna . Dengan hasil tersebut, pengguna harus menyelesaikan otentikasi
berulang-ulang setiap kali pengguna ingin mengakses beberapa sejumlah layanan .
Hal ini menyebabkan masalah keamanan potensial serta sulitnya akses pengguna .
Ø Pertama-tama ,
masalah keamanan utama dengan lingkungan jaringan rumah berbasis pada platform
layanan OSGi adalah bahwa infrastruktur keamanan didistribusikan dan arsitektur
ini biasanya membutuhkan bahwa fitur kunci keamanan dibangun ke dalam semua
bagian dari sistem .
Ø Selain itu,
pengguna harus menghafal username dan password untuk setiap layanan . Selain
itu , administrator sistem mengelola banyak password dalam database dan
dihadapkan dengan potensi masalah sistem tidak aman karena transmisi sering
password ini di lokasi. SSO ( Single Sign -On ) adalah alternatif yang baik
untuk memecahkan masalah ini . SSO adalah fitur keamanan yang memungkinkan
pengguna untuk login ke berbagai layanan yang berbeda yang ditawarkan oleh
sistem terdistribusi sementara hanya perlu menyediakan otentikasi sekali , atau
setidaknya selalu dengan cara yang sama
v Kekurangan OSGI :
Ø Ruang lingkupnya sangat kecil
Ø Keamanan kurang terjaga dari kejahatan haiker
Ø Biaya sangat mahat untuk pembuatan aplikasi dari OSGI
Ø Rawan terjadinya pencurian data
Ø Ukuran penyimpanan yang sangat kecil untuk data yang di
simpan
Saran :
Saran
saya ialah agar pemanfaatan teknologi OSGI ini dapat diimplementasikan secara
lebih real di semua bidang,karena kalau kita lihat dari manfaat yang dimiliki
oleh OSGI rasanya sangatlah perlu di terapkan di semua bidang pekerjaan yang
melibatkan teknologi elektonik, karena semua pekerjaan yang menggunakan
teknologi OSGI akan menjadi sangat simple dan mudah.Yang perlu diperhatikan
ialah masalah keamanan yang masih perlu ditingkatkan karena teknologi OSGI ini
masih termasuk rentan mengenai keamanannya dan juga yang perlu ditingkatkan
lagi ialah masalah lingkup yang bisa dicover atau diatasi dengan OSGI ini dan
juga masalah biaya yang masih mahal hal ini membuat penerapan teknologi OSGI
ini menjadi terhambat,sebaiknya diusahakan bagaimana caranya agar biaya dalam
penerapan teknologi OSGI ini bisa ditekan lagi.
http://www.osgi.org/
http://www.osgi.org/Specifications/HomePage
http://www.osgi.org/About/WhatIsOSGi
http://www.scribd.com/doc/46153310/Microsoft-Word-Pengertian-OSGI
http://www.osgi.org/About/WhatIsOSGi
http://www.scribd.com/doc/46153310/Microsoft-Word-Pengertian-OSGI
Tidak ada komentar:
Posting Komentar