Kamis, 10 Desember 2009

Open Service Gateway Initiative (OSGi)

Open Service 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.

OSGi ARSITEKTUR

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

Lapisan OSGi

Model lapisan dari OSGi adalah sebagai berikut :











Definisi :
a. Bundles : bundles adalah komponen OSGi yang dibuat oleh pengembang/developer.
b. Services : lapisan service menghubungkan bundles dalam sebuah jalan dinamik dengan menawarkan model publish-find-bind untuk objek Java yang lama.
c. Life Cycle : API untuk menginstall, memulai, menghentikan, update dan menguninstall bundles.
d. Modules : lapisan yang menjelaskan bagaimana bundles dapat mengimport dan mengexport kode.
e. Security : Lapisan yang memegang aspek keamanan.
f. 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 maslah itu merupakan aspek instrinsik dari Java.
Permasalahan ini sebenarnya bukan masalah instrinsik dari Java dan teknologi OSGi dapat mengatasi itu semua. Alasan utama mengapa teknologi OSGi dapat sukses karena teknologi ini menyediakan komponen system yang benar-benar matang yang dapat bekerja di lingkungan yang sangat banyak jumlahnya. Komponen system yang biasa digunakan untuk membangun aplikasi yang tingkat kekompleksannya sangat tinggi seperti IDEs (Eclipse), aplikasi server (GlassFish, IBM Websphere, Oracle/BEA Weblogic, Jonas, JBoss), aplikasi framework (Spring, Guice), otomatisasi industry, telepon dan banyak lainnya.
Keuntungan dari teknologi OSGi antara lain adalah sebagai berikut :
1. Mengurangi kompleksitas : mengembangkan dengan OSGi berarti menembangkan 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. RealWorld : OSGi framework dinamik. Hal ini berarti OSGi dapat diupdate secara online.
4. Mudah Penyebarannya : teknologi OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara penginstalannya.
5. Update yang dinamik : OSGi komponen bisa diupdate secara dinamik.
6. Adaptif : model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
7. Transparan
8. Banyak versinya
9. Simple : OSGi API sangat simple. API OSGi hanya terdiri dari satu paket dan berjumlah kurang dari 30 kelas.
10. Ukurannya kecil
11. Kinerjanya cepat
12. Malas : Malas dalam software itu berarti bagus. Teknologi OSGi mempunyai banyak mekanisme hanya ketika dibutuhkan saja.
13. Aman
14. Sederhana
15. Tidak Mengganggu Kinerja Aplikasi Lainnya
16. Berjalan dimana 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 was first released in October 2005. Version 4.1 was released in May 2007. Version 4.2 was released in September 2009.
• Errata
• API Javadoc
• XML Schemas
You can also order the Release 4 specifications in book form at aQute Publishing, for members see the OSGi page for a discount.

Tidak ada komentar: