Open source,OSGi (Open Service Gateway Initiative), virtualisasi, API
Open source
Open source software adalah istilah yang
digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat
oleh orang lain dan membiarkan orang lain mengetahui cara kerja software
tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software
tersebut. Dan yang menarik dan salah satu keunggulannya adalah bahwa Open
source software dapat diperoleh dan digunakan secara gratis tanpa perlu
membayar lisensi. Biasanya orang mendapatkan software ini dari internet. Salah
satu open source software yang terkenal yaitu Linux.
Keberadaan open source software ini sangat
ditunjang oleh internet. Mula-mula Open source software diambil dari internet
kemudian digunakan oleh orang dan diperbaiki apabila ada kesalahan. Hasil
perbaikan dari open source ini kemudian dipublikasikan kembali melalui internet
yang memungkinkan orang lain menggunakan dan memperbaikinya. Dan begitulah
seterusnya. Saat ini sangat mudah mendapatkan open source software di internet.
Pengembangan open source software
melibatkan banyak orang dari berbagai penjuru dunia yang berinteraksi melalui
internet. Maka bermunculanlah berbagai macam software yang dibuat berbasis open
source ini yang dipublikasikan melalui internet. Pola open source ini telah
melahirkan developer-developer handal dari berbagai penjuru dunia.
Dengan pola open source orang dapat membuat
dan mengembangkan apa yang disebut dengan free software. Software ini dapat
digunakan tanpa perlu membayar lisensi atau hak cipta karena memang
dikembangkan dengan pola open source. Jadi, dengan pola open source orang dapat
mengembangkan software dan mempublikasikannya dengan bebas melalui internet.
Maka tidak heran apabila kita akan banyak menemukan free software ini di
internet dan bisa secara bebas mendownloadnya tanpa perlu membayar uang sepeser
pun kepada pengembang software tersebut.
Dengan karakteristik yang telah disebutkan
di atas maka tidak salah apabila kita menaruh harapan pada open source ini
sebagai platform alternatif yang bisa kita gunakan dalam komputer kita.
Penerapan pola open source di Indonesia juga dapat menghilangkan pemakaian
software komersial secara ilegal dan memungkinkan bangsa Indonesia dikenal
karya ciptanya dengan ikut mengembangkan open source software.
Sumber : internet
OSGi (Open Service Gateway Initiative)
Definisi
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.
Proses
Spesifikasi
Spesifikasi
OSGi dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk
publik secara gratis di bawah Lisensi Spesifikasi OSGi. The Alliance OSGi
memiliki kepatuhan program yang hanya terbuka untuk anggota. Pada November
2010, ada tujuh bersertifikat OSGi kerangka implementasi . Sebuah halaman
terpisah daftar baik bersertifikat dan non-bersertifikat Implementasi
Spesifikasi OSGi, yang meliputi kerangka OSGi dan spesifikasi OSGi lainnya.
Kerangka
OSGi (OSGi framework)
Definisi
Kerangka
OSGi adalah sistem modul dan layanan platform untuk Java bahasa pemrograman
yang menerapkan lengkap dan dinamis model komponen , sesuatu yang seperti tahun
2012 tidak ada di Jawa standalone / VM lingkungan. Aplikasi atau komponen
(datang dalam bentuk dari bundel untuk penyebaran) dapat jarak jauh diinstal,
mulai, berhenti, diperbarui, dan dihapus tanpa memerlukan restart, pengelolaan
paket Jawa / kelas ditentukan dengan sangat rinci. Aplikasi manajemen siklus
hidup (start, stop, install, dll) dilakukan melalui API yang memungkinkan untuk
remote download dari kebijakan manajemen. Registri layanan memungkinkan berkas
untuk mendeteksi penambahan layanan baru, atau penghapusan layanan dan
beradaptasi sesuai.
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 .
Arsitektur
(Architecture)
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 mereka (jika ada).
Kerangka ini
secara konseptual dibagi menjadi bidang-bidang berikut:
§
Bundel
Bundel
normal jar komponen 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
Lapisan ang
mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan
dapat mengimpor dan mengekspor kode).
§
Keamanan
Lapisan yang
menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk
pra-didefinisikan kemampuan.
§
Eksekusi
Lingkungan
Mendefinisikan
apa yang metode dan kelas 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 implementasi OSGi yang paling:
§
CDC-1.0/Foundation-1.0
§
CDC-1.1/Foundation-1.1
§
OSGi/Minimum-1.0
§
OSGi/Minimum-1.1
§
JRE-1.1
§
Dari
J2SE-1.2 hingga J2SE-1.6
Sumber : internet
virtualisasi
Istilah virtualisasi perangkat-keras mengacu
kepada upaya menciptakan mesin virtual yang bekerja layaknya sebuah komputer lengkap dengan sistem operasi. Istilah mesin
tuan-rumah(host) mengacu kepada mesin tempat virtualisasi bersemayam
sementara istilah mesin tamu(guest) mengacu kepada virtual
mesin itu sendiri. Istilah hypervisor mengacu kepada perangkat-lunak
atau firmware yang
membuat mesin virtual.
Jenis virtualisasi perangkat-keras meliputi:
·
Para-virtualisasi: Perangkat keras tidak disimulasikan tetapi
perangkat-lunak tamu berjalan dalam domainnya sendiri seolah-olah dalam sistem
yang berbeda. Dalam hal ini perangkat-lunak tamu perlu disesuaikan untuk dapat
berjalan.
·
Virtualisasi
sebagian: Tidak semua aspek lingkungan
disimulasikan tidak semua perangkat-lunak dapat langsung berjalan, beberapa
perlu disesuaikan untuk dapat berjalan dalam lingkungan virtual ini.
·
Virtualisasi penuh: Hampir menyerupai mesin asli dan mampu
menjalankan perangkat lunak tanpa perlu diubah.
Vitualisasi perangkat-keras harus dibedakan dengan
emulasi perangkat-keras. Pada emulasi perangkat-keras sebuah perangkat-keras
meniru kerja perangkat-keras lain, sementara pada virtualisasi perangkat-keras
sebuah hypervisor (sebuah software) meniru kerja
perangkat keras tertentu atau bahkan keseluruhan komputer. Lebih lanjut hypervisor jangan dirancu dengan
emulator. Keduanya mempunyai definisi yang sama tapi domain pembicaraannya
berbeda.
Sumber : wikipedia
API
API adalah seperangkat aturan tertentu atau
algoritma tertentu yang dikodekan dengan spesifik dapat digunakan dan
berkomunikasi oleh perangkat lunak lainnya (Applikasi). Berfungsi sebagai
antarmuka antara program perangkat lunak yang berbeda dan memfasilitasi
interaksi antara kedua applikasi tersebut, mirip dengan cara antarmuka pengguna
memfasilitasi interaksi antara manusia dan komputer.
API dapat dibuat untuk aplikasi, sistem operasi
, dll, sebagai cara mendefinisikan "kosakata" dan ruang lingkup
sumber daya (pemanggilan fungsi-fungsi di luar applikasi itu sendiri).
Dalam web , API biasanya satu set didefinisikan
dengan Hypertext Transfer Protocol ( HTTP ) permintaan pesan , bersama dengan
definisi struktur respon pesan, yang biasanya dalam Extensible Markup Language
( XML ) atau JavaScript Object Notation ( JSON Encode) format. Sementara
"Web API" hampir sinonim untuk layanan web , tren baru-baru (disebut
Web 2.0 ) telah bergerak menjauh dari Simple Object Access Protocol ( SOAP )
jasa berdasarkan arah yang lebih langsung Representational State Transfer(REST)
komunikasi gaya. Web API memungkinkan kombinasi dari beberapa layanan ke
dalam aplikasi baru yang dikenal sebagai mashups.
Sumber : Internet