PENDAHULUAN
OSGi (Open Service Gateway Initiative) adalah kerangka Java untuk mengembangkan dan menggunakan program perangkat lunak modular dan perpustakaan. The OSGi (Open Service Gateway initiative) spesifikasi menjelaskan sistem modular dan layanan platform untuk Java bahasa pemrograman yang mengimplementasikan lengkap dan dinamis model dan komponen, sesuatu yang tidak ada dalam standalone Java /VM lingkungan. Aplikasi atau komponen, datang di bentuk bundel untuk penyebaran, bisa di instal secara jarak jauh, dimulai, berhenti, diperbarui, dan dihapus tanpa memerlukan restart manajemen Java paket / kelas ditentukan dengan sangat rinci. Aplikasi manajemen siklus hidup dilaksanakan melalui API yang memungkinkan untuk remote download dari kebijakan manajemen. Layanan registrasi memungkinkan kumpulan untuk mendeteksi penambahan layanan baru, atau penghapusan layanan, dan beradaptasi sesuai.
 OSGi ini adalah sebuah teknologi dimana kita dapat menggabungkan berbagai fungsi dalam satu tujuan atau aplikasi, suatu cara untuk menggabungkan berbagai bagian-bagian yang mana bagian-bagian ini dibungkus menjadi sebuah aplikasi yang dapat kita gunakan dengan berbagai macam kegunaan. Sebenarnya teknologi ini berawal dari pikiran bagaimana cara mengubah program tanpa membongkar koding. Dari situ teknologi ini mulai dikembangkan dalam bahasa pemrograman mulai dari instalasi, jalannya program, update dan sampai uninstall tanpa perlu memperbarui coding. Manfaat dalam penerapan OSGi ini adalah programmer dapat mengupdate atau mengupgrade kodingnya dengan mudah. Contoh : programmer membuat aplikasi yang mana terdapat bug yang harus ditambal, programmer ini tidak perlu melakukan pengkodingan ulang dan mengganti aplikasi yang lama dengan aplikasi baru yang memakan waktu dan biaya yang besar untuk menambalnya(patching). Seperti cara inject (suntik) ke dalam program yang telah dibuat. Dan ini tidak merubah struktur program dan kinerja program tersebut. Contoh kedua yaitu plugin yang dapat menambahkan fungsi dalam aplikasi. Mudah dalam penerapan bagi tim yang membuat aplikasi tentunya tugas mereka berbeda. Ada yang membuat desain antar muka atau GUI, ada yang membuat koding  jalan softwarenya, ada yang membuat keamanannya, dan lain sebagainya. Nah dari semua  koding yang telah dibuat ini kita dapat satukan dengan dan dibungkus dari komponen-komponen OSGI ini.  
ISI
-          Spesifikasi OSGI
Spesifikasi OSGI yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk publik secara gratis di bawah OSGi Spesifikasi License.  The OSGi Alliance memiliki kepatuhan program yang terbuka untuk anggota saja. Pada November 2010, ada tujuh bersertifikat kerangka OSGi implementasi. Sebuah daftar halaman terpisah baik bersertifikat dan non-bersertifikat OSGi Spesifikasi Implementasi , yang meliputi kerangka OSGi dan spesifikasi OSGi lainnya.
Spesifikasi OSGI adalah suatu kerangka kerja yang mendefinisikan aplikasi model manajemen siklus hidup, sebuah layanan registrasi, sebuah lingkungan eksekusi dan modul. Spesifikasi OSGI digunakan di dalam sebuah aplikasi mulai dari ponsel ke open source Eclipse IDE. Wilayah aplikasi lain meliputi mobile, otomasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan, armada manajemen dan palikasi server.
-          Arsitektur OSGI
OSGI adalah sebuah set spesifikasi yang mendefinisikan sebuah komponen system dinamik untuk java. Spesifikasi OSGI memungkinkan komponen-komponenya untuk menyembunyikan implementasinya dari komponen lainnya ketika berkomunikasi melalui services dimana biasanya ketika hal ini berlnagsung implementasi antar komponen dapat terlihat jelas. Model yang simpel ini telah jauh mencapai efek dari segala aspek dari proses pengembangan software.
OSGI service gateway arsitektur
            Setiap kerangka yang menerapkan standar OSGI menyediakan suatu lingkungan untuk modularisasi aplikasi ke bundel kecil. Setiap bundel digabungkan dengan erat, memuat koleksi dinamis kelas, dan konfigurasi file-file yang secara eksplisit menyatakan dependensi eksternal mereka(jika ada)/
Kerangka kerjsa ini secara konseptual di bagi menjadi bidang-bidang berikut :
-          Bundel
Bundel adalah kumpulan jaringan normal komponen dengan header tambahan yang nyata. Sebuah bundel adalah sekelompok kelas java dan sumber daya tambahan yang dilengkapi dengan rincian file pada Manifest.MF nyata semua isinya. Serta layanan tambahan yang diperlukan untuk memberikan kelompok termasuk kelas java yang lebih canggih, dengan tingkat seluruh agregat sebuah komponen.  
-          Layanan
Layanan yang menghubungkan lapisan bundel secara dinamis dengan menawarkan model menawarka, menerbitkan, menemukan model dapat mengikat Plain Old Java Interfaces(POJI) atau Plain Old Java Objectd(POJO).  
-          Layanan Registrasi
Aplikasi pemrograman antarmuka untuk jasa manajemen ( Service Registration, SERVICE Tracker dan Service Reference).  Kumpulan layanan ini dapat mengimplementasikan dan mendaftarkan dengan layanan registrasi. Layanan klien dapat menemukan atau bereaksi ketika muncul atau menghilang di registrasi.  
-          Siklus-Hidup
Aplikasi pemrograman antarmuka untuk manajemen siklus hidup(install, start, stop, update. Dan uninstall) untuk bundel.
-          Modul
Lapisam yang mendefinisikan enkapsulasi dan deklarasi dependensi(bagaimana sebuah bungkusan dapat ,mengimpor dan mengekspor kode)
-          Kemanan
Lapisan yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk kemampuan yang telah ditentukan.
-          Pelaksanaan Lingkungan
Mendefinisikan metode dan kelas apa yang tersedia dalam platform tertentu. Tidak ada daftar tetap Pelaksanaan lingkungan, karena dapat berubah sebagai komunitas java proses menciptakan versi baru dan edisi java. namun, kumpulan berikut ini kebanyakan mengikuti impelementasi OSGI.
a.       CDC-1.0/Foundation-1.0
b.      CDC-1.0/Foundation-1.1
c.       OSGI/minimum-1.0
d.      OSGI/minimum-1.1
e.       JRE-1.1
f.       From J2SE-1.2 up to J2SE-1.6

Contoh Implementasi OSGI
-          Dalam kehidupan sehari-hari
     Dikembangkan untuk mengendalikan alat-alat elektronik dalam rumah tangga dengan internet. Caranya dengan menghubungkan berbagai framework OSGI ini untuk mengendalikan alat-alat rumah tangga yang bersifat elektronik. Hal ini dilakukan dengan berbagai protocol network yaitu bluetooth, uPnP, HAVI dan X10. Dengan bantuan jini dan standart OSGI dari sun micro sistem yaitu Java Embedded Server. Teknologi ini adalah salah satu standart untuk pembuatan home network yang berbasis java.
-          Teknologi dan industri
     Pengembangan ini untuk otomatisasi industri, seperti otomatisnya sistem dalam gudang yang dapat meminta PPIC untuk mengadakan bahan baku dan lainnya.
-          Ilmu Komputer
     Salah satu contoh nya adalah Knopflerfish. Knopflerfish merupakan framework untuk melakukan OSGI di dalam program java. dan juga eclipse IDE merupakan OSGI framework yang dikembangkan oleh eclipse dan berbasis GUI.
Kesimpulan
     Dari uraian diatas kita dapat menyimpulkan dengan teknologi OSGI kita dapat mempermudah pekerjaan yang berkaitan dengan elektronik. Karena fungsi dari OSGI sendiri adalah menggabungkan berbagai fungsi salam satu aplikasi.     

DAFTAR PUSTAKA




Universitas Gunadarma

Populer Post