ava 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.
Microsoft telah menunjukkan komitmen untuk API yang kompatibel ke
belakang, terutama di dalam Windows API (Win32) perpustakaan, seperti
aplikasi yang lebih tua dapat berjalan di Windows versi yang lebih baru
menggunakan pengaturan khusus eksekusi yang disebut "Compatibility Mode"
. Apple Inc telah menunjukkan kecenderungan yang kurang perhatian ini,
memecah kompatibilitas atau mengimplementasikan dalam sebuah API yang
lebih lambat "mode emulasi"; ini memungkinkan kebebasan lebih besar
dalam pembangunan, pada biaya pembuatan perangkat lunak yang lebih tua
usang. Antara Unix-seperti sistem operasi, ada banyak terkait tetapi
tidak sesuai sistem operasi berjalan pada platform hardware yang umum
(khususnya Intel 80386 sistem yang kompatibel). Sudah ada beberapa usaha
untuk standarisasi API vendor perangkat lunak sehingga dapat
mendistribusikan satu aplikasi binari untuk semua sistem ini, namun
sampai saat ini, tidak satu pun telah bertemu dengan banyak
keberhasilan. Linux Standard Base adalah berusaha untuk melakukan hal
ini untuk Linux platform, sementara banyak dari beragam Unix BSD
(FreeBSD, NetBSD, OpenBSD) menerapkan berbagai tingkat kompatibilitas
API untuk kedua backward compatibility (memungkinkan program yang
ditulis untuk versi lama untuk berjalan di distribusi baru sistem) dan
lintas-platform kompatibilitas (memungkinkan eksekusi kode asing tanpa
mengkompilasi ulang).
Sumber:
http://uriflabamba.blogspot.com/2009/12/proses-komunitas-java-java-community.htm
http://nurpratamarekzy04.blogspot.com/2013/01/java-community-process.html
http://ilmupengetahuandanisinya.blogspot.com/2014/01/java-community-process.html
https://jcp.org/en/home/index
Artikel Java Community Process (JCP)
Diposting oleh
vebbieagustian
on Rabu, 17 Desember 2014
Label:
softskill
0 komentar:
Posting Komentar