Open Service Gateway Initiative (OSGi)
Sumber :
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.
Spesifikasi
OSGi spesifikasi yang dikembangkan oleh
para anggota dalam proses terbuka dan tersedia untuk umum secara gratis di
bawah Lisensi Spesifikasi OSGi. OSGi Allianceyang memiliki kepatuhan
program yang hanya terbuka untuk anggota. Pada Oktober 2009, daftar
bersertifikat OSGi implementasi berisi lima entri.
Arsitektur
Setiap kerangka yang menerapkan standar OSGi menyediakan
suatu lingkungan untuk modularisasi aplikasi ke dalam kumpulan yang lebih
kecil. Setiap bundel adalah erat-coupled, dynamically loadable kelas koleksi,
botol, dan file-file konfigurasi yang secara eksplisit menyatakan dependensi
eksternal mereka (jika ada). Kerangka kerja konseptual yang dibagi dalam
bidang-bidang berikut:
- Bundles
Bundles adalah normal jar komponen dengan nyata tambahan header - Services
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek (POJO). - Services
API untuk jasa manajemen (ServiceRegistration, ServiceTracker dan ServiceReference). - Life-Cycle
API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel. - Modules
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode). - Security
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan. - Execution Environment
Mendefinisikan
metode dan kelas apa yang tersedia dalam platform tertentuTidak ada daftar
tetap eksekusi lingkungan, karena dapat berubah sebagai Java Community Process
menciptakan versi baru dan edisi Jawa. Namun, set berikut saat ini didukung
oleh sebagian besar OSGi implementasi:
§ CDC-1.1/Foundation-1.1
CDC-1.1/Foundation-1.1
§ OSGi/Minimum-1.0 OSGi/Minimum-1.0
§ OSGi/Minimum-1.1
OSGi/Minimum-1.1
§ JRE-1.1 JRE-1.1
§ From J2SE-1.2 up to J2SE-1.6 Dari J2SE-1.2
hingga J2SE-1,6
§ CDC-1.0/Foundation-1.0
CDC-1.0/Foundation-1.0
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 :
- 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.
- Dapat digunakan kembali : model
komponen OSGi sangat mudah digunakan dan dapat digunakan dengan aplikasi
pihak ketiga.
- RealWorld : OSGi framework
dinamik. Hal ini berarti OSGi dapat diupdate secara online.
- Mudah Penyebarannya : teknologi
OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian
rupa serta dapat diatur cara penginstalannya.
- Update yang dinamik : OSGi
komponen bisa diupdate secara dinamik.
- Adaptif : model komponen OSGi
didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan
mencocokan antar komponen.
- Transparan
- Banyak versinya
- Simple : OSGi API sangat
simple. API OSGi hanya terdiri dari satu paket dan berjumlah kurang dari
30 kelas.
- Ukurannya kecil
- Kinerjanya cepat
- Malas : Malas dalam software
itu berarti bagus. Teknologi OSGi mempunyai banyak mekanisme hanya ketika
dibutuhkan saja.
- Aman
- Sederhana
- Tidak Mengganggu Kinerja
Aplikasi Lainnya
- Berjalan dimana saja
- Digunakan secara luas
- 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.
Tidak ada komentar:
Posting Komentar