SERI 1: 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:
- 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. - 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. - 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:
- Struts 2, framework yang mengatur hubungan antara client dan server. Struts 2 memiliki roh dari Webwork 2.
- Spring, framework untuk mengatur MVC (Model View Controller).
- Hibernate, framework untuk Object Relational Mapping. Semacam Entity EJB jika di standar Java Enterprise.
See you at the next posting 🙂
PS: Susahnya menulis teknis pemrograman aplikasi dalam bahasa yang tidak terlalu mengawang-awang 🙁 *keluh…
Hmm, lebih unggul dari .net framework ?
Kalau saya mendengar kata Java, bayangan saya langsung terarah pada aplikasi yg berat dan development tool yg kurang user friendly 😀
Java…
I’m fluent in writing and speaking, but not coding.
(as readed in somenone status message :p )
I speak in the language of C 😀
#Jiewa:
.net framework punya kelebihan dan kelemahan. Demikian pula Java. Jadi dua teknologi ini sebenarnya tidak bisa dibandingkan unggul atau tidak. Dalam beberapa hal mungkin kita harus menggunakan .net, tapi dalam hal lain harus menggunakan Java. Bahkan dalam hal lain lagi, PHP&MySQL adalah pilihan satu-satunya. Jadi sangat tergantung situasi dan kondisi.
#dnial:
good good… semangat le 🙂
ennnahh betul entuh
makin keyen aja mas satu ini. ntar aplikasinya bisa nangani sampai brp client?
q nanya ya mas?
– masalah yang sering aku hadapi kalo bikin aplikasi java enterprise yaitu berat pas ngeload 50 data pertama dari beribu-ribu record (paging pake displaytag), itu kenapa ya??
udah pake DWR tetep aja masih lemot.
System yang aq pake :
– pentium 4 Ram 2G
– oracle XE
– spring mvc
– hibernate
#costfix:
Settingan Java Virtual Machine-nya sudah dioprek? Misalnya PermGenSize, PermSize, dkk?
bahasa java aku wis iso… masio rodo ngawur lek ngomong,
saiki pengen belajar bahasa mandarin 😀
* gaknyambungmodekabur…. 🙂
selama ini saya hanya kenal ama PHP klo java blm begitu familiar….
Trims referensinya mas…jadi tertarik buat belajar java neh….
sama.. baru ngerti pehape doank..
klo jsp.. perlu server macem2 ngga seh ?
kayaknya blom sebanyak server php ya ?
hai.. nanya dunks..
apa perbedaan EJB dgn servlet secara spesifik ??
pls bls yah ke dynah86@wordpress.com
makaasih yah,..
aku klo nanya2 boleh ga??
byk yang blon gtu ngeh,,
antara servlet dan file web.xml itu hubnya apa?
apa itu web.xml???
peranannya?
duh maav yah ganggu. ^^ lam kenal yah^^
add link ku ajah di dynah86@wordpress.com..
btw km ada ym ga??
klo aku mau nanya2 boleh ga??
add ke aku juga yah di dyna_h@yahoo.com^^ makasih yah
#Dynah:
Web.xml itu file konfigurasi untuk servlet. jadi, web.xml bagian dari servlet.
tentu saja boleh 🙂
betul2 hebat..
kalo menurut saya,java akan maenjadi masa depan kita dalam mengembangkan aplikasi..
dengan opensourcenya java akan populer dimasa yang akan datang yang notabeni semuanya menjadi mahal termasuk software2..
allow…
lam kenal yach…
kebetulan zie lagi belajar java…
makasih yach referensinya…
moga makin sukses aja…
Hy,,lam knal sebelum’na…
Btw q leh tny2 gag nie..??Hehe..
Q butuh penjeLasan ttg konsep dari I/O di Java dan file Streams sebagai tipe data dan tipe2nya..
Tolong balaz di email saya,,terima kasih…
Hai..saya mau tanya apa yg sudah ditanyakan sdri dynah di atas, apa perbedaan servlet dan EJB?? saya kurang menemukan perbedaannya yg jelas. trims..
Hy.. Mas galih…
Aku masih cupu masalah java nih…
Mo tanya mas?
kalo java enterprise lebih baik pake hibernite yang jenis apa?? he
balas di email ja ya… thanks….
saya merupakan pemula di java,,
danmendapatkan tugas membuat aplikasi multitier ( 5-6 tier)
dapatkan dsaya diberi bimbingan ( tutorial dan link nya klo ada,,
mas saya masih awam ni ddalam dunia java..klo saya pengen bikin alikasi yang bisa digunkan di handphone kita pake jva yang mana ya….mohon petunjuknya ya mas…
klo ada tutorialnya tolong di kirim donk keemail saya…aris.agustian@gmail.com
ijin copas n share ya gan.. thx.. 😉