Java dikembangkan mengacu pada
standar yang ditentukan oleh komite didalam JCP (Java Community Process).
Spesifikasi Java tidak sekedar fondasi VMnya, tetapi menyangkut hampir semua
aspek, mulai dari mekanisme mengakses devices I/O, komponen pertukaran objek,
sampai pengembangan container. JCP merupakan badan yang bertanggung jawab
terhadap standar teknologi Java.
Virtual Machine
Virtual machine (VM) adalah suatu environment, biasanya sebuah program atau
system operasi, yang tidak ada secara fisik tetapi dijalankan dalam environment
lain. Dalam konteks ini, VM disebut “guest” sementara environment yang
menjalankannya disebut “host”. Ide dasar dari virtual machine adalah
mengabtraksi perangkat keras dari satu komputer (CPU, memori, disk, dst) ke
beberapa environment eksekusi, sehingga menciptakan illusi bahwa masing-masing
environment menjalankan komputernya [terpisah] sendiri.VM muncul karena adanya
keinginan untuk menjalankan banyak sistem operasi pada satu komputer.Teknologi
virtual machine memiliki banyak kegunaan seperti memungkinkan konsolidasi
perangkat keras, memudahkan recovery sistem, dan menjalankan perangkat lunak
terdahulu. Salah satu penerapan penting dari teknologi VM adalah integrasi
lintas platform. Beberapa penerapan lainnya yang penting adalah:
• Konsolidasi server.
Jika beberapa server menjalankan aplikasi yang hanya memakan sedikit sumber
daya, VM dapat digunakan untuk menggabungkan aplikasi-aplikasi tersebut
sehingga berjalan pada satu server saja, walaupun aplikasi tersebut memerlukan
sistem operasi yang berbeda-beda.
• Otomasi dan konsolidasi lingkungan pengembangan dan testing.
Setiap VM dapat berperan sebagai lingkungan yang berbeda, ini memudahkan
pengembang sehingga tidak perlu menyediakan lingkungan tersebut secara fisik.
• Menjalankan perangkat lunak terdahulu.
Sistem operasi dan perangkat lunak terdahulu dapat dijalankan pada sistem yang
lebih baru.
• Memudahkan recovery sistem.
Solusi virtualisasi dapat dipakai untuk rencana recovery sistem yang memerlukan
portabilitas dan fleksibilitas antar platform.
• Demonstrasi perangkat lunak.
Dengan teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan
secara cepat.
Kelebihan Virtual Machine (VM)
Teknologi VM memiliki beberapa keunggulan, antara lain:
• Hal keamanan.
VM memiliki perlindungan yang lengkap pada berbagai sistem sumber daya, yaitu
dengan meniadakan pembagian sumber daya secara langsung, sehingga tidak ada
masalah proteksi dalam VM. Sistem VM adalah kendaraan yang sempurna untuk
penelitian dan pengembangan sistem operasi. Dengan VM, jika terdapat suatu
perubahan pada satu bagian dari mesin, maka dijamin tidak akan mengubah
komponen lainnya.
• Memungkinkan untuk mendefinisikan suatu jaringan dari Virtual Machine (VM).
Tiap-tiap bagian mengirim informasi melalui jaringan komunikasi virtual. Sekali
lagi, jaringan dimodelkan setelah komunikasi fisik jaringan diimplementasikan
pada perangkat lunak.
Kekurangan Virtual Machine (VM) Beberapa kesulitan utama dari konsep VM,
diantaranya adalah:
• Sistem penyimpanan.
Sebagai contoh kesulitan dalam sistem penyimpanan adalah sebagai berikut:
Andaikan kita mempunyai suatu mesin yang memiliki 3 disk drive namun ingin
mendukung 7 VM. Keadaan ini jelas tidak memungkinkan bagi kita untuk dapat
mengalokasikan setiap disk drive untuk tiap VM, karena perangkat lunak untuk
mesin virtual sendiri akan membutuhkan ruang disk secara substansial untuk
menyediakan memori virtual dan spooling. Solusinya adalah dengan menyediakan
disk virtual atau yang dikenal pula dengan minidisk, dimana ukuran daya
penyimpanannya identik dengan ukuran sebenarnya. Dengan demikian, pendekatan VM
juga menyediakan sebuah antarmuka yang identik dengan perangkat keras yang
mendasari.
APIs
Sebuah application programming interface (API) adalah antarmuka bahwa sebuah
program perangkat lunak alat untuk memungkinkan perangkat lunak lain untuk
berinteraksi dengan itu, banyak cara yang sama seperti perangkat lunak mungkin
akan mengimplementasikan antarmuka pengguna untuk memungkinkan manusia untuk
menggunakannya. API dilaksanakan oleh aplikasi, perpustakaan dan sistem operasi
untuk menentukan bagaimana perangkat lunak lain dapat membuat panggilan ke atau
layanan permintaan dari mereka. Sebuah API menentukan kosa kata dan konvensi
memanggil para pemrogram harus mempekerjakan untuk menggunakan layanan . Ini
mungkin termasuk spesifikasi untuk rutinitas, struktur data, kelas objek, dan
protokol yang digunakan untuk berkomunikasi antara konsumen dan pelaksana API.
• Fitur API adalah sebuah abstraksi. Perangkat lunak yang menyediakan
fungsionalitas yang dijelaskan oleh API dikatakan sebuah implementasi dari API.
API dapat Tergantung pada bahasa, yaitu hanya tersedia dalam bahasa pemrograman
tertentu, dengan menggunakan sintaks dan unsur-unsur bahasa itu untuk membuat
API nyaman untuk digunakan dalam konteks ini. Bahasa-independen, yaitu ditulis
dengan cara yang berarti dapat dipanggil dari beberapa bahasa pemrograman. Ini
adalah fitur yang diinginkan untuk layanan-gaya API yang tidak terikat pada
suatu proses atau sistem dan dapat diberikan sebagai remote procedure calls
atau layanan web. Sebagai contoh, sebuah website yang memungkinkan pengguna
untuk memeriksa restoran lokal mampu lapisan tinjauan di atas peta mereka
diambil dari Google Maps, karena Google Maps API yang memiliki memungkinkan hal
ituGoogle Maps 'API mengontrol informasi apa pihak ketiga situs bisa ambil, dan
apa yang bisa dilakukan dengan itu. "API" dapat digunakan untuk
mengacu ke antarmuka lengkap, satu fungsi, atau bahkan satu set berbagai API
yang disediakan oleh sebuah organisasi. Dengan demikian, cakupan makna biasanya
ditentukan oleh orang atau dokumen yang mengkomunikasikan informasi.
• Web API Ketika digunakan dalam konteks pengembangan web, biasanya sebuah API
yang didefinisikan set Hypertext Transfer Protocol (HTTP) pesan permintaan
bersama dengan definisi respon struktur pesan, biasanya dinyatakan dalam sebuah
Sementara "Web API" secara virtual sinonim untuk layanan web, tren
baru-baru ini (yang disebut Web 2.0) telah bergerak jauh dari Simple Object
Access Protocol (SOAP) layanan berbasis lebih langsung terhadap Negara
Representasi Transfer (REST) gaya komunikasi. Web API memungkinkan kombinasi
dari berbagai layanan ke aplikasi baru yang dikenal sebagai mashup.
• Implementasi POSIX standard mendefinisikan sebuah API yang memungkinkan
berbagai fungsi komputasi umum harus ditulis sedemikian rupa sehingga mereka
dapat beroperasi pada banyak sistem yang berbeda (Mac OS X dan berbagai
Berkeley Software Distribusi (BSD) mengimplementasikan interface ini), namun,
dengan menggunakan ini memerlukan kompilasi ulang untuk setiap platform. API
yang kompatibel, di sisi lain, memungkinkan dikompilasi kode obyek untuk
berfungsi tanpa perubahan apapun, pada pelaksanaan sistem apapun yang API. Hal
ini menguntungkan kedua penyedia perangkat lunak (di mana mereka dapat
mendistribusikan perangkat lunak yang ada pada sistem baru tanpa memproduksi / mendistribusikan
upgrade) dan pengguna (di mana mereka mungkin lebih tua menginstal perangkat
lunak pada sistem baru mereka tanpa membeli upgrade), meskipun hal ini
memerlukan berbagai perangkat lunak secara umum pelaksanaan perpustakaan API
diperlukan juga.
Referensi:
www.gunadarma.ac.id
http://code86.wordpress.com/2009/11/19/layanan-interface-dan-fitur-fitur-telematika/
http://uriflabamba.blogspot.com/2009/12/proses-komunitas-java-java-community.html
Tidak ada komentar:
Posting Komentar