rss
email
twitter
facebook

Thursday, January 24, 2013

Apa itu Open Source, OSGI, Virtualization, dan API ?


OpenSource

OpenSource adalah sistem pengembangan atau developement yang bukan di develop oleh suatu individu atau perorangan, namun adanya komunitas user yang saling bekerjasama dengan memanfaatkan source-code yang sudah ada dan dapat didapat secara cuma-cuma.
Opensource mempunyai budaya tersendiri, yaitu giving culture atau bahasa Indonesia budaya memberi. Dalam pengertiannya berarti, suatu user yang sudah diberi source-code tersebut merasa termotivasi untuk dapat berkarya tanpa ada yang mencampuri yang bertujuan untuk manfaat orang banyak.
Biasanya hasil karya opensource dipublikasikan lewat situs penyimpanansource terbesar seperti sourceforgegithub atau mungkin mempublikasikan karya mereka sendiri lewat blog atau website pribadi. Indonesia sendiri punya beberapa komunitas OpenSource. Seperti UGOS,IGOS dan beberapa komunitas lainnya yang tidak disebutkan (karena sangat banyak di Internet).

OSGi

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 startstop 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 allicance adalah sebuah organisasi standar terbuka yang didirikan pada bulan Maret tahun 1999 yang bertugas dalam melakukan rutinitas pada OSGi standar.
OSGi terkumpul dalam framework yang secara konsep dipisahkan pada beberapa area seperti:
  1. Bundles: rangkaian yang merupakan komponen jar dengan extra manifest header.
  2. Services: Layer yang menyambungkan layanan dalam cara yang dinamik.
  3. Services Registry: Layanan Manajement API.
  4. Life-Cycle: Manajemen API untuk install, start, stop, update, uninstall.
  5. Modules: Layer yang mengenkapsulasi dan deklerasi banyaknya ketergantungan.
  6. Security: Layer yang menangani aspek keamanan dengan membatasi rangkaian tersebut.
  7. Execution Environment: Menyatakan metode dan class tersedia pada platform tertentu.
Virtualization

Virtualisasi adalah simulasi software ataupun hardware yang menjalankan software lainnya menggunakan Virtual Machine atau VM. Ada banyak sekali bentuk virtualisasi.
Beberapa tipe dari virtualisasi:
  1. Hardware
  2. Desktop
  3. Software
  4. Memory
  5. Storage
  6. Data
  7. Network
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.
COntohnya speerti:
·         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.
·         Dan masih banyak lagi.

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.

ReadMore...