Minggu, 10 Januari 2016

Proses komunitas java (Java Community Process JCP)


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 :
  1. Mesin virtual sistem adalah perangkat yang berupa platform sistem yang lengkap dan dapat menjalankan sebuah sistem operasi yang lengkap. Contoh : VMware
  2. Mesin virtual proses didesain untuk menjalankan sebuah program komputer tertentu (tunggal), yang berarti mesin virtual ini mendukung proses tertentu juga. Contoh : JVM
Karakteristik mendasar dari sebuah mesin virtual adalah batasan-batasan bagi perangkat lunak yang berjalan di dalam mesin tersebut, sumber daya yang dibatasi, dan tidak dapat mengakses ke luar tembok batasan dunia maya itu.
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
Windows:  –> WinAPI, ShellAPI, dll
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
DirectX: –>  game, multimedia streaming
OpenGL: –> factal, 3D modeling
  • Modem: –>  TAPI (Telephony API)
  • Database Connector
ADODB: –> via ODBC
OLEDB: –> via provider library
Direct Connection
MySQL
PostgreSQL
SQLite


Sumber :

0 komentar:

Posting Komentar