Open Services Gateway Initiative
Open Services Gateway Initiative
Open
Services Gateway Initiative (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.
Manfaat dalam penerapan OSGi ini adalah:
• Programmer dapat mengupdate atau mengupgrade codingnya dengan mudah. Misalnya programmer membuat aplikasi dimana 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.
• Dengan teknologi OSGi dapat menyatukan berbagai fungsi di dalam aplikasi. Misalnya seperti plug-in yang dapat menambahkan fungsi dalam aplikasi.
• Mudah dalam penerapan, terutama bagi tim yang membuat aplikasi tentunya tugas mereka berbeda. Ada yang membuat desain antar muka atau GUI, ada yang membuat coding jalan softwarenya, ada yang membuat keamanannya, dan lain sebagainya. Nah dari semuacoding yang telah dibuat ini kita dapat satukan dengan dan dibungkus dari komponen-komponen OSGi ini.
• Efisiensi biaya, dalam hal ini untuk pengembangan sebuah softwaredapat menekan biaya yang dikeluarkan dalam pemeliharaan software.
• Programmer dapat mengupdate atau mengupgrade codingnya dengan mudah. Misalnya programmer membuat aplikasi dimana 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.
• Dengan teknologi OSGi dapat menyatukan berbagai fungsi di dalam aplikasi. Misalnya seperti plug-in yang dapat menambahkan fungsi dalam aplikasi.
• Mudah dalam penerapan, terutama bagi tim yang membuat aplikasi tentunya tugas mereka berbeda. Ada yang membuat desain antar muka atau GUI, ada yang membuat coding jalan softwarenya, ada yang membuat keamanannya, dan lain sebagainya. Nah dari semuacoding yang telah dibuat ini kita dapat satukan dengan dan dibungkus dari komponen-komponen OSGi ini.
• Efisiensi biaya, dalam hal ini untuk pengembangan sebuah softwaredapat menekan biaya yang dikeluarkan dalam pemeliharaan software.
OSGI ARSITEKTUR
OSGI Arsitektur adalah sebuah set spesifikasi yang
mendefinisikan sebuah komponen system dinamik untuk Java. Spesifikasi ini
memungkinkan sebuah model pengembangan dimana aplikasi (secara dinamik) terdiri
dari berbagai komponen yang berbeda. Spesifikasi OSGI memungkinkan
komponen-komponennya untuk menyembunyikan implementasinya dari komponen lainnya
ketika berkomunikasi melalui services dimana biasanya ketika hal ini
berlangsung implementasi antar komponen dapat terlihat jelas. Model yang simple
ini telah jauh mencapai efek dari segala aspek dari proses pengembangan software.
Model lapisan dari OSGi adalah
sebagai berikut :
- Bundel: Bundel normal jar komponen dengan nyata tambahan header.
- Layanan: Lapisan layanan menghubungkan bundel dalam cara yang dinamis dengan menawarkan model menerbitkan-menemukan-bind untuk polos Interfaces Java tua (POJI) atau Plain Old Java Objects POJO
- Layanan Registry: The API untuk jasa manajemen (ServiceRegistration , ServiceTracker dan ServiceReference).
- Life-Cycle: The API ntuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
- Modul: Lapisan ang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
- Keamanan: Lapisan yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan.
Tidak ada komentar: