Anda di halaman 1dari 8

Pengertian OSGI (Open Service Gateway Initiative)

 OSGI (Open Service Gateway Initiative) adalah 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. 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. OSGI Alliance yang memiliki program kepatuhan
yang hanya terbuka untuk anggota. Pada Oktober 2009, daftar bersertifikat OSGI implementasi
berisi lima entri.

Manfaat OSGI
 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
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.

 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 system 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. Dari surfing di internet banyak yang mengulas tentang Pemrograman Java yang
mengapdopsi 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.

Teknologi OSGI
MASALAH
Software kompleksitas meningkat pada tingkat yang mengkhawatirkan. Hari ini, sebagian besar
kompleksitas ini disebabkan oleh siklus produk yang singkat, persyaratan untuk fungsi secara
drastis meningkat, dan peningkatan jumlah variasi produk yang sama (misalnya hardware yang
berbeda dan sistem operasi). Kecenderungan ini telah menyebabkan biaya perangkat lunak
menjadi persentase lebih besar dari biaya pengembangan hampir semua produsen.
Hari ini, pengembangan perangkat lunak sebagian besar terdiri dari mengadaptasi ada
fungsionalitas untuk tampil di lingkungan yang baru. Dalam 20 tahun terakhir, sejumlah besar
blok bangunan standar telah tersedia dan mereka sering digunakan dalam produk hari ini,
sebuah contoh utama adalah keberhasilan perangkat lunak terbuka. Namun, penggunaan
pustaka ini bukan tanpa masalah. Mengintegrasikan berbagai perpustakaan bisa menakutkan
karena banyak perpustakaan telah menjadi kompleks dan memerlukan perpustakaan mereka
sendiri untuk fungsi - bahkan jika fungsi yang tidak pernah diperlukan untuk produk.
Tren ini membutuhkan produk perangkat lunak monolitik untuk menjalani siklus pengujian berat.
Tambahkan evolusi tidak sinkron dari library yang berbeda dan itu menjadi jelas mengapa
pengembangan perangkat lunak begitu mahal saat ini.
Sebuah isu kunci adalah software yang saat ini berfokus pada lingkungan menulis software baru,
bukan mengintegrasikan perangkat lunak yang ada ke dalam sistem baru. Pada kenyataannya,
mengintegrasikan kode yang ada telah menjadi bagian besar dari pekerjaan pengembang
perangkat lunak. Oleh karena itu, ada kebutuhan untuk alat-alat yang standarisasi aspek
integrasi dari perangkat lunak sehingga penggunaan kembali komponen yang ada menjadi
handal, kuat dan murah.
SOLUSI
OSGi technology is the dynamic module system for Java™. teknologi OSGi adalah sistem modul
dinamis untuk Java ™. Para OSGi Service Platform menyediakan fungsionalitas ke Jawa yang
membuat Java lingkungan utama untuk integrasi perangkat lunak dan dengan demikian untuk
pembangunan. Java menyediakan portabilitas yang diperlukan untuk mendukung produk pada
platform yang berbeda. Teknologi OSGi memberikan primitif standar yang memungkinkan
aplikasi yang akan dibangun dari, dapat digunakan kembali dan kolaboratif komponen kecil.
Komponen-komponen ini dapat disusun ke dalam suatu aplikasi dan disebarkan.
Para OSGi Service Platform menyediakan fungsi untuk mengubah komposisi dinamis pada
perangkat dari berbagai jaringan, tanpa memerlukan restart.. Untuk meminimalkan kopling,
serta membuat kopling dikelola, teknologi OSGi menyediakan arsitektur berorientasi layanan
yang memungkinkan komponen ini untuk secara dinamis menemukan satu sama lain untuk
berkolaborasi. Aliansi OSGi telah mengembangkan banyak komponen antarmuka standar untuk
fungsi-fungsi umum seperti server HTTP, konfigurasi, logging, keamanan, administrasi pengguna,
XML dan banyak lagi. Plug-kompatibel implementasi komponen ini dapat diperoleh dari vendor
yang berbeda dengan optimasi yang berbeda dan biaya. Namun, antarmuka layanan juga bisa
dikembangkan secara eksklusif.
pengadopsi teknologi OSGi manfaat dari peningkatan ke waktu-pasar dan biaya pengembangan
berkurang karena teknologi OSGi menyediakan integrasi built dan pra-diuji komponen
subsistem-pra. The technology also reduces maintenance costs and enables unique new
aftermarket opportunities because components can be dynamically delivered to devices in the
field. Teknologi ini juga mengurangi biaya pemeliharaan dan memungkinkan peluang unik
aftermarket baru karena komponen dapat secara dinamis dikirim ke perangkat di lapangan.

KERANGKA

Komponen inti dari Spesifikasi OSGi adalah Framework OSGi. Kerangka menyediakan lingkungan
yang standar untuk aplikasi (bundel disebut). Kerangka ini dibagi dalam beberapa lapisan.

L0: Lingkungan Eksekusi


L1: Modul
L2: Siklus Manajemen Hidup
L3: Layanan Registry Sebuah sistem keamanan di mana-mana adalah sangat terkait dengan
semua lapisan.
 Lingkungan L0 Eksekusi adalah spesifikasi lingkungan Jawa. Java 2 Konfigurasi dan Profil, seperti
J2SE, CDC, CLDC, MIDP dll semua lingkungan eksekusi yang valid. Platform OSGi juga standar
lingkungan eksekusi berdasarkan Foundation Profile dan variasi yang lebih kecil yang
menentukan persyaratan minimum pada lingkungan eksekusi yang akan berguna untuk bundel
OSGi.
 Lapisan Modul L1 mendefinisikan kebijakan loading kelas. Kerangka OSGi adalah kelas-loading
model dan kaku ditentukan kuat. Hal ini didasarkan pada atas Jawa tetapi menambahkan
modularisasi. Di Jawa, ada biasanya classpath tunggal yang berisi semua kelas dan sumber daya.
Modul OSGi menambahkan lapisan kelas pribadi untuk modul serta dikendalikan
menghubungkan antara modul. Lapisan modul terintegrasi dengan arsitektur keamanan,
memungkinkan opsi untuk menyebarkan sistem tertutup, kebun bertembok, atau benar-benar
pengguna sistem dikelola atas kebijaksanaan produsen.
 Lapisan Life Cycle L2 menambahkan bundel yang dapat dinamis diinstal, mulai, berhenti,
diperbarui dan dihapus. Kumpulan mengandalkan pada lapisan modul untuk memuat kelas
tetapi menambahkan sebuah API untuk mengelola modul dalam run time. Lapisan siklus
memperkenalkan dinamika yang biasanya bukan bagian dari aplikasi. mekanisme
ketergantungan ekstensif digunakan untuk menjamin operasi yang benar dari lingkungan.
operasi siklus hidup sepenuhnya dilindungi dengan arsitektur keamanan, sehingga hampir tidak
mungkin diserang oleh virus.
 Lapisan L3 menambahkan Registry Service. Registri layanan menyediakan model kerjasama
untuk bundel yang mengambil dinamika ke rekening. Kumpulan dapat bekerja sama melalui
pembagian kelas tradisional tetapi berbagi kelas tidak terlalu kompatibel dengan dinamis
menginstal dan menghapus kode. Registri layanan menyediakan model yang komprehensif
untuk objek saham antara kumpulan. Sejumlah peristiwa didefinisikan untuk menangani datang
dan pergi pelayanan. Layanan Java hanya objek yang dapat mewakili apapun. Banyak layanan
server-benda seperti, seperti server HTTP, sedangkan jasa lain merupakan sebuah objek di dunia
nyata, misalnya ponsel Bluetooth yang ada di dekatnya. Model layanan sepenuhnya keamanan
diinstrumentasi. Model keamanan layanan menyediakan cara elegan untuk mengamankan
komunikasi antara melewati bundel.

KEAMANAN
Keamanan adalah berbasis Java dan Java 2 model keamanan. Bahasa dengan desain batas
banyak kemungkinan konstruksi. Sebagai contoh, buffer overflows digunakan dalam virus adalah
mustahil. Akses pengubah dalam bahasa membatasi visibilitas kode untuk programmer
lainPlatform OSGi memperluas model ini dengan mengizinkan kelas swasta, mekanisme yang
tidak tersedia dalam cara yang standar di Jawa. Java 2 model keamanan menyediakan model
yang komprehensif untuk memeriksa kode akses ke sumber daya. Platform OSGi menambahkan
manajemen yang dinamis penuh hak akses, menyederhanakan kehidupan operator dan
administrator sistem.
STANDAR LAYANAN
Di atas Kerangka, Aliansi OSGi telah ditentukan banyak layanan. Layanan ditentukan oleh
antarmuka Jawa. Kumpulan dapat mengimplementasikan antarmuka ini dan mendaftarkan
layanan dengan Registry Service Klien layanan dapat menemukannya di registri, atau bereaksi
ketika itu muncul atau menghilang.
Hal ini mirip dengan arsitektur berorientasi layanan dibuat populer dengan layanan web.
Perbedaan utama antara layanan web dan layanan OSGi adalah bahwa layanan web selalu
membutuhkan beberapa lapisan transport, yang membuat ribuan kali lebih lambat daripada
layanan OSGi yang menggunakan pemanggilan metode langsung. Juga, komponen OSGi dapat
langsung bereaksi pada penampilan dan hilangnya jasa.
Bagian berikut memberikan gambaran singkat dari Release OSGi 4 layanan. Informasi lebih
lanjut dapat ditemukan dalam Platform Service Release 4 buku OSGi atau download PDF.
Perhatikan bahwa setiap layanan didefinisikan secara abstrak dan secara independen
dilaksanakan oleh vendor yang berbeda.

KERANGKA LAYANAN
Kerangka OSGi memberikan Izin Admin Service, Paket Layanan Admin dan Mulai Tingkat
Layanan. Layanan ini (opsional) bagian dan langsung pengoperasian Framework. Framework
services are the following: Kerangka layanan adalah sebagai berikut:

 (Bersyarat) Izin Admin - Hak akses atau masa depan bundel saat ini dapat dimanipulasi melalui
layanan ini. Permissions diaktifkan segera setelah mereka ditetapkan.
 Admin Paket - paket berbagi Bundel dengan kelas dan sumber daya. Pembaruan ikatan mungkin
memerlukan sistem untuk kembali menghitung dependensi. Paket layanan ini Admin
memberikan informasi mengenai kondisi aktual berbagi paket dari sistem dan juga bisa
menyegarkan paket bersama. istirahat dependensi dan menghitung ulang dependensi
 Mulai Level - Mulai Tingkat adalah seperangkat berkas yang harus dijalankan bersamaan atau
harus diinisialisasi sebelum yang lain dimulai. Awal Tingkat Pelayanan menentukan tingkat mulai
saat ini, memberikan bundel untuk tingkat awal dan interrogates pengaturan saat ini.
• URL Handler - Lingkungan Jawa mendukung model penyedia untuk penangan URL. Namun, ini
adalah singleton sehingga tidak mungkin untuk menggunakan ini dalam sebuah lingkungan
kolaboratif seperti OSGi yang berpotensi memiliki banyak penyedia layanan yang berbeda.
Spesifikasi layanan ini memungkinkan komponen apapun untuk menyediakan handler URL
tambahan.

SISTEM LAYANAN
Layanan Sistem menyediakan fungsi horizontal yang diperlukan dalam hampir setiap sistem.
Layanan Log, Konfigurasi Admin Layanan, Perangkat Akses Layanan, Admin User Layanan, IO
Connector Layanan dan Jasa Preferensi adalah contoh dari layanan sistem.
 Log Layanan - Penebangan di informasi, peringatan, debug informasi atau kesalahan ditangani
melalui Layanan Log. Ia menerima entri log dan kemudian kiriman ini entri untuk berkas lain
yang berlangganan informasi ini.
 Admin Konfigurasi Layanan - Layanan ini menyediakan model yang fleksibel dan dinamis untuk
mengatur dan mendapatkan informasi konfigurasi.
 Perangkat Akses Layanan - Perangkat Akses adalah mekanisme OSGi untuk mencocokkan driver
untuk perangkat baru dan secara otomatis men-download berkas menerapkan driver ini. Ini
digunakan untuk skenario Plug and Play.
 Admin User Layanan - Layanan ini menggunakan database dengan informasi pengguna (swasta
dan masyarakat) untuk tujuan otentikasi dan otorisasi.

SISTEM LAYANAN
 IO Connector Layanan - IO Konektor Layanan mengimplementasikan CDC / javax CLDC.
microedition.io paket sebagai layanan. Layanan ini memungkinkan berkas untuk memberikan
skema protokol baru dan alternatif.
 Preferensi Layanan - Layanan ini menyediakan akses ke database hirarki properti, mirip dengan
Registry Windows atau kelas Java Preferensi.
 Komponen Runtime - Sifat dinamis layanan - mereka dapat datang dan pergi setiap saat -
membuat menulis perangkat lunak lebih keras. Spesifikasi Komponen Runtime dapat
mempermudah penanganan aspek-aspek dinamis dengan menyediakan sebuah deklarasi
berbasis XML dependensi.
 Deployment Admin - Bentuk penyebaran utama untuk OSGi adalah bundel, yang merupakan
JAR / ZIP file. Admin Deployment menyediakan format sekunder: paket penyebaran.
Deployment Paket dapat menggabungkan bundel dengan sumber daya acak ke dalam satu
deliverable yang dapat diinstal dan dihapusSebuah model yang komprehensif prosesor sumber
daya memungkinkan kode pengguna untuk memperluas jenis sumber daya.
 Event Admin - Banyak peristiwa OSGi mengetik interface tertentu, sehingga sulit untuk
menerima dan menyaring acara umum. Event Admin menyediakan seperti generik, mekanisme
event topik berbasis. Spesifikasi ini mencakup pemetaan untuk semua kerangka yang ada dan
acara layanan.
 Aplikasi Admin - Model bundle OSGi berbeda dari desktop khas atau model telepon aplikasi
mobile yang bergantung pada memulai dan menghentikan aplikasi. Admin Aplikasi mengatur
seperti model aplikasi tradisional dan infrastruktur manajemen yang dibutuhkan perusahaan.

PROTOKOL LAYANAN
Aliansi OSGi telah menetapkan sejumlah layanan yang memetakan suatu protokol eksternal
untuk layanan OSGi.
 Http Layanan - Layanan Http adalah, antara lain, seorang pelari servlet. Kumpulan dapat
memberikan servlets, yang menjadi tersedia melalui protokol Http. Fasilitas update dinamis dari
OSGi Service Platform membuat Http Layanan web server yang sangat menarik yang dapat
diperbarui dengan servlet yang baru, jarak jauh jika perlu, tanpa memerlukan restart.
 Layanan UPnP - Universal Plug and Play (UPnP) adalah standar muncul untuk elektronik
konsumen. OSGi Service peta perangkat UPnP pada jaringan UPnP ke Registry Service. Atau,
dapat memetakan layanan OSGi ke jaringan UPnP. Ini adalah Release direkomendasikan 3
spesifikasi.
 DMT Admin - Open Mobile Alliance (OMA) memberikan spesifikasi yang komprehensif untuk
manajemen perangkat mobile pada konsep Manajemen Device Pohon (DMT). Admin layanan
DMT mendefinisikan bagaimana pohon ini dapat diakses dan / atau diperpanjang dalam OSGi
Service Platform.

LAYANAN LAIN
 Admin kawat Layanan - Biasanya bundel menetapkan aturan untuk menemukan layanan yang
mereka ingin bekerja dengan. Namun, dalam banyak kasus ini harus menjadi keputusan
penyebaran. Layanan Wire Admin karena menghubungkan pelayanan yang berbeda bersama
sebagaimana didefinisikan dalam file konfigurasi. Layanan Wire Admin menggunakan konsep
layanan Konsumen dan Produser yang pertukaran objek di atas kawat.
 ML Parser Layanan - XML Parser layanan memungkinkan bundel untuk mencari parser dengan
sifat yang diinginkan dan kompatibilitas dengan JAXP.
 Awal Provisioning
 Aplikasi Asing Akses

Anda mungkin juga menyukai