Senin, 28 Desember 2015

Open Services Gateway Initiative (OSGi)

SPESIFIKASI OSGi
Open Services Gateway Initiative (OSGi) merupakan suatu kontainer, lingkungan deployment dan platform service yang mengimplementasi sebuah model komponen yang dinamis untuk aplikasi yang dikembangkan menggunakan Java. Secara umum, OSGi memecah aplikasi menjadi modul-modul kecil (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. OSGi dibentuk pada Maret 1999 oleh suatu konsorsium perusahaan-perusahaan teknologi terkemuka dengan misi untuk mendefinisikan suatu platform integrasi untuk interoperabilitas aplikasi dan servis secara universal.
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 :
  1. Sebuah lingkungan eksekusi portabel dan aman berbasis Java
  2. Sebuah sistem manajemen pelayanan, yang dapat digunakan untuk mendaftar dan berbagi layanan di seluruh bundel dan memisahkan layanan penyedia dari layanan pengguna
  3. Sebuah sistem modul dinamis, yang dapat digunakan untuk install dan uninstall modul Java, yang disebut bundel di OSGi, secara dinamis.
  4. 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. 
Kelebihan OSGi :
  1. Mengurangi kompleksitas
  2. Dapat digunakan kembali 
  3. Mudah penyebarannya
  4. Update yang dinamik
  5. Adaptif
  6. Transparan
  7. Banyak versinya
  8. Sederhana
  9. Ukuran yang kecil
  10. Kinerja yang cepat
  11. Tidak mengganggu kinerja aplikasi lainnya
  12. Berjalan dimana saja
  13. Didukung oleh berbagai perusahaan
Kekurangan OSGi :
  1. Ruang lingkup yang kecil
  2. Keamanan kurang terjaga dari kejahatan hacker
  3. Biaya yang mahal untuk pembuatan aplikasi dari OSGi
  4. Rawan terjadinya pencurian data
  5. Ukuran penyimpanan yang sangat kecil untuk data yang disimpan

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 :


0 komentar:

Posting Komentar