Sabtu, 12 Januari 2013

Application Programing Interface


API (Application Programing Interface) Merupakan kumpulan dari fungsi fungsi atau perintah yang menggantikan bahasa yang digunakan yang diganti dengan bahasa yang lebih terstruktur dan mudah dimengerti.

API digunakan secara khusus dan dikembangkan sebagai perantara komunikasi antara komponen-komponen dari perangkat lunak.

Keuntungan menggunakan API adalah:
  • Portabilitas: Programmer yang menggunakan API dapat menjalankan programnya dalam sistem operasi mana saja asalkan sudah ter- install API tersebut. Sedangkan system call  berbeda antar sistem operasi, dengan catatan dalam implementasinya mungkin saja berbeda.      
  • Lebih Mudah Dimengerti: API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa system call. Hal ini sangat penting dalam hal editing dan pengembangan.


Cara menggunakan API cukup mudah, dengan aplikasi pihak ketiga, kita hanya mengimport package dan modul dari bahasa yang kita inginkan. Sebagai contoh dengan menggunakan Eclipse, kita dapat melakukan multi programming dengan satu aplikasi ini saja. Kita tinggal melakukan import package dari bahasa yang kita inginkan. Sebagai contoh kita dapat mengimport modul dari Java, C, XML, dan lain lain tergantung kebutuhan kita. Dengan Api ini juga kita dapat menyatukan beberapa bahasa sekaligus seperti dalam pembuatan aplikasi Android dengan Java dan Xml.

Dengan keuntungan ini, makakini  API lebih sering digunakan untuk melakukan programing dengan berbagai bahasa. Selain kompabilitas bahasa yang digunakan, tampilan dari API juga memudahkan dalam melakukan coding.

Virtualisasi


Virtualisasi adalah kombinasi dari perangkat lunak dan hardware yang dikembangkan menjadi Virtual Machines. Virtual Machines sendiri merupakan kumpulan perangkat komputer yang memungkinkan satu komputer bertindak seolah-olah banyak mesin komputer.

Virtualisasi sendiri memungkinkan sistem operasi untuk dijalankan pada platform fisik yang sama dari berbagai sumber perangkat keras.

Keuntungan menggunakan virtualisasi antara lain adalah untuk bekerja dengan banyak sistem operasi dengan satu mesin/ hardware dengan sumber daya yang lebih sedikit. Dengan hal tersebut, maka keuntungan dalam suatu perusahaan / organisasi lebih besar dan efisien dalam penggunaan sumber daya.

Sebagai contoh, kita lebih populer dengan sistem operasi Windows, maka sudah seperti trademark sistem operasi harus menggunakan produk Microsoft ini, namun kita memiliki tugas yang hanya bisa dijalankan di sistem operasi Linux. Dengan Virtual Machine kita tidak harus melakukan install sisitem operasi Linux. Kita tinggal menjalnkan Virtual Machine, sebagai contoh dengan Vmware, dan dengan memilih virtualisasi Linux, maka kita akan dapat menggunakan Sistem Operasi yang kita inginkan.

Perkembangan Virtalisasi muncul dari Intel. Intel pertama kali memberikan spesifikasi hardware untuk vendor VMM (Virtual Machine Monitor)  yang secara signifikan mengurangi overhead operasi VMM dan sangat meningkatkan kecepatan dan kemampuan VMM itu. Intel Virtual Technology (Intel VT) adalah suatu spesifikasi yang telah dimasukkan dalam perangkat keras Intel diluncurkan sejak tahun 2005. Hal ini menjadikan hardware fleksibel untuk menjalankan perangkat lunak VMM dan memiliki hardware dan perangkat lunak dengan jangkauan yang luas.
Intel VT tidak hanya kecepatan operasi VMs (Virtual Machines) , tetapi juga mengurangi kompleksitas dan menyediakan platform standar untuk pengembangan VMMs mampu bahkan lebih. Intel VT juga mengandung komponen penelitian yang bekerja dengan vendor VMM untuk menyediakan fungsionalitas masa depan mereka butuhkan. Sebagai contoh, VMMs mengambil keuntungan dari hardware Intel dan mesin virtual sekarang dapat diciptakan yang menggunakan empat CPU dalam konfigurasi multiprosesor.

Contoh Virtualization Technology antara lain VMware, XENSource, Jaluna, Parallels, tenAsys, RedHat, Novell, dll.

OSGI (Open Service Gateway Initiative)


OSGI ( Open Service Gateway Initiative) adalah sebuah standarisasi yang digunakan untuk menghubungkan suatu perangkat dengan internet. OSGI menentukan API (Application Programing Interface) untuk melakukan kontrol komunikasi antara penyedia / provider dengan perangkat yang kita gunakan.
Teknologi OSGi menyediakan sebuah service-oriented, lingkungan yang berbasis komponen untuk pengembang dan menawarkan jalan standard untuk mengatur siklus hidup software. Kemampuan ini dapat menambah nilai jangkauan dari computer dan peralatan yang menggunakan platform Java dengan sangat hebat. Teknologi OSGi mengadopsi keuntungan dari menambah time-to-market dan mengurangi biaya pengembangan karena teknologi OSGi menyediakan subsistem komponen yang terintegrasi dari pre-build dan pre-tested. Teknologi ini juga mengurangi biaya perawatan dan memberikan kesempatan aftermarket yang baru dan unik karena jaringan dapat digunakan untuk update secara dinamik dan mengirimkan service dan aplikasi di lapangan.
Arsitektur Dari OSGI



a.Bundles : bundles adalah komponen OSGi yang dibuat oleh pengembang/developer.
b.Services : lapisan service menghubungkan bundles dalam sebuah jalan dinamik dengan menawarkan model publish-find-bind untuk objek Java yang lama.
c.Life Cycle : API untuk menginstall, memulai, menghentikan, update dan menguninstall bundles.
d.Modules : lapisan yang menjelaskan bagaimana bundles dapat mengimport dan mengexport kode.
e.Security : Lapisan yang memegang aspek keamanan.
f.Execution Environment : menjelaskan class dan method apa yang ada di platform.

Spesifikasi OSGi proses yang membutuhkan referensi spesifikasi implementasi untuk masing-masing. Namun, karena spesifikasi pertama selalu ada perusahaan komersial yang telah menerapkan spesifikasi serta implementasi open source. Saat ini, terdapat 4 open source implementasi dari kerangka dan terlalu banyak untuk menghitung implementasi dari layanan OSGi. Industri perangkat lunak yang terbuka telah menemukan teknologi OSGi dan semakin banyak proyek artefak menyampaikan sebagai kumpulan.
Spesifikasi OSGi License, Versi 1.0.
The OSGi Alliance ( “OSGi Alliance”) dengan ini memberikan kepada Anda dibayar penuh, non-eksklusif, tidak dapat dialihkan, di seluruh dunia, lisensi terbatas (tanpa hak untuk mensublisensikan), di bawah Aliansi OSGi hak kekayaan intelektual yang berlaku untuk melihat, mendownload, dan mereproduksi OSGi Spesifikasi ( “Spesifikasi”) yang mengikuti Perjanjian Lisensi ini ( “Perjanjian”). Anda tidak diizinkan untuk menciptakan karya turunan dari Spesifikasi. OSGi Alliance yang juga memberikan kepada Anda terus-menerus, non-eksklusif, di seluruh dunia, disetor penuh, bebas royalti, lisensi terbatas (tanpa hak untuk mensublisensikan) di bawah hak cipta yang berlaku, untuk menciptakan dan / atau mendistribusikan pelaksanaan Spesifikasi bahwa
1. benar-benar mengimplementasikan Spesifikasi termasuk semua antarmuka dan fungsionalitas yang diperlukan,
2.  tidak mengubah, subset, superset atau memperpanjang Nama OSGi Space, atau menyertakan publik atau dilindungi setiap paket, kelas, Jawa antarmuka, ladang atau metode dalam Ruang Nama yang OSGi selain yang dibutuhkan dan disahkan oleh Spesifikasi. Penerapan yang tidak memuaskan keterbatasan
3.  1-2 tidak dianggap sebagai pelaksanaan Spesifikasi, tidak mendapatkan keuntungan dari lisensi ini, dan tidak boleh digambarkan sebagai pelaksanaan Spesifikasi. Sebuah pelaksanaan Spesifikasi tidak boleh mengklaim sebagai pelaksanaan sesuai Spesifikasi kecuali melewati Pengujian Kepatuhan Aliansi OSGi untuk Spesifikasi sesuai dengan proses OSGi Alliance. “Nama OSGi Space” akan berarti kelas publik atau deklarasi interface yang namanya dimulai dengan “org.osgi” diakui atau penggantinya atau penggantian daripadanya.
Powered By Blogger