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.
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.
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).
Beberapa
VMS masing-masing berjalan sistem operasi mereka sendiri (yang disebut sistem
operasi tamu) yang sering digunakan di server konsolidasi, di mana layanan yang
berbeda yang digunakan untuk menjalankan mesin individu untuk menghindari
gangguan yang terpisah, bukan berjalan di VMS pada mesin fisik yang sama.
Penggunaan ini sering disebut-kualitas dari layanan-isolasi (QoS isolasi).
Proses
mesin virtual
Sebuah proses VM, kadang-kadang disebut aplikasi mesin virtual, berjalan
sebagai aplikasi biasa di dalam sebuah OS dan mendukung proses tunggal. Hal ini
tercipta ketika proses itu dimulai dan hancur ketika keluar. Tujuannya adalah
untuk menyediakan sebuah platform-independen lingkungan pemrograman yang
abstrak pergi rincian perangkat keras yang mendasarinya atau sistem operasi,
dan memungkinkan sebuah program untuk mengeksekusi dengan cara yang sama pada
platform apapun.
Sebuah proses VM memberikan abstraksi tingkat tinggi - yaitu yang tinggi
tingkat bahasa pemrograman (dibandingkan dengan tingkat rendah ISA abstraksi
dari sistem VM). VMS proses diimplementasikan menggunakan interpreter; kinerja
yang sebanding dengan bahasa pemrograman terkompilasi dicapai dengan
menggunakan just-in-time compilation .
Jenis VM ini telah menjadi populer dengan bahasa pemrograman Java, yang
diimplementasikan menggunakan mesin virtual Java. Contoh lain termasuk Bayan
mesin virtual, yang berfungsi sebagai lapisan abstraksi selama beberapa
ditafsirkan lanugages, dan. NET Framework, yang berjalan pada sebuah VM yang
disebut Common Language Runtime.
Tidak
seperti proses lain VMS, sistem ini tidak menyediakan bahasa pemrograman
tertentu, tetapi tertanam dalam bahasa yang ada; biasanya sistem seperti
menyediakan binding untuk beberapa bahasa (misalnya, C dan FORTRAN). Examples
are PVM ( Parallel Virtual Machine ) and MPI ( Message Passing Interface ).
Contohnya adalah PVM (Paralel Virtual Machine) dan MPI (Message Passing
Interface). Mereka tidak ketat mesin virtual, sebagai aplikasi yang berjalan di
atas masih memiliki akses ke semua layanan OS, dan karena itu tidak terbatas
pada model sistem yang disediakan oleh "VM".
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.
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://randi-pradipta.blogspot.com/2012/12/proses-komunitas-java-java-community.html
http://en.wikipedia.org/wiki/Java_Community_Process