Subscribe:

Ads 468x60px

Pages

Kamis, 16 Januari 2014

Open Services Gateway Initiative (OSGi)

The OSGi Alliance (sebelumnya dikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah terbuka organisasi standar yang didirikan pada Maret 1999. Aliansi dan anggota-anggotanya telah ditentukan yang Java berbasis layanan platform yang dapat dikelola dari jarak jauhInti bagian dari spesifikasi adalah sebuah kerangka kerja yang mendefinisikan suatu manajemen siklus hidup aplikasi model, layanan registry, sebuah lingkungan Eksekusi dan Modul. Berdasarkan kerangka ini, sejumlah besar OSGi layers, API, dan Jasa telah ditetapkan.

OSGi teknologi adalah sistem modul dinamis untuk Java ™
OSGi teknologi menyediakan layanan berorientasi, komponen berbasis lingkungan untuk para pengembang dan menawarkan cara-cara standar untuk mengelola siklus hidup perangkat lunak. Kemampuan ini sangat meningkatkan nilai berbagai komputer dan perangkat yang menggunakan platform Java.

Pengadopsi teknologi OSGi manfaat dari peningkatan waktu ke pasar dan mengurangi biaya pengembangan karena teknologi OSGi menyediakan integrasi pra-dibangun dan pra-komponen subsistem diuji. Teknologi ini juga mengurangi biaya pemeliharaan dan kemajuan aftermarket baru peluang unik karena jaringan dapat dimanfaatkan untuk secara dinamis mengupdate atau memberikan layanan 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.

Alasan utama mengapa teknologi OSGi saat ini begitu sukses yaitu bahwa ia menyediakan komponen yang sangat dewasa, sistem yang benar-benar bekerja dalam jumlah yang mengejutkan lingkungan. Sebuah sistem komponen yang benar-benar digunakan untuk membangun aplikasi yang sangat kompleks seperti IDE (Eclipse), aplikasi server (GlassFish, IBM Websphere, Oracle / BEA Weblogic, Jonas, JBoss), penerapan kerangka kerja (Spring, Guice), otomasi industri, perumahan gateway, telepon, dan banyak lagi.

Manfaat dalam penerapan OSGI ini antara lain :

Mengurangi Kompleksitas (Reduced Complexity) – Mengembangkan dengan teknologi OSGi berarti mengembangkan bundel: komponen OSGi. Bundel adalah  modul. Mereka menyembunyikan internal dari bundel lain dan berkomunikasi melalui layanan didefinisikan dengan baik. Menyembunyikan internals berarti lebih banyak kebebasan untuk berubah nanti. Hal ini tidak hanya mengurangi jumlah bug, itu juga membuat kumpulan sederhana untuk berkembang karena bundel ukuran benar menerapkan sepotong fungsionalitas melalui interface didefinisikan dengan baik. Ada sebuah blog menarik yang menjelaskan teknologi OSGi apa yang mereka lakukan bagi proses pembangunan

Reuse – Para model komponen OSGi membuatnya sangat mudah untuk menggunakan banyak komponen pihak ketiga dalam suatu aplikasi. Peningkatan jumlah proyek-proyek sumber terbuka memberikan JAR’s mereka siap dibuat untuk OSGi. Namun, perpustakaan komersial juga menjadi tersedia sebagai bundel siap pakai.

Real World – OSGi kerangka kerja yang dinamis. Ini dapat memperbarui bundel on the fly dan pelayanan yang datang dan pergi. Ini dapat menghemat dalam penulisan kode dan juga menyediakan visibilitas global, debugging tools, dan fungsionalitas lebihy daripada yang telah dilaksanakan selama satu solusi khusus.

Easy Deployment – teknologi OSGi bukan hanya sebuah standard untuk komponen, tapi juga menentukan bagaimana komponen diinstal dan dikelola. API telah digunakan oleh banyak berkas untuk menyediakan sebuah agen manajemen. Agen manajemen ini bisa sesederhana sebagai perintah shell, TR-69 sebuah protokol manajemen pengemudi, OMA DM protokol sopir, komputasi awan antarmuka untuk Amazon EC2, atau IBM Tivoli sistem manajemen. Manajemen standar API membuatnya sangat mudah untuk mengintegrasikan teknologi OSGi dalam sistem yang ada dan masa depan.

Dynamic Updates – Model komponen OSGi adalah model dinamis. Kumpulan dapat diinstal, mulai, berhenti, diperbarui, dan dihapus tanpa menurunkan keseluruhan sistem. Banyak pengembang Java tidak percaya ini dapat dilakukan pada awalnya oleh karena itu tidak digunakan dalam produksi. Namun, setelah menggunakan ini dalam pembangunan selama beberapa waktu, sebagian besar mulai menyadari bahwa itu benar-benar bekerja dan secara signifikan mengurangi waktu penyebaran.

Simple - The OSGi API sangat sederhana. API inti hanya terdiri dari satu paket dan kurang dari 30 kelas / interface. API inti ini cukup untuk menulis kumpulan, menginstalnya, start, stop, update, dan menghapus mereka dan mencakup semua pendengar dan keamanan kelas.

Kecil (Small) – The OSGi Release 4 Framework dapat diimplementasikan kedalam JAR 300KB. Ini adalah overhead kecil untuk jumlah fungsi yang ditambahkan ke salah satu aplikasi dengan memasukkan OSGi. Oleh karena itu OSGi berjalan pada berbagai macam perangkat: dari sangat kecil, kecil, dan untuk mainframe. Hanya meminta Java VM minimal untuk menjalankan dan menambahkan sangat sedikit di atasnya.

Cepat (Fast) – Salah satu tanggung jawab utama dari Framework OSGi memuat kelas-kelas dari bundel. Di Java tradisional, JARs benar-benar terlihat dan ditempatkan pada daftar linear. Pencarian sebuah kelas memerlukan pencarian melalui daftar ini. Sebaliknya, pra-kabel OSGi bundel dan tahu persis untuk setiap bundel bundel yang menyediakan kelas. Kurangnya pencarian yang signifikan faktor mempercepat saat startup.
Implementasi OSGI

Spesifikasi proses OSGi membutuhkan referensi spesifikasi implementasi untuk masing-masing. Namun, karena spesifikasi pertama selalu ada perusahaan komersial yang telah menerapkan spesifikasi serta implementasi open source. Saat ini, terdapat 4 open source implementasi dari kerangka dan terlalu banyak untuk menghitung implementasi dari layanan OSGi. Industri perangkat lunak yang terbuka telah menemukan teknologi OSGi dan semakin banyak proyek artefak menyampaikannya sebagai kumpulan(bundles).


Teknologi OSGI sudah sangat banyak dikembangkan untuk berbagai macam keperluan dalam sehari hari maupun di bidang teknologi informasi dan industry serta di bidang ilmu komputer.


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:
1. Bundles
    Bundles adalah normal jar komponen dengan nyata tambahan header
2. Services
    Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan menerbitkan-     menemukan-model mengikat Jawa lama untuk menikmati objek (POJO).
3. Services
    API untuk jasa manajemen (ServiceRegistration, ServiceTracker dan ServiceReference).
4. Life-Cycle
    API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
5. Modules
    Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat       mengimpor dan mengekspor kode).
6. Security
    Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan       kemampuan.
7. 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

Referensi:
http://en.wikipedia.org/wiki/OSGi
http://www.osgi.org/Main/HomePage
http://asep10106240.wordpress.com/2009/12/10/open-services-gateway-initiative-osgi/

Tidak ada komentar:

Posting Komentar