Pengertian Open Service Gateway Initiatif (OSGI)
Open Service Gateway Initiatif (OSGi) merupakan
rencana industri untuk cara standar dalam menghubungkan suatu perangkat seperti
perangkat rumah tangga dan sistem keamanan ke internet. OSGi dibentuk Maret
1999 oleh suatu konsorsium perusahaan-perusahaan teknologi terkemuka dengan
misi untuk mendefinisikan suatu platform integrasi untuk interoperabilitas
aplikasi dan servis secara universal.
OSGi berencana untuk menentukan suatu program
aplikasi antarmuka (API) untuk pemrograman yang memungkinkan komunikasi dan
kontrol antara penyedia layanan dan perangkat di dalam rumah atau usaha kecil.
Pada dasarnya OSGI ini di kembangkan dengan menggunakan bahasa pemrograman
JAVA. OSGi menyediakan suatu application framework yang ditempatkan di lapisan
atas JDK dan juga menyediakan platform pengembangan baru, berbasis pada modular
decoupled components dan model layanan dinamis plugable
OSGi menyediakan services seperti manajemen dalam
siklus hidup suatu program dan security-nya. Beberapa OSGI yang open source :
- Equinox
- Knoplerfish
- Apache felix
OSGI Framework
OSGi framework adalah struktur inti dari OSGi
Service Platform. Jika diasumsikan bahwa sebuah bundel dapat menjadi sebuah
aplikasi, maka definisi OSGi framework adalah sesuai dengan definisi tentang
application frameworks. Artinya, OSGi framework adalah contoh dari sebuah
application framework.
OSGi framework menyediakan:
- Sebuah lingkungan eksekusi portabel dan aman
berbasis Java
- Sebuah sistem manajemen pelayanan, yang dapat
digunakan untuk mendaftar dan berbagi layanan di seluruh bundel dan memisahkan
layanan penyedia dari layanan pengguna
- Sebuah sistem modul dinamis, yang dapat digunakan
untuk install dan uninstall modul Java, yang disebut bundel di OSGi, secara
dinamis.
- Sebuah solusi ringan dan terukur
OSGI Services
OSGI Service Platform mencakup beberapa layanan
umum, dan layanan ini bisa dianggap sebagai aplikasi asli dari OSGi Service
Platform. Beberapa layanan ini adalah fungsi-fungsi horisontal yang selalu
dibutuhkan, seperti logging service dan configuration service. Beberapa
protokol terkait juga dicakup, seperti HTTP service, yang dapat digunakan oleh
aplikasi berbasis web. Dan terakhir, OSGi Service Platform juga berisi layanan
yang secara intrinsik terikat pada framework, yang berarti framework tak bisa
bekerja tanpa mereka, seperti bundle wiring, yang mengelola sistem modul
dinamis itu sendiri, dan start-level service, yang mengelola proses bootstrap
dari framework.
Contoh Teknologi OSGI
Teknologi Osgi sudah sangat banyak dikembangkan
untuk berbagai macam keperluan dalam sehari hari maupun di bidang teknologi
informasi dan industry serta di bidang ilmu komputer.
·
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 industri
Dalam hal ini
pengembangan OSGi dalam Teknologi dan industri adalah untuk otomatisasi
industri. Seperti otomatisnya system 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. Dari surfing di
internet banyak yang mengulas tentang Pemrograman Java yang mengapdopsi
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.
Arsitektur (Architecture)
Setiap kerangka yang menerapkan standar OSGi
menyediakan suatu lingkungan untuk modularisasi aplikasi ke dalam bundel kecil.
Setiap bundel adalah koleksi, erat dynamically loadable kelas, guci, dan file konfigurasi
yang secara eksplisit menyatakan dependensi eksternal mereka (jika ada).
Kerangka ini secara konseptual dibagi menjadi
bidang-bidang berikut:
·
Bundel
Bundel normal jar
komponen dengan nyata tambahan header.
·
Layanan
Lapisan layanan
menghubungkan bundel dalam cara yang dinamis dengan menawarkan model
menerbitkan-menemukan-bind untuk polos Interfaces Java tua (POJI) atau Plain
Old Java Objects POJO
·
Layanan Registry
The API untuk jasa
manajemen (ServiceRegistration , ServiceTracker dan ServiceReference).
·
Life-Cycle
The API ntuk manajemen
siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
·
Modul
Lapisan ang
mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan
dapat mengimpor dan mengekspor kode).
·
Keamanan
Lapisan yang menangani
aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan
kemampuan.
·
Eksekusi Lingkungan
Mendefinisikan apa yang
metode dan kelas yang tersedia dalam platform tertentu. Tidak ada daftar tetap
eksekusi lingkungan, karena dapat berubah sebagai Java Community Process
menciptakan versi baru dan edisi Jawa.
Kelebihan
OSGI
·
Mengurangi Kompleksitas (Reduced
Complexity)
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
·
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.
·
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.
·
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.
·
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.
·
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.
·
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.
·
Cepat (Fast)
Salah satu tanggung
jawab utama dari Framework OSGi memuat kelas-kelas daribundel.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.
Kekurangan
OSGI
·
Kurangnya security
Masih kurangnya
keamanan dari hacker yang dapat menyebabkan rawannya pencurian data
·
Ruang lingkup yang kecil
Ruang lingkup pada osgi
masih kecil maka ukuran penyimpanan untuk datanya pun masih kecil (sedikit)
·
Mahal
Biaya yang dikeluarkan
untuk pembuatan aplikasi osgi mahal
SARAN
Teknologi OSGi ini sangat bermanfaat karena dapat
mempermudah pengguna seperti OSGi dapat berjalan pada berbagai macam perangkat
mulai dari yang sangat kecil sampai besar, cepat mencari kelas-kelas dari
bundel, mudah digunakan, simple dan komponennya dapat diinstalatau diubah-ubah
tanpa harus menurunkan keseluruhan sistem. Hanya saja masih perlu di tingkatkan
lagi di bagian keamanan karena sehebat apapun suatu aplikasi jika keamanannya
masih rendah maka besar kemungkinan aplikasi tersebut tidak lah terpakai
http://dhiciwan.blogspot.com/2014/11/open-services-gateway-initiative-osgi.html
https://hilaliyah.wordpress.com/2013/01/04/osgi-open-service-gateway-initiative-virtualization-dan-api/
Tidak ada komentar:
Posting Komentar