OSGi merupakan suatu konsep baru dalam pola pengembangan perangkat lunak berbasis Java. Secara umum, OSGi memecah aplikasi menjadi modul-modul kecil (dalam OSGi dikenal dengan nama Bundle) yang secara terpisah melakukan proses tersendiri di dalamnya. Bundle-bundle tersebut kemudian saling berinteraksi dalam pertukaran data melalui service-service yang telah didaftarkan ke OSGi container. Gambar berikut menjelaskan proses interaksi antar bundle yang terjadi di dalam container OSGi.
OSGI (Open Service Gateway Initiative) adalah sebuah rencana industri untuk cara standar untukmenghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke Internet.OSGI berencana menentukan program aplikasi antarmuka (API) untuk pemrogrammenggunakan, untuk memungkinkan komunikasi dan kontrol antara penyedia layanan danperangkat di dalam rumah atau usaha kecil jaringan. OSGI API akan dibangun pada bahasapemrograman Java. Program java pada umumnya dapat berjalan pada platform sistem operasikomputer.
OSGI adalah sebuah interface pemrograman standar terbuka. The OSGI Alliance (sebelumnyadikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah sebuah organisasistandar terbuka yang didirikan pada Maret 1999. Aliansi dan anggota – anggotanya telahditentukan sebuah layanan berbasis Java platform yang dapat dikelola dari jarak jauh.SpesifikasiOSGI yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk umumsecara gratis di bawah Lisensi Spesifikasi OSGI. OSGI Alliance yang memiliki program kepatuhanyang hanya terbuka untuk anggota. Pada Oktober 2009, daftar bersertifikat OSGI implementasiberisi lima entri.
Pengertian OSGI (Open Service Gateway Initiative)
OSGI (Open Service Gateway Initiative) adalah sebuah rencana industri untuk cara standar untukmenghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke Internet.OSGI berencana menentukan program aplikasi antarmuka (API) untuk pemrogrammenggunakan, untuk memungkinkan komunikasi dan kontrol antara penyedia layanan danperangkat di dalam rumah atau usaha kecil jaringan. OSGI API akan dibangun pada bahasapemrograman Java. Program java pada umumnya dapat berjalan pada platform sistem operasikomputer.
OSGI adalah sebuah interface pemrograman standar terbuka. The OSGI Alliance (sebelumnyadikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah sebuah organisasistandar terbuka yang didirikan pada Maret 1999. Aliansi dan anggota – anggotanya telahditentukan sebuah layanan berbasis Java platform yang dapat dikelola dari jarak jauh.SpesifikasiOSGI yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk umumsecara gratis di bawah Lisensi Spesifikasi OSGI. OSGI Alliance yang memiliki program kepatuhanyang hanya terbuka untuk anggota. Pada Oktober 2009, daftar bersertifikat OSGI implementasiberisi lima entri.
Spesifikasi OSGI
Spesifikasi OSGI yang sekarang
digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Wilayah
aplikasi lain meliputi mobil, otomasi 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, 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. OSGI Alliance yang
memiliki program kepatuhan yang hanya terbuka untuk anggota. Pada Oktober 2009,
daftar bersertifikat OSGI implementasi berisi lima entri.
OSGi Service Platform terdiri dari :
OSGi 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 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 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 padaframework, 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.
Enterprise OSGi
Enterprise OSGi terdiri dari OSGi
framework dan beberapa OSGi services, bersama-sama mereka menyediakan fitur
enterprise. Seperti dapat disimpulkan dari sejarah, OSGi awalnya digunakan
pada pasar embedded. Tetapi dengan seiring dengan popularitas dan kedewasaan
yang semakin meningkat, OSGi bergerak ke pasar enterprise. Untuk mengatasi
kebutuhan ini, OSGi Enterprise Expert Group (EEG) membuat OSGi Service Platform
Enterprise Specification (Enterprise OSGi). Spesifikasi ini menggabungkan
layanan-layanan OSGi yang dapat digunakan secara selektif untuk menyediakan
fungsionalitas perusahaan. Layanan-layanan ini dikelompokkan ke dalam fitur
enterprise.
ARSITEKTUR OSGi
Framework yang mengimplementasikan
standar OSGi menyediakan lingkungan untuk modularisasi aplikasi ke dalam bundel
yang lebih kecil. Framework tersebut secara konseptual dibagi sebagai berikut :
- Bundle adalah komponen OSGI yang dibuat oleh developer. Bundle ini dapat menggunakan service yang disediakan oleh layer lain pada OSGI (seperti security, service binding, life-cycle management, dll.).
- Services adalah layer yang menghubungkan bundle secara dinamik oleh penawaran dari model (publish-find-bind) untuk objek java. Selain itu, layer ini membolehkan service bundle untuk didaftarkan (registered).
- Life-cycle adalah layer yang menyediakan layanan untuk bundle starting, stopping, updating, installing, dan uninstalling dalam framework OSGI. Layer ini memiliki API untuk melakukan layanan tersebut.
- Modules adalah layer yang menyediakan class dasar untuk loading fungsionalnya.Layer ini juga menjelaskan bagaimana bundle dapat mengimpor dan mengekspor kode.
- Security adalah layer untuk menangani aspek keamanan (security).
- Execution environment adalah layer yang menjelaskan method dan class apa yang tersedia dalam platform OSGI.
sumber :