Nama: Muhamad Satria Perkasa
NPM: 16109102
Kelas: 4ka12
______________________________
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 Java Specification Requests (JSRs) dokumen formal yang menggambarkan spesifikasi yang diusulkan dan teknologi untuk menambah platform Java. Ulasan publik Formal JSRs akan muncul sebelum JSR menjadi final dan suara JCP Komite Eksekutif di atasnya. Sebuah JSR akhir menyediakan implementasi referensi yang merupakan implementasi bebas dari teknologi dalam bentuk kode sumber dan Kompatibilitas Kit Teknologi untuk memverifikasi spesifikasi API.
Virtual Machine
Sebuah mesin virtual (VM) adalah sebuah perangkat lunak implementasi sebuah mesin (misalnya komputer) yang melaksanakan program-program seperti mesin fisik. Sebuah mesin virtual pada awalnya ditentukan oleh Popek dan Goldberg sebagai "yang efisien, terisolasi duplikat dari mesin yang nyata". Saat menggunakan mesin virtual yang mencakup tidak memiliki surat-menyurat langsung ke perangkat keras yang nyata. 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 (OS). 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.
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.
• Sistem virtual machines
Sistem mesin virtual (kadang-kadang disebut mesin virtual hardware) memungkinkan pembagian yang mendasari sumber daya mesin fisik antara mesin virtual yang berbeda, masing-masing berjalan sendiri sistem operasi. Lapisan perangkat lunak yang menyediakan virtualisasi ini disebut mesin virtual monitor atau hypervisor. Sebuah hypervisor dapat berjalan di hardware yang telanjang (Tipe 1 atau pribumi VM) atau di atas sistem operasi (Tipe 2 atau host VM).
Keuntungan utama dari sistem VMS adalah:
• beberapa OS lingkungan dapat hidup berdampingan pada komputer yang sama, dalam isolasi kuat satu sama lain
• mesin virtual dapat memberikan set instruksi arsitektur (ISA) yang agak berbeda dari mesin yang sebenarnya
• aplikasi provisioning, pemeliharaan, tingkat ketersediaan dan pemulihan bencana
Kerugian utama dari sistem VMS adalah:
• mesin virtual kurang efisien daripada mesin nyata karena secara tidak langsung mengakses perangkat keras.
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.
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.
Referensi:
http://en.wikipedia.org/wiki/Java_Community_Process
http://septianadhe2wz.blogspot.com/2009/12/proses-komunitas-java-java-community.html