Java Community Process (JCP)
JCP (Java Community Process) merupakan sebuah program yang dibuat dan dijalankan mulai pada tahun 1998. JCP adalah sebuah proses yang memungkinkan beberapa pihak yang tertarik untuk terlibat dalam pendefinisian pengembangan versi dan fitur dari Java. Java Community Process (JCP) yang merupakan
komunitas dari para pakar dalam bidang aplikasi web. Pakar-pakar ini berasal
dari berbagai kelompok yang berbeda, sebut saja seperti Jakarta Struts, Oracle,
Sun, IBM, ATG, dan lain-lain. Mereka semua bekerja bersama-sama untuk mengambil
sesuatu yang terbaik dari teknologi yang sudah ada dan dengan mengurangi
beberapa titik masalah. JCP melibatkan penggunaan JSR (Java Specification Request), yang adalah sebuah dokumen formal yang mendeskripsikan sebuah rancangan spesifikasi dan teknologi yang akan ditambahkan ke platform Java. Kajian ulang secara formal akan dilakukan terhadap JSR yang diajukan sebelum JSR tersebut menjadi resmi digunakan. Langkah terakhir terhadap JSR adalah dengan membuat sebuah reference implementation yang adalah sebuah implementasi gratis dari teknologi JSR dalam bentuk source code.
Virtual Machine (VM)
Mesin virtual atau mesin
maya dalam ilmu komputer adalah implementasi perangkat
lunak dari sebuah mesin komputer yang dapat menjalankan program sama
seperti layaknya sebuah komputer asli. Mesin virtual pada mulanya didefinisikan
oleh Gerard
J. Popek dan Robert P. Goldberg pada tahun 1974 sebagai sebuah
duplikat yang efisien dan terisolasi dari suatu mesin asli. Pada masa sekarang
ini, mesin-mesin virtual dapat mensimulasikan perangkat keras walaupun tidak
ada perangkat keras aslinya sama sekali.
Contohnya adalah program yang ditulis dalam bahasa
Java akan dilayani oleh Java Virtual Machine (JVM) dengan cara
memberikan perintah-perintah yang dimengerti JVM yang selanjutnya akan
memberikan hasil yang diharapkan. Dengan memberikan layanan seperti ini kepada
program tersebut, perangkat lunak JVM ini berlaku sebagai sebuah "mesin
virtual", sehingga program tidak lagi perlu untuk mengakses langsung
melalui sistem operasi ataupun perangkat keras yang sangat bervariasi dan
memerlukan pemrograman masing-masing secara spesifik.
Mesin virtual terdiri dari dua kategori
besar, dipisahkan menurut cara penggunaan dan tingkat keterhubungannya dengan
mesin-mesin aslinya, yaitu :
- Mesin virtual sistem adalah perangkat yang berupa platform sistem yang lengkap dan dapat menjalankan sebuah sistem operasi yang lengkap. Contoh : VMware
- Mesin virtual proses didesain untuk menjalankan sebuah program komputer tertentu (tunggal), yang berarti mesin virtual ini mendukung proses tertentu juga. Contoh : JVM
Terdapat beberapa pendekatan dalam
mengklarifikasi virtual machine, dan salah satunya adalah mendefinisikannya
menjadi 2 type (Type I dan type II). Klarifikasi ini didasarkan oleh fakta
bahwa kedua type virtual machine ini bekerja dengan lower level platform yang
mirip. Type I VMM tidak menggunakan host operating system, sedangkan type II
VMM menggunakan host operating system. Type II disebut juga dengan paravirtual
machine. Karena type II VMM menggunakan host operating sytem maka kinerjanya
lebih buruk dibandingkan type I VMM.
Java Virtual Machine (JVM)
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. JVM umumnya didistribusikan bersama dengan
seperangkat pustaka dasar yang mengimplementasikan antarmuka pemrograman
aplikasi java, Application Programming Interface' (API) yang dinamai
sebagai Java Runtime Environment (JRE).
Program yang
dieksekusi oleh JVM merupakan program berbasis bytecode yang
umumnya ditulis dan dikompilasi dengan menggunakan bahasa pemrograman Java, namun saat ini
bisa juga berasal dari bahasa pemrograman lain seperti: Jython (Python), Groovy, JRuby (Ruby).
Mesin virtual
java standarnya dibuat oleh Oracle, namun mesin-mesin virtual java lainnya
yang menggunakan merek dagang "JAVA" boleh dibuat oleh perusahaan
lain sejauh produk-produk tersebut tunduk pada spesifikasi yang ditetapkan
serta kesepakatan atas kontrak obligasi antara perusahaan pembuat dengan
Oracle.
Application Programming Interface (API)
Application Programming Interface (API) adalah sebuah bahasa dan format pesan yang digunakan oleh program
aplikasi untuk berkomunikasi dengan system operasi atau program pengendalian
lainnnya seperti system manajemen database (DBMS) atau komunikasi protocol. API
diimplementasikan dengan menulis fungsi panggilan atau sintaks dalam program,
yang menyediakan sarana yang diperlukan untuk meminta layanan program. Pada
dasarnya, program API mendefinisikan cara yang tepat bagi developer untuk
meminta layanan dari program itu.
Interaksi Dengan API |
Sebuah API
adalah antarmuka software-to-software, bukan user interface. Dengan API,
aplikasi berbicara satu sama lain tanpa sepengetahuan pengguna atau intervensi.
Ketika Anda membeli tiket film online dan memasukkan informasi kartu kredit
Anda, situs web tiket film menggunakan API untuk mengirim informasi kartu
kredit Anda ke aplikasi remote yang memverifikasi apakah informasi Anda sudah
benar. Setelah pembayaran dikonfirmasi, aplikasi remote mengirimkan respon
balik ke situs Web tiket film mengatakan itu OK untuk mengeluarkan
tiket. Sebagai pengguna, Anda hanya melihat satu antarmuka situs Web tiket film
tapi di belakang layar, banyak aplikasi yang bekerja bersama-sama menggunakan
API. Jenis integrasi ini disebut seamless, karena pengguna tidak pernah mendapatkan pemberitahuan
bila fungsi perangkat lunak diserahkan dari satu aplikasi ke aplikasi yang
lain. Oleh karena itu sebuah API dapat dikatakan menyerupai Software as
a Service (SaaS), karena pengembang perangkat lunak tidak harus mulai dari
awal setiap kali mereka menulis sebuah program.
Platform
Specific API (Application Programming Interface)
- Operating System
Linux/Unix:
–> Kernel, socket, dll
Mobile device
Disediakan
melalui SDK (software Development kit)
Nokia: –>
Symbian OS SDK, UIQ
Windows CE /
Pocket PC: –> winceos core
Blackberry:
–> Blackberry SDK, Blackberry JDE
Java Based:
–> J2ME SDK
Droid:
–> Google Android SDK
- Graphic API
OpenGL: –>
factal, 3D modeling
- Modem: –> TAPI (Telephony API)
- Database Connector
OLEDB: –> via
provider library
Direct
Connection
MySQL
PostgreSQL
SQLite
PostgreSQL
SQLite
Sumber :
0 komentar:
Posting Komentar