私はイエス·キリストと私の家族を愛して.

Foto saya
DKI JAKARTA, Jawa Barat, Indonesia
" love someone who is worthy and deserve to be loved ".

Sabtu, 29 November 2014

Open Service Gateway Initiative ( OSGI )



PENGANTAR TELEMATIKA

Open Service Gateway Initiative (OSGI)




Oleh


NAMA           :  SUGIANTO

NPM               :  19111161

KELAS          :  4 KA 42




FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS GUNADARMA
JAKARTA
2014




LATAR BELAKANG


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 masalah 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 sistem yang benar-benar matang yang dapat bekerja di lingkungan yang sangat banyak jumlahnya. Komponen sistem 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.



1.      Apa yang dimaksud dengan Open Service Gateway Initiative (OSGI) ?

OSGI ( Open Service Gateway Initiative ) adalah sebuah rencana industri yang merupakan cara standar untuk menghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke internet.OSGI berencana menentukan program aplikasi antar muka (API) 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. Program java pada umumnya dapat berjalan pada platform sistem operasi komputer. OSGI adalah sebuah interface pemrograman standar terbuka. The OSGI Alliance (sebelumnya dikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah sebuah organisasi standar terbuka yang didirikan pada Maret 1999. Aliansi dan anggota – anggotanya telah ditentukan sebuah layanan berbasis Java platform yang dapat dikelola dari jarak jauh. Spesifikasi OSGI yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk umum secara gratis di bawah Lisensi Spesifikasi OSGI.

v  Spesifikasi

Spesifikasi OSGI yang sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Wilayah aplikasi lain meliputi mobil, otomatisasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan (misalnya iPronto), armada manajemen dan aplikasi server. Adapun spesifikasi yang lain dimana OSGI akan dirancang untuk melengkapi standar perumahan yang ada, seperti orang – orang LonWorks (lihat kontrol jaringan), CAL, CEBus, HAVi, dan lain-lain.

Inti bagian dari spesifikasi adalah suatu kerangka kerja yang mendefinisikan aplikasi model manajemen siklus hidup, sebuah layanan registrasi, sebuah lingkungan eksekusi dan modul. Berdasarkan kerangka ini, sejumlah besar OSGI layers, API, dan Jasa telah ditetapkan. Spesifikasi OSGI yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk umum secara gratis di bawah Lisensi Spesifikasi OSGI.

v  ARSITEKTUR OSGi

OSGi adalah sebuah set spesifikasi yang mendefinisikan sebuah komponen sistem 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.

v  Lapisan OSGi

Model lapisan dari OSGi adalah sebagai berikut :


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): 

1.      Bundel
Kumpulan jar normal komponen dengan nyata tambahan header. Sebuah bundel adalah sekelompok kelas Java dan sumber daya tambahan yang dilengkapi dengan rincian file pada MANIFEST.MF nyata semua isinya, serta layanan tambahan yang diperlukan untuk memberikan kelompok termasuk kelas Java perilaku yang lebih canggih, dengan tingkat deeming seluruh agregat sebuah komponen.

2.      Layanan
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan, menerbitkan dan menemukan model dapat mengikat Java lama untuk menikmati objek (POJO). Siklus hidup menambahkan lapisan bundel dinamis yang dapat diinstal, mulai, berhenti, diperbarui dan dihapus. Buntalan bergantung pada lapisan modul untuk kelas loading tetapi menambahkan API untuk mengatur modul – modul dalam run time. Memperkenalkan lapisan siklus hidup dinamika yang biasanya bukan bagian dari aplikasi. Mekanisme ketergantungan luas digunakan untuk menjamin operasi yang benar dari lingkungan.
3.      Layanan Registrasi (Services-Registry)
API untuk manajemen jasa (ServiceRegistration, ServiceTracker dan ServiceReference).
OSGi Alliance yang telah ditentukan banyak layanan. Layanan yang ditentukan oleh antarmuka Java. Kumpulan dapat mengimplementasikan antarmuka ini dan mendaftarkan layanan dengan Layanan Registri. Layanan klien dapat menemukannya di registri, atau bereaksi ketika muncul atau menghilang.

4.      Siklus Hidup (Life-Cycle)
API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.

5.      Modul
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).

6.      Keamanan
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra didefinisikan kemampuan.

7.      Pelaksanaan Lingkungan
Mendefinisikan metode dan kelas apa yang tersedia dalam platform tertentu. Tidak 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

2.      Berikan contoh keuntungan dan kerugiannya ?

Contoh keuntungannya :

Ø  Dalam kehidupan sehari-hari.
Dikembangkan untuk mengendalikan alat-alat elektronik dalam rumah tangga dengan internet. Yaitu dengan menghubungkan berbagai framework OSGI ini untuk mengendalikan alat-alat rumah tangga yang bersifat elektronik. Hal ini dilakukan dengan berbagai protocol network yaitu Bluetooth, uPnP,HAVi, dan X10. Dengan bantuan Jini dan standart OSGI dari sun microsistem yaitu Java Embedded Server. Teknologi ini dinamakan home network dan jinni adalah salah satu standart untuk pembuatan home nerwork yang berbasis java.

Ø  Teknologi dan industry.

Dalam hal ini pengembangan OSGI dalam Teknologi dan industri adalah untuk otomatisasi industri. Seperti otomatisnya sistem dalam gudang yang dapat meminta dalam PPIC untuk mengadakan bahan baku, dan masih banyak yang lain.

Ø  Ilmu Komputer.

Dalam ilmu Komputer ini sangat banyak pengembang yang memanfaatkan teknologi OSGI ini.Salah satu contoh adalah knopflerfish merupakan framework untuk melakukan OSGI didalam program Java. Dan juga eclipse IDE merupakan OSGI framework yang dikembangkan oleh eclipse dan berbasis GUI. Dan masih banyak juga dalam server serta program-program lain yang mengembangkan teknologi OSGI ini.

v  Kelebihan OSGI :

Ø  Berjalan dimana saja dan Digunakan secara luas
Ø  Aman, Sederhana dan Tidak Mengganggu Kinerja Aplikasi Lainnya
Ø  Ukurannya kecil  dan Kinerjanya cepat
Ø  Transparan dan Banyak versinya
Ø  Simple : OSGi API sangat simple.
Ø  RealWorld : OSGi framework dinamik.
Ø  Dapat digunakan kembali
Ø  Mengurangi kompleksitas  

Contoh Kerugiannya :

Ø  Dalam platform layanan OSGi, setiap bundel layanan operator gerbang memerlukan otentikasi pengguna . Dengan hasil tersebut, pengguna harus menyelesaikan otentikasi berulang-ulang setiap kali pengguna ingin mengakses beberapa sejumlah layanan . Hal ini menyebabkan masalah keamanan potensial serta sulitnya akses pengguna .

Ø  Pertama-tama , masalah keamanan utama dengan lingkungan jaringan rumah berbasis pada platform layanan OSGi adalah bahwa infrastruktur keamanan didistribusikan dan arsitektur ini biasanya membutuhkan bahwa fitur kunci keamanan dibangun ke dalam semua bagian dari sistem .

Ø  Selain itu, pengguna harus menghafal username dan password untuk setiap layanan . Selain itu , administrator sistem mengelola banyak password dalam database dan dihadapkan dengan potensi masalah sistem tidak aman karena transmisi sering password ini di lokasi. SSO ( Single Sign -On ) adalah alternatif yang baik untuk memecahkan masalah ini . SSO adalah fitur keamanan yang memungkinkan pengguna untuk login ke berbagai layanan yang berbeda yang ditawarkan oleh sistem terdistribusi sementara hanya perlu menyediakan otentikasi sekali , atau setidaknya selalu dengan cara yang sama

v  Kekurangan OSGI :

Ø  Ruang lingkupnya sangat kecil
Ø  Keamanan kurang terjaga dari kejahatan haiker
Ø  Biaya sangat mahat untuk pembuatan aplikasi dari OSGI
Ø  Rawan terjadinya pencurian data
Ø  Ukuran penyimpanan yang sangat kecil untuk data yang di simpan


Saran :
Saran saya ialah agar pemanfaatan teknologi OSGI ini dapat diimplementasikan secara lebih real di semua bidang,karena kalau kita lihat dari manfaat yang dimiliki oleh OSGI rasanya sangatlah perlu di terapkan di semua bidang pekerjaan yang melibatkan teknologi elektonik, karena semua pekerjaan yang menggunakan teknologi OSGI akan menjadi sangat simple dan mudah.Yang perlu diperhatikan ialah masalah keamanan yang masih perlu ditingkatkan karena teknologi OSGI ini masih termasuk rentan mengenai keamanannya dan juga yang perlu ditingkatkan lagi ialah masalah lingkup yang bisa dicover atau diatasi dengan OSGI ini dan juga masalah biaya yang masih mahal hal ini membuat penerapan teknologi OSGI ini menjadi terhambat,sebaiknya diusahakan bagaimana caranya agar biaya dalam penerapan teknologi OSGI ini bisa ditekan lagi.




REFERENSI :

http://www.osgi.org/