Open
Service Gateway Initiative (OSGi) adalah sebuah system dan aplikasi
interoperability berbasis komponen platform yang terintegrasi. OSGi merupakan
system modul dinamik untuk Java. Teknologi OSGi adalah Universal Middleware.
Teknologi OSGi menyediakan sebuah service-oriented, lingkungan yang berbasis
komponen untuk pengembang dan menawarkan jalan standard untuk mengatur siklus
hidup software. Kemampuan ini dapat menambah nilai jangkauan dari computer dan
peralatan yang menggunakan platform Java dengan sangat hebat.
Sebenarnya
teknologi ini berawal dari suatu pemikiran bagaimana cara mengubah program
tanpa membongkar coding. Kemudian dari sanalah teknologi ini mulai
dikembangkan dalam bahasa pemrograman mulai dari instalasi, jalannya
program, update dan sampai uninstalltanpa perlu
memperbarui coding.
Manfaat
dalam penerapan OSGi ini adalah:
·
Programmer dapat
mengupdate atau mengupgrade codingnya dengan mudah.
Misalnya programmer membuat aplikasi dimana
terdapat bug yang harus ditambal, programmer ini tidak
perlu melakukan pengkodingan ulang dan mengganti aplikasi yang lama dengan
aplikasi baru yang memakan waktu dan biaya yang besar untuk menambalnya
(patching). Seperti cara inject (suntik) ke dalam program yang telah
dibuat. Dan ini tidak merubah struktur program dan kinerja program tersebut.
·
Dengan
teknologi OSGi dapat menyatukan berbagai fungsi di dalam aplikasi. Misalnya
seperti plug-in yang dapat menambahkan fungsi dalam aplikasi.
·
Mudah
dalam penerapan, terutama bagi tim yang membuat aplikasi tentunya tugas mereka
berbeda. Ada yang membuat desain antar muka atau GUI, ada yang
membuat coding jalan softwarenya, ada yang membuat keamanannya, dan
lain sebagainya. Nah dari semuacoding yang telah dibuat ini kita dapat
satukan dengan dan dibungkus dari komponen-komponen OSGi ini.
·
Efisiensi
biaya, dalam hal ini untuk pengembangan sebuah softwaredapat menekan biaya
yang dikeluarkan dalam pemeliharaan software.
·
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.
· Ukurannya
kecil danKinerjanya cepat
·
Aman,
Sederhana dan Tidak Mengganggu Kinerja Aplikasi Lainnya
·
Berjalan
dimana saja dan Digunakan secara luas
·
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.
Spesifikasi:
OSGi
spesifikasi yang dikembangkan oleh para anggota dalam proses terbuka dan
tersedia untuk umum secara gratis di bawah Lisensi Spesifikasi OSGi. OSGi
Alliance yang memiliki kepatuhan program yang hanya terbuka untuk anggota. Pada
Oktober 2009, daftar
bersertifikat OSGi implementasi berisi lima entri.
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).
Kerangka
kerja konseptual yang dibagi dalam bidang-bidang berikut:
Bundles
Bundles
adalah normal jar komponen dengan nyata tambahan header.
Services
Layanan
yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan
menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati
objek (POJO).
Services Registry
API untuk jasa
manajemen (ServiceRegistration, ServiceTracker dan ServiceReference).
Life-Cycle
API untuk manajemen siklus hidup untuk (instal, start,
stop, update, dan uninstall) bundel.
Modules
Lapisan
yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah
bungkusan dapat mengimpor dan mengekspor kode).
Security
Layer
yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk
pra-didefinisikan kemampuan.
Execution Environment
Mendefinisikan
metode dan kelas apa yang tersedia dalam platform tertentuTidak ada daftar
tetap eksekusi lingkungan, karena dapat berubah sebagai Java Community
Processmenciptakan versi baru dan edisi Java. Namun, set berikut saat ini
didukung oleh sebagian besar OSGi implementasi:
·
CDC-1.0/Foundation-1.0
·
CDC-1.1/Foundation-1.1
·
OSGi/Minimum-1.0
·
OSGi/Minimum-1.1
·
JRE-1.1
·
From
J2SE-1.2 up to J2SE-1.6
Implementasi OSGi
Teknologi
OSGi sudah sangat banyak dikembangkan untuk berbagai macam keperluan dalam
sehari hari maupun di bidang teknologi informasi dan industri serta di bidang
ilmu komputer.
§ Dalam kehidupan sehari-hari
Dikembangkan untuk mengendalikan
alat-alat elektronik dalam rumah tangga dengan internet, yaitu dengan
menghubungkan berbagaiframework 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 Jinidan standart
OSGi dari sun microsystem yaitu Java Embedded Server.
Teknologi ini dinamakan home network dan Jini adalah salah
satu standart untuk pembuatan home network yang
berbasis Java.
§ Teknologi dan industri
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.
Dari surfing di internet banyak yang mengulas
tentang Pemrograman Java yang mengapdopsi teknologi OSGi ini. Salah
satu contoh adalah knopflerfish merupakanframework untuk
melakukan OSGi didalam program Java. Dan jugaeclipse
IDE merupakan OSGi framework yang dikembangkan
oleheclipse dan berbasis GUI. Dan masih banyak juga
dalam server serta program-program lain yang mengembangkan teknologi
OSGi ini.
Sumber : osgi.org
0 comments:
Posting Komentar