Open Service Gateway Initiative (OSGi)

Open Service Gateway Initiative (OSGi)

Open Service Gateway Initiative (OSGi) adalah sebuah sistem dan aplikasi interoperabilitas berbasis komponen platform yang terintegrasi. OSGi merupakan sistem modul dinamik untuk Java. Teknologi OSGi adalah Universal Middleware. Teknologi OSGi menyediakan sebuah service-oriented, lingkungan yang berbasis komponen untuk pengembang dan menawarkan jalan standar untuk mengatur siklus hidup perangkat lunak. Kemampuan ini dapat menambah nilai jangkauan dari komputer dan peralatan yang menggunakan platform Java dengan sangat hebat. Teknologi OSGi mengadopsi keuntungan dari menambah time-to-market dan mengurangi biaya pengembangan karena teknologi OSGi menyediakan subsistem komponen yang terintegrasi dari pre-build dan pre-tested. Teknologi ini juga mengurangi biaya perawatan dan memberikan kesempatan aftermarket yang baru dan unik karena jaringan dapat digunakan untuk update secara dinamik dan mengirimkan service dan aplikasi di lapangan.

OSGi Arsitektur

OSGi adalah sebuah set spesifikasi yang mendefinisikan sebuah komponen sistem dinamik untuk Java. Spesifikasi ini memungkinkan sebuah model pengembangan di mana aplikasi (secara dinamik) terdiri dari berbagai komponen yang berbeda. Spesifikasi OSGi memungkinkan komponen-komponennya untuk menyembunyikan implementasinya dari komponen lainnya ketika berkomunikasi melalui services, di mana biasanya ketika hal ini berlangsung implementasi antar komponen dapat terlihat jelas. Model yang sederhana ini telah mencapai efek dari segala aspek dari proses pengembangan perangkat lunak.

Lapisan OSGi

Model lapisan dari OSGi adalah sebagai berikut:

Definisi:

  1. Bundles: bundles adalah komponen OSGi yang dibuat oleh pengembang/developer.
  2. Services: lapisan service menghubungkan bundles dalam sebuah jalan dinamik dengan menawarkan model publish-find-bind untuk objek Java yang lama.
  3. Life Cycle: API untuk menginstal, memulai, menghentikan, update, dan menguninstal bundles.
  4. Modules: lapisan yang menjelaskan bagaimana bundles dapat mengimpor dan mengekspor kode.
  5. Security: Lapisan yang memegang aspek keamanan.
  6. Execution Environment: menjelaskan class dan method apa yang ada di platform.

Keuntungan Teknologi OSGi

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 intrinsik dari Java.

Permasalahan ini sebenarnya bukan masalah intrinsik 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 kompleksitasnya sangat tinggi seperti IDEs (Eclipse), aplikasi server (GlassFish, IBM Websphere, Oracle/BEA Weblogic, Jonas, JBoss), aplikasi framework (Spring, Guice), otomatisasi industri, telepon dan banyak lainnya.

Keuntungan dari teknologi OSGi antara lain adalah sebagai berikut:

  1. Mengurangi kompleksitas: mengembangkan dengan OSGi berarti mengembangkan 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.
  2. Dapat digunakan kembali: model komponen OSGi sangat mudah digunakan dan dapat digunakan dengan aplikasi pihak ketiga.
  3. Real-World: OSGi framework dinamik. Hal ini berarti OSGi dapat di-update secara online.
  4. Mudah Penyebarannya: teknologi OSGi bukanlah sebuah teknologi standar. OSGi dapat dimanajemen sedemikian rupa serta dapat diatur cara penginstalannya.
  5. Update yang dinamik: OSGi komponen bisa di-update secara dinamik.
  6. Adaptif: model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengombinasi dan mencocokkan antar komponen.
  7. Transparan.
  8. Banyak versinya.
  9. Sederhana: OSGi API sangat sederhana. API OSGi hanya terdiri dari satu paket dan berjumlah kurang dari 30 kelas.
  10. Ukurannya kecil.
  11. Kinerjanya cepat.
  12. Malas: Malas dalam perangkat lunak itu berarti bagus. Teknologi OSGi mempunyai banyak mekanisme hanya ketika dibutuhkan saja.
  13. Aman.
  14. Sederhana.
  15. Tidak Mengganggu Kinerja Aplikasi Lainnya.
  16. Berjalan di mana saja.
  17. Digunakan secara luas.
  18. 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.

Jika sedang mengembangkan Java maka teknologi OSGi merupakan langkah lanjut yang harus ditempuh karena teknologi OSGi dapat memecahkan masalah yang mungkin tidak akan terbayangkan sebelumnya. Keuntungan menggunakan teknologi OSGi yang begitu berguna jika kita menggunakan Java, maka sudah seharusnya teknologi OSGi masuk berada dalam kotak peralatan kita.

OSGi Specifications

  • OSGi Service Platform Release 4
    OSGi Service Platform Release 4 pertama kali dirilis pada Oktober 2005. Versi 4.1 dirilis pada Mei 2007. Versi 4.2 dirilis pada September 2009.
    • Errata
    • API Javadoc
    • XML Schemas

Sumber:

  • http://www.osgi.org/Specifications/HomePage
  • http://www.osgi.org/About/WhatIsOSGi

Komentar

Paling Banyak Dibaca

JCP (Java Community Process)

Fitur Pada Antarmuka Telematika