Membangun Aplikasi Web-Based dengan Java Enterprise: Pendahuluan

Date November 28, 2007

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…

13 Responses to “Membangun Aplikasi Web-Based dengan Java Enterprise: Pendahuluan”

  1. Jiewa said:

    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 :D

  2. dnial said:

    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 :D

  3. Galih Satria said:

    #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 :)

  4. costfix said:

    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

  5. Galih Satria said:

    #costfix:
    Settingan Java Virtual Machine-nya sudah dioprek? Misalnya PermGenSize, PermSize, dkk?

  6. javanese said:

    bahasa java aku wis iso… masio rodo ngawur lek ngomong,
    saiki pengen belajar bahasa mandarin :D

    * gaknyambungmodekabur…. :)

  7. nanakiqu said:

    selama ini saya hanya kenal ama PHP klo java blm begitu familiar….
    Trims referensinya mas…jadi tertarik buat belajar java neh….

  8. funkshit said:

    sama.. baru ngerti pehape doank..
    klo jsp.. perlu server macem2 ngga seh ?
    kayaknya blom sebanyak server php ya ?

  9. Dynah Nilmalasari said:

    hai.. nanya dunks..
    apa perbedaan EJB dgn servlet secara spesifik ??
    pls bls yah ke dynah86@wordpress.com

  10. Dynah Nilmalasari said:

    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

  11. Galih Satria said:

    #Dynah:
    Web.xml itu file konfigurasi untuk servlet. jadi, web.xml bagian dari servlet.
    tentu saja boleh :)

  12. – A New Day Has Come » Blog Archive » Membuat Java Servlet said:

    […] SERI 1: Pendahuluan […]

  13. rifki said:

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

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>