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
·
Bundles : bundles adalah komponen
OSGi yang dibuat oleh pengembang/developer.
·
Services : lapisan service
menghubungkan bundles dalam sebuah jalan dinamik dengan menawarkan model
publish-find-bind untuk objek Java yang lama.
·
Life Cycle : API untuk menginstall,
memulai, menghentikan, update dan menguninstall bundles.
·
Modules : lapisan yang menjelaskan
bagaimana bundles dapat mengimport dan mengexport kode.
·
Security : Lapisan yang memegang
aspek keamanan.
·
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.
Hanya terdiri dari satu paket dan berjumlah kurang dari 30 kelas.
10. Ukurannya kecil
11. Kinerjanya cepat
12. Aman
13. Sederhana
14. Tidak Mengganggu Kinerja Aplikasi Lainnya
15. Berjalan dimana saja
16. Digunakan secara luas
17. 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.
sumber : http://azhar-artazie.blogspot.com/2012/12/arsitektur-dari-open-service-gateway.html
Tidak ada komentar:
Posting Komentar