3. Teknologi Java Community Proses
Teknologi Java Community Proses Dilihat
Dari Teknologi Virtual Machine
Proses komunikasi
java, java community process JCP dan Virtual Machine
Bagi orang-orang yang bekerja atau
terlibat dibidang teknologi, khususnya ilmu komputer, tentunya sudah tidak
asing lagi dengan bahasa pemrograman java (Java Programming). Dengan berbagai
kelebihan dan keunggulannya, java menjadi begitu populer dalam mengembangkan
sebuah aplikasi. Bukan hanya aplikasi desktop, tetapi juga aplikasi mobile,
enterprise, web (applet) dan sebagainya. Selain itu juga Java sangat fleksibel
karena mendukung konsep multi platform dan yang terpenting Java bersifat open
source (dikeluarkan oleh Sun Microsystems) sehingga dari waktu ke waktu bahasa
Java dapat dikembangkan dengan sangat cepat melalui umpan balik yang diberikan
oleh para user.
Mengingat kepopuleran
dari Java ini, maka banyak terdapat komunitas-komunitas yang dapat memberikan
umpan balik dalam mengembangkan bahasa Java. Komunitas ini dikenal dengan
istilah Proses Komunitas Java (Java Community Process / JCP) yang 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).
A. 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.
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)
1. 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.
2. 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:
1. 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.
2. 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.
Kemudian virtualisasi
paruh, di mana tidak
semua fitur perangkat keras disimulasikan. Yang terakhir adalah
virtualisasi asli, yang mana merupakan virtualisasi
penuh yang digabungkan dengan
bantuan perangkat keras yang mendukung virtualisasi.
Comments
Post a Comment