Membangun Aplikasi Web-Based dengan Java Enterprise: Pendahuluan

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:

  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.

See you at the next posting 🙂

PS: Susahnya menulis teknis pemrograman aplikasi dalam bahasa yang tidak terlalu mengawang-awang 🙁 *keluh…

Published
Categorized as Java

By Galih Satriaji

Bookaholic, Workaholic. Chubby. That's me!

22 comments

  1. 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 😀

  2. #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 🙂

  3. 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

  4. 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..

  5. 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…

  6. Hai..saya mau tanya apa yg sudah ditanyakan sdri dynah di atas, apa perbedaan servlet dan EJB?? saya kurang menemukan perbedaannya yg jelas. trims..

  7. 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….

  8. saya merupakan pemula di java,,
    danmendapatkan tugas membuat aplikasi multitier ( 5-6 tier)
    dapatkan dsaya diberi bimbingan ( tutorial dan link nya klo ada,,

Leave a comment

Your email address will not be published. Required fields are marked *