OPEN SOURCE
Open Source atau Sumber Terbuka adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasiInternet). Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak.
Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab.
Konsep dan Definisi
Pada intinya konsep sumber terbuka adalah membuka “kode sumber” dari sebuahperangkat lunat. Konsep ini terasa aneh pada awalnya dikarenakan kode sumber merupakan kunci dari sebuah perangkat lunak. Dengan diketahui logika yang ada di kode sumber, maka orang lain semestinya dapat membuat perangkat lunak yang sama fungsinya. Sumber terbuka hanya sebatas itu. Artinya, dia tidak harus gratis. Definisi sumber terbuka yang asli adalah seperti tertuang dalam OSD (Open Source Definition)/Definisi sumber terbuka
GATEWAY INITIATIVE
OSGi atau Open Source Gateway initiative adalah sebuah modul sistem dan layanan platform untuk bahasa pemrograman Java yang mengimplementasikan komponen model yang komplit dan dinamik. Adapun aplikasi atau komponen yang berasam dari paket bundle untuk pengerjaan, secara otomatis dapat dipasang dari jarak jauh bahkan di start, stop atauupdate. Untuk melakukan uninstall juga tidak membutuhkan reboot ataurestart.
Layanan dari OSGi ini membolehkan rangkaian registry untuk mendeteksi adanya beberapa layanan baru atau menghapus layanan tersebut dan beradaptasi dengan tepat.
Perkembangan dari OSGi ini sangat cepat sekali. Yang tadinya hanya fokus pada layanan gateway, kini sudah merambah pada aplikasi mobile phonesampai open source Eclipse IDE.
OSGi terkumpul dalam framework yang secara konsep dipisahkan pada beberapa area seperti:
- Bundles: rangkaian yang merupakan komponen jar dengan extra manifest header.
- Services: Layer yang menyambungkan layanan dalam cara yang dinamik.
- Services Registry: Layanan Manajement API.
- Life-Cycle: Manajemen API untuk install, start, stop, update, uninstall.
- Modules: Layer yang mengenkapsulasi dan deklerasi banyaknya ketergantungan.
- Security: Layer yang menangani aspek keamanan dengan membatasi rangkaian tersebut.
- Execution Environment: Menyatakan metode dan class tersedia pada platform tertentu.
VIRTUALIZATION
Virtualisasi atau dalam bahasa inggris yaitu Virtualization adalah istilah umum dalam ilmu komputer yang mengacu kepadaabstraksi dari sumber daya komputer. Definisi lainnya adalah “sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain,aplikasiatau penggunaberinteraksi dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya tunggal (sepertiserver, sebuah sistem operasi, sebuah aplikasi, atau peralatan penyimpananterlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logikal.
Tipe-Tipe Virtualisasi :
- Hardware
- Software
- Desktop
- Memory
- Storage
- Data
- Network
Hardware
virtualisasi perangkat-keras mengacu kepada upaya menciptakanmesin virtualyang bekerja layaknya sebuahkomputerlengkap dengansistem operasi.
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.
Desktop
Virtualisasi Desktop merupakan hasil teknologi dengan konsep Virtual Desktop Infrastructure (VDI) yang sedang berkembang. Dimana desktop adalah komputer kerja juga bisa disebutkomputer mejayang dipakai untuk kerja sehari–hari dalam satu lokasi bisa di rumah maupun di kantor. Dan lebih diperuntukkan kepada perusahaan dengan karyawan yang menggunakan komputer, sehingga desktop (komputer kerja) tidak lagi harus wujud fisik komputer yang besar tetapi sudah dalam bentuk virtual yang akan dapat diakses dengan model client-server
API
API atau Application Programming Interface adalah sebuah protokol yang digunakan sebagai antar muka oleh komponen software untuk berkomunikasi dengan yang lainnya.
Saat ini API banyak digunakan sebagai konten pembagi. Singkatnya, API dapat membolehkan para komunitas web untuk membuat sebuah API yang berguna untuk membagi konten dan data diantara para komunitas lainnya. Dalam hal ini, konten yang dibuat dalam suatu tempat secara dinamik dapat dipost dan diupdate pada lokasi yang berbeda-beda pada web.
Contoh:
- Foto dapat dibagi dari website seperti flickr, photobucket ke sosial website seperti facebook dan myspace.
- Konten dapat di embed, seperti embed dari slideShare pada profil LinkedIn.
- Konten video dapat di embed pada website yang disediakan berlainan host.
API yang dimaksudkan untuk digunakan oleh lebih dari satu bahasa tingkat tinggi pemrograman sering memberikan, atau ditambah dengan fasilitas yang secara otomatis memetakan API untuk fitur (sintaksis atau semantik) yang lebih alami dalam bahasanya. Hal ini dikenal sebagai language binding, dan API itu sendiri. Tujuannya adalah untuk merangkum sebagian besar fungsi yang diperlukan dari API, meninggalkan lapisan tipis yang tepat untuk setiap bahasa.
Sumber img : Wikipedia