Sabtu, 26 Desember 2015

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

OSGI (Open Service Gateway Initiative) dapat juga dikatakan sebuah rencana industri untuk cara standar untuk menghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke Internet. OSGI berencana menentukan program aplikasi antarmuka (API) untuk pemrogram menggunakan, untuk memungkinkan komunikasi dan kontrol antara penyedia layanan dan perangkat di dalam rumah atau usaha kecil jaringan. OSGI API akan dibangun pada bahasa pemrograman Java dikarenakan program java pada umumnya dapat berjalan pada platform sistem operasi komputer.

Spesifikasi OSGI

Spesifikasi OSGi telah bergerak melampaui fokus asli gateway layanan, dan sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Area aplikasi lainnya termasuk mobil, otomasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan, armada manajemen dan aplikasi server .


Setiap kerangka yang menerapkan standar OSGi menyediakan suatu lingkungan untuk modularisasi aplikasi ke dalam bundel kecil. Setiap bundel adalah koleksi, erat dynamically loadable kelas, guci, dan file konfigurasi yang secara eksplisit menyatakan dependensi eksternal.
Kerangka ini secara konseptual dibagi menjadi beberapa layer, antara lain:
·      Bundel. Komponen osgi 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. Enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode
·  Keamanan. Menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan.
·    Eksekusi Lingkungan. Mendefinisikan apa yang metode dan kelas yang tersedia dalam platform tertentu

Peluang dan Tantangan dalam Pengembangan OSGI
·    Mengurangi Kompleksitas (Reduced Complexity). Mereka menyembunyikan internal dari bundel lain dan berkomunikasi melalui layanan didefinisikan dengan baik. Hal ini tidak hanya mengurangi jumlah bug, itu juga membuat kumpulan sederhana untuk berkembang.
·  Reuse. Para model komponen OSGi membuatnya sangat mudah untuk menggunakan banyak komponen pihak ketiga dalam suatu aplikasi.
·  Real World. Menghemat dalam penulisan kode dan juga menyediakan visibilitas global, debugging tools, dan fungsionalitas lebih daripada yang telah dilaksanakan selama satu solusi khusus.
·    Easy Deployment. 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.
·      Simple. The OSGi API sangat sederhana.
·    Kecil (Small). The OSGi Release 4 Framework dapat diimplementasikan kedalam JAR 300KB. Cepat (Fast). Kurangnya pencarian yang signifikan faktor mempercepat saat startup.


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
sumber:
·        http://www.ekowahyudi.com/2010/01/osgi-open-service-gateway-initiative.html
·        http://www.scribd.com/doc/282983020/OSGI-Open-Service-Gateway-Initiative#scribd
·        https://en.wikipedia.org/wiki/OSGi
·        http://www.scribd.com/doc/206692069/E-book-OSGI-Pengantar-Telematika


Tidak ada komentar:

Posting Komentar