Jumat, 29 Januari 2016

OPEN SERVICE GATEWAY INITIATIVE (OSGI)

 
Pendahuluan
                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. 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.

Spesifikasi
                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 (lihat kontrol jaringan), 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.

Struktur
                Ada 6 struktur yang dibutuhkan dalam membangun struktur OSGI, yaitu :
Layer
Model layer seperti yang dijelaskan dalam gambar dibawah ini.

Definisi dari gambar diatas :
Bundles : komponen OSGI yang dibuat pengembang
Service : Service layer menghubungkan bundle dengan dinamis.
Life-cycle : API yang diinstal, start, stop, update, dan uninstall bundle
Module : bagian untuk export dan import kode
Security : bagian yang mengatur keamanan bundle
Execution Environment : menetapkan metode dan class yang dipakai.
Konsep ini akan dijelaskan di bawah.

Module
                Konsep modul adalah pekerjaan yang lebih mudah. Module adalah inti dari spesifikasi dan pemakaian dalam konsep bundle. Dalam isrilah Java, bundle ada dalam file lama JAR, Osgi menyembunyikan segalanya kecuali setelah di-export.

Service
                Alasan kenapa kita butuh model service dikarenakan Java sulit ditulis dengan class sharing. Solusi standart java menggunakan Factories menggunakan dynamic class dan static.

Deployment
                Bundle dijalankan di OSGI Framework. Ini bukanlah kontainer seperti server aplikasi java. Ini adalah collaborative environment yang berjalan di virtual machine yang sama dan share kode.

Implementation
                Spesifikasi OSGI membutuhkan referensi implementasi setiap spesifikasi. Bagaimanapun, sejak spesifikasi pertama selalu untuk perusahaan telah diimplementasikan sebagai open source. Sekarang telah ada 4 open source framework dan banyak implementasi OSGI.

Konklusi
                Spesifikasi OSGI menyediakan model komponen yang dewasa dan komprehensif dengan API yang sangat efektif. Merubah monolitik atau plugin yang berkembang didasarkan sistem OSGI hampir selalu menyediakan peningkatan yang besar dan lebih banyak projek yang dikemas.

Source