sumber
: bhobob.blogspot, bramxenon.blogspot
PROSES KOMUNITAS JAVA (JAVA COMMUNITY
PROCESS/JCP)
Proses
Komunitas Java (Java Community Process/JCP) didirikan pada tahun 1998, adalah
mekanisme formal yang memungkinkan pihak yang berkepentingan untuk
mengembangkan spesifikasi teknis standar untuk teknologi Java. Siapapun bisa
menjadi Anggota JCP dengan mengisi formulir yang tersedia di situs JCP.
Keanggotaan JCP untuk organisasi dan entitas komersial membutuhkan biaya
tahunan tetapi bebas untuk individu.
JCP
melibatkan penggunaan Permintaan Spesifikasi Java (Java Spesification Request /
JSRs), yaitu dokumen formal yang menggambarkan spesifikasi yang diusulkan dan
teknologi untuk menambah platform Java. Ulasan publik Formal JSRs akan muncul
sebelum JSR menjadi final dan Komite Eksekutif JCP menilainya di atasnya.
Sebuah JSR akhir menyediakan implementasi referensi yang merupakan implementasi
bebas dari teknologi dalam bentuk kode sumber dan Kompatibilitas Kit Teknologi
untuk memverifikasi API spesifikasi. Sebuah JSR menggambarkan JCP itu sendiri.
Seperti tahun 2009, JSR 215 menggambarkan versi sekarang (2.7) dari JCP.
Sebagai
sebuah platform, Java memiliki dua buah bagian penting, yaitu Java Virtual
Machine dan Java Application Programmig (Java API).
Java Virtual Machine
Sekilas
pengertian mesin virtual (Virtual Machine) dalam ilmu komputer adalah
implementasi perangkat lunak dari sebuah mesin komputer yang dapat menjalankan
program sama seperti layaknya sebuah komputer asli. Sedangkan, dalam konteks
JVM merupakan mesin virtual yang digunakan secara khusus mengeksekusi berkas
bytecode java.
Bytecode
java sendiri dihasilkan saat proses kompilasi file java berekstensi .java
menjadi .class. Selain itu JVM merupakan perangkat lunak yang dikembangkan
secara khusus agar terlepas dari ketergantungan atas perangkat keras serta
sistem operasi tertentu. JVM menyediakan lingkungan kerja yang dibutuhkan untuk
menjalankan aplikasi berbasis java serta mengotomatisasikan fitur-fitur seperti
penanganan kesalahan.
Arsitektur Java Virtual Machine
Mesin
virtual dipisahkan ke dalam dua kategori utama, berdasarkan tingkat penggunaan
dan korespondensi untuk mesin nyata. Sebuah sistem mesin virtual yang lengkap
menyediakan platform sistem yang mendukung pelaksanaan lengkap sistem operasi.
Sebaliknya, mesin virtual sebuah proses yang dirancang untuk menjalankan sebuah
program, yang berarti bahwa ia mendukung satu proses.
Karakteristik
penting dari sebuah mesin virtual yang berjalan di dalam perangkat lunak adalah
terbatas pada sumber daya dan abstraksi yang disediakan oleh mesin virtual
tidak dapat keluar dari dunia virtual. Sebagai contoh, suatu program yang
ditulis dalam Java menerima jasa dari Java Runtime Environment (JRE) perangkat
lunak dengan mengeluarkan perintah untuk, dan menerima hasil yang diharapkan
dari, perangkat lunak Java. Dengan memberikan layanan ini untuk program
tersebut, perangkat lunak Java bertindak sebagai "mesin virtual",
menggantikan sistem operasi atau hardware untuk program yang biasanya akan
disesuaikan.
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 platfor
·
Demonstrasi perangkat lunak. Dengan
teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan
secara cepat.
Kelebihan Virtual Machine (VM)
- 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
Beberapa
kesulitan utama dari konsep VM :
- 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.
- Pengimplementasian sulit. Meski konsep VM cukup baik, namun VM sulit diimplementasikan.
Contoh
virtual machine : Vmware, Xen VMM , Java VM
·
VM ware
Pada GNU/Linux salah satu virtual
machine yang terkenal adalah VMware http://www.vmware.com. VMware memungkinkan
beberapa sistem operasi dijalankan pada satu mesin PC tunggal secara bersamaan.
Hal ini dapat dilakukan tanpa melakukan partisi ulang dan boot ulang. Pada
Virtual Machina (VM) yang disediakan akan dijalankan sistem operasi sesuai
dengan yang diinginkan. Dengan cara ini maka pengguna dapat memboot suatu
sistem operasi (misal Linux) sebagai sistem operasi tuan rumah (host) dan lalu
menjalankan sistem operasi lainnya misal MS Windows. Sistem operasi yang
dijalankan di dalam sistem operasi tuan rumah dikenal dengan istilah system
operasi tamu (guest).
Kebanyakan orang berpikir bahwa secara
logisnya VMware diibaratkan sebagai software yang sering digunakan untuk
keperluan percobaan game, aplikasi, untuk meng-install dua sistem operasi dan
menjalankannya (misalnya Windows maupun Linux) pada harddisk yang sama tanpa
memerlukan logout dari sistem operasi yang lainnya, secara gampang kita hanya
tinggal menekan Alt + Tab untuk mengganti SO. Akan tetapi pada dasarnya VMware
bukanlah emulator, karena tidak mengemulasikan CPU dan perangkat keras di dalam
suatu Virtual Machina (VM), tetapi hanya membolehkan sistem operasi lainnya
dijalankan secara paralel dengan sistem operasi yang telah berjalan. Setiap
Virtual Machine (VM) dapat memiliki alamat IP sendiri (jika mesin tersebut di
suatu jaringan), dan pengguna dapat menganggapnya sebagai mesin terpisah.
·
Xen VMM
Xen
adalah open source virtual machine monitor, dikembangkan di University of
Cambridge. Dibuat dengan tujuan untuk menjalankan sampai dengan seratus sistem
operasi ber-fitur penuh (full featured OSs) di hanya satu komputer.
Virtualisasi Xen menggunakan teknologi paravirtualisasi menyediakan isolasi
yang aman, pengatur sumberdaya, garansi untuk quality-of-services dan live
migration untuk sebuah mesin virtual.
Untuk
menjalankan Xen, sistem operasi dasar harus dimodifikasi secara khusus untuk
kebutuhan tersendiri dan dengan cara ini dicapai kinerja virtualisasi sangat
tinggi tanpa hardware khusus.
·
Java VM
Program Java
yang telah dikompilasi adalah platform-neutral bytecodes yang dieksekusi oleh
Java Virtual Machine (JVM). JVM sendiri terdiri dari: class loader, class
verification, runtime interpreter, Just In-Time (JIT) untuk meningkatkan
kinerja kompilator.
Bahasa
mesin terdiri dari sekumpulan instruksi yang sangat sederhana dan dapat
dijalankan secara langsung oleh CPU dari suatu komputer. Sebuah program yang
dibuat dengan bahasa tingkat tinggi tidak dapat dijalankan secara langsung pada
komputer. Untuk dapat dijalankan, program tersebut harus ditranslasikan kedalam
bahasa mesin. Proses translasi dilakukan oleh sebuah program yang disebut
compiler.
Setelah
proses translasi selesai, program bahasa-mesin tersebut dapat dijalankan,
tetapi hanya dapat dijalankan pada satu jenis komputer. Hal ini disebabkan oleh
setiap jenis komputer memiliki bahasa mesin yang berbedabeda. Alternatif lain
untuk mengkompilasi program bahasa tingkat tinggi selain menggunakan compiler,
yaitu menggunakan interpreter. Perbedaan antara compiler dan interpreter adalah
compiler mentranslasi program secara keseluruhan sekaligus, sedangkan
interpreter menstranslasi program secara instruksi per instruksi. Java dibuat
dengan mengkombinasikan antara compiler dan interpreter.
Program
yang ditulis dengan java di-compile menjadi bahasa mesin. Tetapi bahasa mesin
untuk komputer tersebut tidak benar-benar ada. Oleh karena itu disebut
"Virtual" komputer, yang dikenal dengan Java Virtual Machine (JVM).
Bahasa mesin untuk JVM disebut Java bytecode. Salah satu keunggulan dari Java
adalah dapat digunakan atau dijalankan pada semua jenis komputer. Untuk
menjalankan program Java, komputer membutuhkan sebuah interpreter untuk Java
bytecode.
Interpreter
berfungsi untuk mensimulasikan JVM sama seperti virtual computer mensimulasikan
PC komputer. Java bytecode yang dihasilkan oleh setiap jenis komputer
berbeda-beda, sehingga diperlukan interpreter yang berbeda pula untuk setiap
jenis komputer. Tetapi program Java bytecode yang sama dapat dijalankan pada
semua jenis komputer yang memiliki Java bytecode
Jenis-jenis
dari VM adalah VM sistem di mana sebuah VM dapat menjalankan sebuah sistem operasinya sendiri,
kemudian VM proses di mana VM
hanya menjalankan sebuah proses saja. Kemudian VM juga dibagi berdasarkan
tingkat virtualisasinya, yaitu virtualisasi penuh yang
mensimulasikan seluruh fitur
perangkat keras sehingga memungkinkan perangkat lunak berjalan pada VM tanpa modifikasi.



Tidak ada komentar:
Posting Komentar