Jumat, 25 Januari 2013

Open source,OSGi (Open Service Gateway Initiative), virtualisasi, API


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