Apa itu OSGi (Open Service Gateway Initiative)?
OSGi (Open Service Gateway Initiative) adalah spesifikasi framework berbasis Java yang digunakan untuk mengembangkan dan menjalankan program serta pustaka perangkat lunak modular. Awalnya, framework ini dikelola oleh OSGi Alliance, sebuah organisasi standar terbuka.
Pada Oktober 2020, OSGi Alliance secara resmi mengumumkan bahwa kelompok kerja standarisasinya akan dipindahkan ke Eclipse Foundation. Keputusan ini diambil sebagai langkah penghematan biaya dan karena perkembangan OSGi sudah melampaui tujuan awal aliansi tersebut. Pindah ke Eclipse Foundation masuk akal karena mereka memiliki cakupan lebih luas dalam pengelolaan perangkat lunak open source.
OSGi terdiri dari dua bagian utama:
- Standar untuk membangun komponen modular yang disebut bundle atau plugin. Plugin ini berbasis rekayasa perangkat lunak berbasis komponen, di mana kode yang berdiri sendiri dapat ditulis dan dikemas agar mudah digunakan kembali secara modular. Spesifikasi OSGi mendefinisikan infrastruktur untuk siklus hidup bundle serta cara bundle berinteraksi dan terhubung dengan layanan lainnya.
- Kontainer mirip Java Virtual Machine (JVM). Kontainer ini berfungsi sebagai repositori bundle, tempat di mana bundle bisa dipublikasikan, ditemukan, dan dihubungkan dengan layanan dalam arsitektur berbasis layanan (SOA). Framework ini memungkinkan beberapa aplikasi berjalan dalam satu kontainer, serta memungkinkan bundle dalam satu kontainer diekspos melalui application programming interface (API) agar dapat digunakan oleh bundle lain di kontainer berbeda. Framework ini terdiri dari beberapa lapisan yang menangani registrasi layanan, keamanan siber, interaksi modul, dan pengelolaan berbagai status dalam siklus hidupnya.
Pada awalnya, OSGi dikembangkan ketika vendor sistem tertanam dan penyedia jaringan berkolaborasi untuk membuat standar framework layanan berbasis Java yang bisa dikelola dari jarak jauh. Konsep awalnya adalah sebagai gerbang layanan (service gateway) untuk mengelola perangkat pintar dan perangkat internet di rumah. Gerbang ini terdiri dari framework perangkat lunak berbasis Java yang tertanam dalam perangkat keras seperti modem kabel atau set-top box. Framework ini bertindak sebagai perantara utama untuk komunikasi antara perangkat dalam jaringan rumah. Tujuan utama dari pengembangan ini adalah menciptakan middleware standar untuk perangkat pintar, sekaligus memudahkan pengembang dalam menangani ketergantungan antar-perangkat lunak.
Seiring waktu, spesifikasi OSGi mengalami evolusi. Fokusnya kini tidak lagi terbatas pada standarisasi service gateway, melainkan telah diperluas ke berbagai sektor lain, seperti otomotif modern, otomasi industri, manajemen aset dan armada, Internet of Things (IoT), hingga aplikasi mobile modern. Salah satu implementasi paling terkenal dari OSGi adalah platform Eclipse IDE, yang memungkinkan pengembangan aplikasi Java berbasis plugin menggunakan standar OSGi. Oleh karena itu, tidak mengherankan jika pada awal 2021, spesifikasi OSGi secara resmi menjadi bagian dari Eclipse Foundation.