Minggu, 29 November 2015

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.


Tidak ada komentar:

Posting Komentar