Minggu, 08 Januari 2017

Pengantar Telematika Tugas Softskill minggu ke 4

Open Service Gateway Initiative
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.
   ·       ARSITEKTUR
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.

   ·       Fungsional
·        Mengurangi kompleksitas dalam perubahan atau penambahan plugins(Reduce Complexity)
Mengembangkan dengan teknologi OSGi berarti mengembangkan bundle yang merupakan komponen OSGi. Bundle tersebut menyembunyikan komponen internal mereka dari bundel lain dan berkomunikasi melalui layanan yang didefinisikan dengan baik. Menyembunyikan internal berarti mampu memberi kebebasan untuk mengubahnya dikemudian hari. Hal ini tidak hanya mampu mengurangi jumlah bug, melainkan mampu membuat bundle lebih sederhana untuk dikembangkan.Komponen OSGi dapat digunakan lagi untuk aplikasi yang lain (Reuse)
Model komponen dari OSGi membuatnya sangat mudah untuk digunakan oleh pihak ketiga dalam membangun sebuah aplikasi, peningkatan jumlah dari proyek open source memberikan JAR mereka siap untuk dibuat OSGi. Namun library komersial pun siap menjadi bundles.
·         Mudah dalam deployment karena menyediakan API yang dapat diintegrasikan dengan sistem manajemen eksternal (Easy Development).
·         Bundle dapat di-update secara dinamik tanpa mengubah sistem dasarnya bila di-uninstall (Dynamic Update).
·         Adaptif untuk semua service yang tersedia (Adaptive)
Model komponen OSGi dirancang dari bawah ke atas untuk memungkinkan pencampuran dan pencocokan komponen. Hal tersebut mengharuskan dependensi komponen dan mengharuskan komponen-komponen untuk hidup di suatu lingkungan di mana dependensi opsional tidak selalu tersedia. Daftar layanan OSGi adalah catatan yang dinamis di mana bundel dapat mendaftarkan, mendapatkan, dan mendengarkan layanan. Model layanan dinamis ini memungkinkan bundel menemukan kemampuan apa yang tersedia dalam diri sistem dan melakukan penyesuaian fungsionalitas yang mereka berikan. Hal ini membuat kode lebih flexible dan tahan terhadap perubahan.
·         Beberapa bagian dapat di-shutdown untuk menyelesaikan bug.
·         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 uninstall mereka.
·         Small
OSGi Release 4 Framework ini dapat diimplementasikan kedalam 300KB JAR file.

   ·       Struktural
Module
                Konsep modul adalah pekerjaan yang lebih mudah. Module adalah inti dari spesifikasi dan pemakaian dalam konsep bundle. Dalam isrilah Java, bundle ada dalam file lama JAR, Osgi menyembunyikan segalanya kecuali setelah di-export.
Service
                Alasan kenapa kita butuh model service dikarenakan Java sulit ditulis dengan class sharing. Solusi standart java menggunakan Factories menggunakan dynamic class dan static.
Deployment
                Bundle dijalankan di OSGI Framework. Ini bukanlah kontainer seperti server aplikasi java. Ini adalah collaborative environment yang berjalan di virtual machine yang sama dan share kode.
Implementation
                Spesifikasi OSGI membutuhkan referensi implementasi setiap spesifikasi. Bagaimanapun, sejak spesifikasi pertama selalu untuk perusahaan telah diimplementasikan sebagai open source. Sekarang telah ada 4 open source framework dan banyak implementasi OSGI.
Konklusi
                Spesifikasi OSGI menyediakan model komponen yang dewasa dan komprehensif dengan API yang sangat efektif. Merubah monolitik atau plugin yang berkembang didasarkan sistem OSGI hampir selalu menyediakan peningkatan yang besar dan lebih banyak projek yang dikemas.



Sumber