Silverlight merupakan development software generasi terbaru dari Microsoft untuk mengembangkan aplikasi berbasis Rich Interactive Applications (RIA) untuk web. Rich Internet Applications merupakan sebuah aplikasi web yang memiliki karakteristik sama dengan aplikasi desktop yaitu dapat menampilkan multimedia seperti animasi, grafik, ataupun audio video pada web.


Silverlight distribusikan sebagai plug-in pada sebuah web browser dan pemakaiannya harus dengan menginstal runtime Silverlight, agar dapat mengakses fitur-fitur yang disajikan Silverlight pada web browser yang digunakan. Awalnya silverlight dirilis sebagai plugin video streaming, kemudian dengan keluarnya versi-versi terbaru Silverlight memberikan tambahan fitur, mendukung bahasa pemrograman berbasis .Net dan memiliki Development Tools.

read more

Safari merupakan penjelajah web (web browser) buatan Apple inc. Yang dijadikan browser khusus bawaan bagi sistem operasi Mac OS. Web browser ini dijadikan penjelajah web bawaan sejak sistem operasi Mac OS X v10.3. Sebelum mengggunakan penjelajah web ini, Mac OS versi sebelumnya manggunakan Internet Explorer for Mac sebagai penjelajah bawaan dari tahun 1997 hingga 2003. Namun sekarang safari uga bisa digunakan di sistem operasi Windows, karena pada 11 Juni 207, versi pertama Safari for Windows diperkenalkan pada Konferensi Apple di San Fransisco.

Versi terbaru Safari yang baru saja diluncurkan Apple inc. adalah Safari 4 beta yang memiliki featre baru dan bug fixes, termasuk fitur Cover Flow, full History search, engine JavaScript yang lebih cepat, dan berbagai fitur lainnya.
read more

Web merupakan suatu perangkat lunak yang berfungsi menerima permintaan dari client yang dikenal dengan web browser melalui protocol http kepada server dan mengirimkannya kembali hasilnya dalam bentuk halaman-halaman web.

Berikut adalah penjelasan bagaimana prinsip dan cara kerja web.
  1. Mengirim permintaan dari web client ke web sever (request). Web client dapat berupa komputer desktop dengan minimal memiliki web browser dan terhubung ke web server melalui jaringan intranet atau internet. Sedangkan web server, yaitu komputer yang didalamnya terdapat perangkat lunak web server dan juga harus terhubung dengan jaringan intranet atau internet. Agar web server dapat diakses oleh web client maka keduanya harus terhubung ke dalam satu jaringan intranet atau internet. Dalam jaringan internet, web sever memiliki kode komputer (IP Address) seperti 202.10.20.10 atau 200.100.50.25. Tetapi karena pembacaan IP Address dalam bentuk angka tersebut sabgat sulit dihafal oleh user dari web client maka IP Address tersebut diganti dengan sebuah alamat web yang biasa disebut dengan URL (Uniform Resource Locator), seperti www.google.com, www.yahoo.com, www.facebook.com, dan lain lain.
Proses permintaannya yaitu user pada web client akan meminta suatu halaman ke web server untuk ditampilkan di web client dengan cara mengetikkan suatu alamat web di web browser, seperti http://www.google.com. User akan menekan tombol Enter pada komputer atau dengan meng-klik tombol Go pada web browser. Lalu media jaringan intranet atau internet dan melalui protocol http, akan dicarilah komputer yang beralamatkan www.google.com. Jika ditemukan maka terjadilah sebuah permintaan halaman utama dari alamat web yang bernama google tersebut. Inilah yang disebut dengan request.
read more
Berikut ini adalah coding untuk membuat program Kapal Laut dengan J2ME


CODING

import javax.microedition.lcdui.*;
import java.io.IOException;

public class MainCanvas extends Canvas implements Runnable, CommandListener{

private Display display;
private KapalLaut midlet;

private Image image;

int x = 0;
int y = 0;

int xKotak;
int yKotak;

Command cmdNewGame = new Command("New game", Command.SCREEN, 1);
Command cmdExit = new Command("Exit", Command.SCREEN, 1);

String keterangan = "";
String c = "";

private boolean kiri = false;
private boolean kanan = true;

public MainCanvas(KapalLaut midlet, Display display){

this.midlet = midlet;
this.display = display;

xKotak = getWidth()/2 - 5;
yKotak = getHeight() - 10;

addCommand(cmdNewGame);
addCommand(cmdExit);

setCommandListener(this);

try{
image = Image.createImage("/pyg.jpg");
}
catch(IOException ioe){
}

}

public void paint(Graphics g){
g.setColor(255,255,255);
g.fillRect(0, 0, getWidth(), getHeight());

g.drawImage(image, x, y, Graphics.TOP | Graphics.LEFT);

g.setColor(255,0,0);
g.fillRect(xKotak, yKotak, 10, 10);

g.setColor(0,0,0);
g.drawString(keterangan, getWidth()/2-20, getHeight()/2, Graphics.TOP | Graphics.LEFT);
g.drawString(c, 0, 0, Graphics.TOP|Graphics.LEFT);

}

public void commandAction(Command c, Displayable d){

if (c == cmdNewGame){
midlet.startApp();
}
if (c == cmdExit){
midlet.exitMIDlet();
}

}
public void keyPressed(int keyCode){

if (keyCode == KEY_NUM1){
kiri = true;
kanan = false;
}

if (keyCode == KEY_NUM3){
kiri = false;
kanan = true;
}

}


public void run(){

while(y <= (getHeight() - 60)){ try{ Thread.sleep(100); } catch(InterruptedException ie){ } if ((kiri) && (x > 0)){
x = x - 10;
}
else if ((kanan) && (x < (getWidth() - 60))){ x = x + 10; } y = y + 5; repaint(); } if (((x+23) >= xKotak) && (x+23 <= xKotak+13)){ keterangan = "Kapal Laut Aman"; c = "kapal laut"; } else{ keterangan = "Kapal Laut Karam"; try{ Thread.sleep(100); } catch(InterruptedException ie){ } y = y + 5; } repaint(); } } Program J2ME Kapal Laut

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class KapalLaut extends MIDlet{

private Display display;
private MainCanvas mainCanvas;

public KapalLaut(){

display = Display.getDisplay(this);

}

public void startApp(){

mainCanvas = new MainCanvas(this, display);
display.setCurrent(mainCanvas);

new Thread(mainCanvas).start();

}

public void pauseApp(){
}

public void destroyApp(boolean unconditional){
}

public void exitMIDlet(){

destroyApp(false);
notifyDestroyed();

}

}

Berikut ini adalah coding java dari program tersebut:

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class ProgArusIo extends JFrame {
// Mendeklarasikan Tiga text Field dan atau button jumlah
private JTextField jTFInput1, jTFInput2, jTFHasil;
private JButton btnJumlah,btnSave,btnLoad,btnRefresh;
String namaBerkas1 ="Tarea.out";
String namaBerkas2 ="Tarea1.out";
String namaBerkas3 ="Tarea2.out";
/** Main method */
public static void main(String args [])
{
ProgArusIo frame = new ProgArusIo();
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
/** Konstruktor Default */
public ProgArusIo()
{
setTitle("Menghitung Arus (Ampere)");
setBackground(Color.blue);
setForeground(Color.black);
// Menggunakan panel P1 untuk mengelompokan komponen text Field
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(0,1,0,2));
p1.add(new JLabel("Tegangan"));
p1.add(jTFInput1 = new JTextField(15));
p1.add(new JLabel("Hambatan"));
p1.add(jTFInput2 = new JTextField(15));
p1.add(new JLabel("Arus"));
p1.add(jTFHasil = new JTextField(15));
jTFHasil.setEditable(false); // Set jTFHasil menjadi non editable
// Menggunakan panel p2 untuk button penjumlahan
JPanel p2 = new JPanel();
p2.setLayout(new GridLayout(3,1,0,10));
p2.add(btnSave = new JButton("Save"));
p2.add(btnLoad = new JButton("Load"));
p2.add(btnRefresh = new JButton("Refresh"));
// Mengeset Flow Layout untuk Frame dan Menambahkan
// panel panel ke frame
JPanel p3=new JPanel();
p3.setLayout(new FlowLayout());
p3.add(btnJumlah=new JButton("Hitung Arus"));
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p1, BorderLayout.CENTER);
getContentPane().add(p2, BorderLayout.EAST);
getContentPane().add(p3, BorderLayout.SOUTH);
// Me-register listener
btnJumlah.addActionListener(new ProgArusIo.PenanganTombol());
btnSave.addActionListener(new ProgArusIo.PenanganTombol());
btnLoad.addActionListener(new ProgArusIo.PenanganTombol());
btnRefresh.addActionListener(new ProgArusIo.PenanganTombol());
show();
}
/** Menangani operasi penjumlahan */
class PenanganTombol implements ActionListener {
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (e.getSource()==btnJumlah)
{
// Mengambil nilai int dari text field dan menggunakan trim()
// untuk membuang spasi yang tidak perlu dalam text field
int volt = (Integer.parseInt(jTFInput1. getText().trim()));
int ohm = (Integer.parseInt(jTFInput2. getText() .trim()));
int hasil = volt/ohm;
// Mengeset hasil pada TextField jTFHasil
jTFHasil.setText(String.valueOf(hasil));
}
else if (s.equals("Save")) {
try {
FileWriter berkasKeluaran1= new FileWriter(namaBerkas1);
FileWriter berkasKeluaran2= new FileWriter(namaBerkas2);
FileWriter berkasKeluaran3= new FileWriter(namaBerkas3);
String isiTextArea = jTFInput1.getText();
String isi1TextArea = jTFInput2.getText();
String isiHasil = jTFHasil.getText();
berkasKeluaran1.write(isiTextArea);
berkasKeluaran2.write(isi1TextArea);
berkasKeluaran3.write(isiHasil);
berkasKeluaran1.close();
berkasKeluaran2.close();
berkasKeluaran3.close();
}
catch (IOException i) {
System.err.println("Gagal menyimpan berkas");
System.exit(1);
}
jTFInput1.setText(" Data Telah Disimpan \n");
jTFInput2.setText(" Data Telah Disimpan \n");
jTFHasil.setText(" Data Telah Disimpan \n");
}
else if (s.equals("Load")) {
try {
FileReader berkasMasukan1= new FileReader(namaBerkas1);
BufferedReader streamMasukan1= new BufferedReader(berkasMasukan1);
FileReader berkasMasukan2= new FileReader(namaBerkas2);
BufferedReader streamMasukan2= new BufferedReader(berkasMasukan2);
FileReader berkasMasukan3= new FileReader(namaBerkas3);
BufferedReader streamMasukan3= new BufferedReader(berkasMasukan3);
String teks1="";
String teks2="";
String teks3="";
while (true) {
String barisData1 = streamMasukan1.readLine();
if (barisData1 == null)
break;
teks1=teks1+barisData1 + '\n';
while (true) {
String barisData2 = streamMasukan2.readLine();
if (barisData2 == null)
break;
teks2=teks2+barisData2 + '\n';
while (true) {
String barisData3= streamMasukan3.readLine();
if (barisData3 == null)
break;
teks3=teks3+barisData3 + '\n';
}
}
}
berkasMasukan1.close();
jTFInput1.setText(teks1);
berkasMasukan2.close();
jTFInput2.setText(teks2);
berkasMasukan3.close();
jTFHasil.setText(teks3);
}
catch (IOException i) {
jTFInput1.setText("Data Error");
jTFInput2.setText("Data Error");
jTFHasil.setText("Data Error");
}
}
else if (s.equals("Refresh")) {
jTFInput1.setText("");
jTFInput2.setText("");
jTFHasil.setText("");
}
}
}
}



Sedangkan tampilan di bawah ini adalah tampilan GUI hasil dari coding di atas:
  1. Masukkan (input) nilai Tegangan dan Hambatan pada space yang telah disediakan, lalu klik tombol (button) Hitung Arus. Pada space Arus muncul hasil dari penghitungan tersebut. Untuk lebih jelasnya, seperti yang terlihat pada gambar di bawah ini.
  1. Jika ingin menyimpan data (inputan dan hasil penghitungan) di atas, klik tombol (button) Save, maka inputan dan hasil penghitungan akan tersimpan dengan sendirinya. Seperti yang terlihat pada gambar di bawah ini.
  1. Untuk menghapus space, dapat dilakukan dengan meng-klik tombol (button) Refresh. Tampilannya akan terlihat seperti berikut ini.
  1. Jika ingin memanggil kembali data (inputan dan hasil penghitungan) yang telah disimpan tadi, klik tombol (button) Load. Seperti yang terlihat pada gambar di bawah.
  1. Dan yang terakhir, untuk menghapus kembali space-nya, dapat mengklik tombol (button) Refresh sekali lagi.
Demikianlah penjelasan mengenai pembuatan program penghitung arus listrik dengan java.io melalui tampilan GUI sebagai interface, yang dilengkapi dengan coding dan tampilan GUI-nya. Semoga bermanfaat dan terima kasih.

Nama programnya yaitu program Pencarian Bagi Dua (Binary Search). Di bawah ini akan ditampilkan coding dan viewnya.
Coding


View
Ini adalah view untuk menginputkan jumlah data:
Ini adalah view untuk menginputkan data ke-1:
Ini adalah view untuk menginputkan data ke-2:
Ini adalah view untuk menginputkan data ke-3:
Ini adalah view untuk menginputkan data ke-4:
Ini adalah view untuk menginputkan data ke-5:
Ini adalah view untuk menginputkan data yang dicari:
Hasilnya ditampilkan dalam command prompt (cmd) seperti di bawah ini:
Perkembangan teknologi informasi semakin hari semakin pesat. Salah satunya yaitu penggunaan handphone. Handphone adalah suatu alat komunikasi wireless yang dapat juga digunakan untuk mengirim pesan dan membuka software aplikasi yang dibuat oleh suatu perusahaan ponsel. Salah satu contoh aplikasi handphone adalah ultraMp3 yang fungsinya untuk mendengarkan musik, disini penulis mencoba membuat aplikasi handphone berupa Kamus bahasa Inggris-Indonesia. Kamus sendiri tidak asing lagi terdengar di telinga kita, kamus merupakan alat bantu yang digunakan untuk menerjemahkan suatu bahasa. Pada saat sekarang penggunaaan kamus sangat diperlukan akan tetapi yang tidak mempersulit user dengan kata lain praktis dalam penggunaannya, oleh karena itu penulis berusaha mengimplementasikan pemikirannya dengan mencoba membuat aplikasi perangkat mobile / handphone berupa kamus.

Kamus mobile yang di pasangkan pada perangkat handphone, dapat dijadikan sebagai jalan alternatif dalam penerjemahan bahasa inggris ke bahasa indonesia maupun sebaliknya. Metode pembuatan software aplikasi handphone menggunakan software Java. Sun Microsystem telah mendefinisikan tiga paltform java, yang masing-masing diarahkan untuk tujuan tertentu dan untuk lingkungan komputasi yang berbeda-beda :
a. Standard Edition (J2SE): Didesain untuk jalan pada komputer desktop dan komputer workstations.
b. Enterprise Edition (J2EE): Dengan built-in mendukung untuk servlets, JSP, dan XML, edisi ini ditujukan untuk aplikasi berbasis server.
c. Micro Edition (J2ME): Didesain untuk piranti dengan memori terbatas, layar display terbatas dan power pemrosesan yang juga terbatas. 
Seperti yang telah disebutkan sebelumnya, J2ME dirancang untuk dapat menjalankan program java pada perangkat-perangkat semacam handphone dan PDA, yang memiliki karakteristik yang berbeda dengan sebuah komputer biasa, misalnya kecilnya jumlah memori pada handphone.
J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime. Pencipta J2ME mendefinisikan hanya dua konfigurasi yaitu:
a. Pribadi, yaitu piranti yang kadang-kadang terhubung dengan jaringan, hal ini didukung oleh Connected Limited Device Configuration (CLDC). Katagori ini umumnya digunakan untuk aplikasi Java pada handphone semacam Nokia, Samsung, Java Phone, Motorola i85s. Umumnya perangkat tersebut hanya memiliki memori berukuran 160-512 KiloBytes
b. Terus-Menerus, yaitu piranti yang terus menerus terhubung dengan jaringan, hal ini didukung oleh Connected Device Configuration (CDC). Katagori ini umumnya digunakan untuk aplikasi java pada perangkat handheld devices dengan ukuran memori paling tidak 2 MegaBytes. Contohnya adalah Internet TV, Nokia Communicator dan car television.

CLDC (Connected Limited Device CDC (Connected Device
Configuration) Configuration)

Mengimplementasikan subset dari J2SE. Mengimplementasikan seluruh fitur
dari J2SE.

JVM yang digunakan adalah KVM. JVM yang digunakan adalah CVM.
Digunakan pada perangkat handheld Digunakan pada perangkat handheld
(handphone, PDA, two way pager) (internet TV, Nokia Communicator, car TV)
dengan memory terbatas (160-512 kb). dengan memory minimal 2 Mb.

Penjualan online untuk produk perjalanan pada tahun 2000 lalu diestimasi mencapai US$5.9 milyar. Dalam dua tahun, penjualan diharapkan telah mencapai dua kali lipat kurang lebih US$11.7 milyar (Anonim, 2002). Peningkatan profit ini akan terus tumbuh dengan cepat tiap tahunnya. Perusahaan kereta api harus mentransformasikan: cara melakukan bisnisnya, cara untuk berinteraksi dengan pelanggan, kulturnya, dan cara menggunakan teknologi untuk dapat berpartisipasi dalam peluang yang terciptakan oleh adanya transaksi elektronik (disebut sebagai eOpportunity), atau jika tidak perusahaan tersebut akan tertinggal jauh dibelakang dari kompetitornya. Terdapat berbagai solusi teknologi informasi untuk perusahaan kereta api diantaranya: eTicketing, eHR (electronic Human Resources), eCRM (electronic Customer Relationship Management), eInvoicing (electronic Invoicing), dan lain-lain. Menurut penelitian (Anonim, 2002) bahwa penggunaan aplikasi eTicketing pada perusahaan kereta api merupakan cara yang terbaik untuk memulai penggunaan berbagai solusi teknologi informasi yang ada saat ini. eTicketing dibangun sebagai cara baru untuk mendistribusikan dan menjual tiket yang dipengaruhi oleh kekuatan internet. eTicket dapat didistribusikan melalui internet dan di-download ke smartcard atau media elektronik lainnya atau juga di-print ke suatu kertas. Perusahaan kereta api yang menggunakan aplikasi eTicketing seharusnya dapat melihat peningkatan cash flow, reduksi terhadap operating cost, dan reduksi yang significant pada konsumsi kertas.

Saat ini kita memiliki beberapa teknologi web untuk mengembangkan suatu aplikasi berbasis web seperti eTicketing, namun platform Java patut dipertimbangkan sebagai salah satu pilihan terbaik untuk dipertimbangkan. Platform Java dengan jargonnya: scalability, availability, maintainability, extensibility, dan security. Sebagaimana Java 2 Enterprise Edition (J2EE) yang mengalami perkembangan dengan pesat, teknologi Java Server Pages (JSP) yang juga masuk kedalam ranah J2EE juga mengalami perkembangan pesat. Ketersediaan JSP/ Servlet container open source dan free seperti Tomcat dari Apache Jakarta Project turut mengakselerasi perkembangan JSP secara dramatis.

Jakarta Apache Struts merupakan salah satu web application framework open source yang mempermudah developer Java untuk membuat aplikasi berbasis teknologi Java Servlet dan JSP. Seperti halnya membangun suatu gedung, aplikasi web haruslah memiliki solid foundation ‘dasar yang kokoh’ agar struktur diatasnya dapat berdiri dengan kokoh. Dengan menggunakan Struts maka developer dapat berkonsentrasi dalam membangun business application daripada infrastruktur. Struts framework mengimplementasikan design pattern Model-View-Controller (MVC). MVC pattern merupakan salah satu pattern terbaik dan matang yang ada saat ini. Dengan pattern MVC ini akan membuat sederhana tiga fungsi dasar yang ada dalam suatu aplikasi yaitu : pemeliharaan conditional logic dalam menentukan tampilan mana yang akan dipresentasikan pada user; apa yang terjadi jika terdapat error pada input user; dan bagaimana/ kapan suatu remote system/ back-end store dapat ter-updated.

Sangatlah mungkin untuk mengombinasikan ketiga proses diatas dalam satu modul dan system tetap dapat berjalan sebagaimana mestinya namun problem yang kerap kali muncul adalah ketika kita mencoba untuk melakukan maintenance on the code ‘pemeliharaan kode’. Pada kasus JSP yang dibangun atas kode JSP (Java) dan HTML (look and feel code) dalam satu halaman akan memiliki kerumitan manakala dilakukan pemeliharaan kode karena harus melibatkan developer Java dan designer page dalam satu waktu. Dengan menggunakan MVC pattern, problem tersebut dapat diatasi karena kode terpisahkan atas tiga bagian yaitu : Model (komponen yang memelihara data pada back-end store atau remote system), View (end-user presentation layer), dan Controller (conditional logic yang menentukan : tampilan yang akan dipresentasikan pada user, apa yang dilakukan jika terjadi error, dan bagaimana meng-updated remote system).

MVC pattern menyederhanakan pemeliharaan dengan tetap menjaga seluruh logic agar tidak menjadi rumit (intertwined) dan secara alami MVC memberikan batas antara orang yang bertanggung jawab terhadap kode Java dan orang yang bertanggung jawab terhadap presentation layer.





sources :
FAISAL WIRYASANTIKA (NIM 23201132), Central Library Institute Technology Bandung
http://digilib.itb.ac.id/gdl.php


KEmulator adalah software yang dapat dipergunakan untuk memainkan game/aplikasi ponsel berbasis java (jar) di komputer. Dibandingkan dengan SjBoy dan Midp2exe, KEmulator lebih bagus kinerjanya. Lebih stabil dan lebih banyak aplikasi/game java yang bisa dibuka.
Emulator ini membutuhkan Java Runtime untuk bisa berjalan. Jadi pastikan di PC Anda sudah terinstal software JRE/JDK. Apabila belum ada, Anda dapat memilih download KEmulator beserta JRE/JDK.
Download :
Website pembuatnya http://lyo.blogsome.com/kemulator/
Cara Kerja
Untuk menjalankan silahkan ekstrak zip tersebut, kemudian jalankan KEmulator.exe
kemulator
  • Pilih Midlet - Load Jar
  • Pilih jar aplikasi/game yang ingin dimainkan - klik open
Memperbesar layar
Ukuran layar defaultnya adalah 240×320. Anda bisa memperbesar ukuran layar dengan cara:
  • Klik view - Option - Ubah Screen Width dan Heightnya
  • Akan tetapi tergantung jar yang dibuka. Apabila mendukung ukuran lebar maka seluruh layar akan terisi. Namun apabila tidak mendukung maka ukurannya akan tetap seperti aslinya.
Selain itu dapat pula memperbesar dengan cara zoom yaitu pilih Tool - Zoom In. Untuk mengembalikan klik zoom out. Apabila kualitas gambar jadi jelek menggunakan fitur zoom maka untuk memperbaiki dapat dengan klik Tool - Interpolation - Hight Quality
contoh kemulator
Tombol-tombol
Tombol ponsel digantikan oleh keyboard.
  • Softkey kiri - F1
  • Softkey kanan - F2
  • Angka 0-9 - Menggunakan angka 0-9
  • Tanda bintang * - menggunakan tombol *
  • Tanda pagar # - menggunakan tombol /
  • Joystik/pad kanan,kiri,atas, bawah - menggunakan anak panah
  • Joystik/pad klik tengah - Enter
Selengkapnya bisa dilihat di bagian View - Options - KeyMap
Software ini versi lite jadi ada beberapa fitur yang tidak dapat berjalan (beberapa menu warnanya abu2 dan tidak dapat diklik). Tapi fitur utama untuk menjalankan aplikasi/game java berjalan tanpa ada kendala.


sources : http://darmawanku.wordpress.com
Pendahuluan
Sekarang, aplikasi web-based sedang mengalami perkembangan yang sangat pesat, menggantikan aplikasi desktop-based. Ini dikarenakan kepraktisannya dimana pengguna tidak perlu melakukan instalasi aplikasi di desktop masing-masing – cukup buka browser dan menuju server tempat aplikasi tersebut dipasang.
Java sendiri memiliki cabang yang menangani masalah aplikasi web-based ini yang dinamakan Java Enterprise Edition. Cabang ini sebenarnya ruang lingkupnya sangat luas, yaitu ruang Enterprise yang khusus menangani aplikasi-aplikasi berskala besar dan membutuhkan reliabilitas yang tinggi. Web-based application, karena merupakan aplikasi yang multitier, tentu saja termasuk dalam cabang ini.
Apa saja kunci dari aplikasi enterprise? Paling tidak ada beberapa kunci, yaitu:
  • Reliabilitas. Ketahanan aplikasi untuk tetap tangguh melayani permintaan dalam waktu yang panjang.
  • Skalabilitas. Jumlah penggunaan aplikasi yang berkembang dengan cepat dan banyak. Skalabilitas juga bisa diartikan server-server penyusun aplikasi bisa berkembang dalam jumlah yang banyak.
  • Multitier. Satu aplikasi enterprise memerlukan lebih dari satu tier (bagian) yang menyusunnya. Misalnya, client, application server, database server, dan middle tier sebagai penghubung client dan application server.
  • Networked. Kata kunci ini muncul tidak terelakkan dengan adanya tiga kunci di atas.
Java telah memfasilitasi pembuatan aplikasi seperti ini dengan menyediakan sebuah sistem dan bingkai kerja (framework) yang khusus didesain untuk aplikasi enterprise sehingga memudahkan developer. Fitur-fitur apa saja yang disediakan oleh Java? Banyak sekali, di antaranya adalah yang saya sebutkan di bawah ini:
  1. Mekanisme komunikasi antara client dan server.
    Protokol komunikasi yang paling umum digunakan adalah HTTP. Java memiliki struktur mekanisme yang paling dasar untuk menangani protokol HTTP, yaitu Java Servlet.
  2. Kit dan berbagai komponen untuk penyajian antar muka pengguna, atau user interface.
    HTML hanya menyediakan komponen user interface yang sangat dasar. Berdasarkan komponen tersebut, Java Enterprise menyediakan komponen-komponen tambahan yang memudahkan penyajian isi, misalnya seperti validasi otomatis, komponen kalender, komponen auto-complete, dan sebagainya. Java Server Pages, adalah kunci dari nomor 2 ini.
  3. Persistent Connection dan Object Relational Mapping.
    Aplikasi enterprise nyaris tidak bisa dipisahkan dari koneksi ke database. Karena Java adalah bahasa yang sangat berorientasi objek, maka Java menyediakan mekanisme khusus untuk menangani database relasional secara object-oriented. Data-data pada database disimpan dalam objek-objek yang telah didefinisikan, sehingga sangat memudahkan kita untuk melakukan operasi database (Create, Update, Delete, Select) dengan langsung mengakses objek tersebut. Standar Java Enterprise yang mengurusi masalah ini adalah EJB (Enterprise Java Bean).
Java Enterprise Edition sebenarnya hanyalah spesifikasi-spesifikasi yang ditulis dalam standar JSR. Oleh karena itu dalam implementasinya ada beberapa model bingkai kerja Java Enterprise yang didukung oleh vendor-vendor tertentu. Apa saja implementasi standar JSR yang didukung resmi oleh vendor-vendor besar seperti Sun dan Oracle? Ada Java Server Faces, Java Server Pages, dan Enterprise Java Bean (EJB).Selain vendor-vendor resmi, beberapa komunitas juga mengembangkan standar mereka sendiri untuk membangun aplikasi enterprise. Berbasis Java, ada bingkai kerja semacam Struts 2, Spring, dan semacamnya. Aplikasi-aplikasi ini meskipun tidak mengimplementasikan JSR, telah cukup untuk membuat aplikasi enterprise. Ini yang akan saya bahas nanti.
Aplikasi yang akan saya bangun nanti adalah sebuah aplikasi kosong yang memiliki fungsional enterprise. Framework yang saya gunakan adalah:
  1. Struts 2, framework yang mengatur hubungan antara client dan server. Struts 2 memiliki roh dari Webwork 2.
  2. Spring, framework untuk mengatur MVC (Model View Controller).
  3. Hibernate, framework untuk Object Relational Mapping. Semacam Entity EJB jika di standar Java Enterprise.


sumber : http://blog.galihsatria.com

What time is it?

About Me

My photo
Pekanbaru, Riau, Indonesia

My Timeline

Follow aaimm on Twitter

Blog List

Followers

Blogger Bertuah