Tuesday, November 20, 2007

Mengenal Jakarta - Struts

Bila kita membangun aplikasi web berbasiskan Java, kita akan membangun aplikasi ini dengan menggunakan Java Server Pages (JSP) dan Java Servlet agar aplikasi web yang kita bangun menjadi lebih interaktif. Selama kita mengerjakan pembangunan aplikasi web tersebut, tentu kita juga akan mulai mengenal kata framework Java, yang membantu dalam menstrukturkan aplikasi web kita menjadi lebih ramping, ringkas, konsisten dan sistematik dengan cara yang lebih cepat.



Jakarta struts merupakan salah satu framework aplikasi web dinamis yang berbasiskan open-source. Selayaknya framework, Struts menstrukturkan semua komponen aplikasi web berbasiskan java dalam satu kesatuan. Komponen-komponen ini antara lain:
  • Java Servlets : Program yang ditulis dengan bahasa Java dan ditempatkan pada server web berfungsi merespon permintaan (request) pengguna.
  • Java ServerPages : Teknologi untuk menghasilkan halaman web baik dengan content yang statis maupun dinamis.
  • Java Beans : Komponen yang berfungsi sesuai fungsional tertentu, seperti naming conventions.
  • Business Logic : kode yang diimplementasikan untuk fungsi atau peran sesuai deskripsi kebutuhan aplikasi yang dibangun.

Jakarta Struts menggunakan paradigm khusus atau pola desain dalam mengatur struktur aplikasi. Dengan struktur pola desain yang ada, memudahkan untuk pengembangan aplikasi dengan menyesuaikan dengan pola yang ada. Pola desain yang digunakan dalam ialah Pola desain M-V-C (Model – View – Controller). Melalui pola desain ini, memungkinkan pengembangan aplikasi seperti mengisi rangkaian teka-teki yang mengatur struktur aplikasi mencapai fleksibilitas maksimum dan efisiensi.

Struktur Aplikasi Web

Aplikasi Web dikenal sebagai aplikasi yang ditempatkan pada server web dan menghasilkan halaman statis ataupun dinamis dalam format bahasa mark-up language, umumnya dalam bentuk HTML, dalam merespon permintaan user. Dimana user biasanya menggunakan browser web untuk mengakses aplikasi dan menggunakan event OnClick pada link di halaman web untuk melakukan permintaan.

Web Container merupakan aplikasi yang digunakan untuk mengelola komponen dari aplikasi web, dalam hal ini JSP atau Java Servlet. Web Container ini memiliki beberapa fungsi yaitu :

  • Keamanan : Mengatur aksesbilitas pada komponen aplikasi, seperti proteksi password.
  • Concurrency : Kapabilitas untuk memproses lebih dari satu action pada satu saat.
  • Life-cycle : pengelolaan proses untuk memulai (starting-up) dan menghentikan operasi (Shutting-down) komponen aplikasi.

Pada beberapa kalangan web container dikenal juga sebagai JSP/Servlet Container. Apache Tomcat merupakan contoh dari web container, dan saat ini merupakan web container yang cukup popular dalam pengembangan aplikasi web. Umumnya web container juga dapat berfungsi sebagai web server. Apache Tomcat juga memiliki kapabilitas untuk berlaku sebagai web server ataupun web container.

Java Servlet merupakan perluasan (extend) dari HttpServlet Class, yang merupakan basis dari semua Servlet, yang menangani request dinamis pada halaman web. Servlet dijalankan dalam web container dan memungkinkan Java untuk menjawab request dari CGI (Common Gateway Interface) Script.


Java ServerPage digunakan untuk menampilkan informasi dinamis ke user melalui halaman web. JSP memiliki struktur seperti HTML page, namun juga memiliki beragam JSP tags, atau penyisipan java scriplet (fragmen kecil java code). JSP tags dan scriplet ini diproses di sisi server untuk membuat tampilan konten dinamis, sehingga halaman web ini dapat memodifikasi tampilan konten sesuai dengan request user. Ketika seorang user melakukan request melalui halaman JSP, permintaan ini akan dikirim ke web server dan diolah dengan menggunakan web container. Web container akan segera melakukan translasi dari request JSP tags tadi ke bentuk servlet, setelah ditranslasikan, code servlet ini akan dikompilasi menjadi kode eksekusi byte code (Runnable Byte Code) untuk mengolah request user. Hasil eksekusi akan diambil oleh result servlet untuk dikirimkan kembali dalam bentuk halaman web ke user. Proses translasi ini hanya berlaku untuk pertama kali user mengakses halaman JSP. Tiap kali halaman JSP ini berubah, web container akan melakukan translasi ke servlet sesuai dengan perubahan.

JSP mendefinisikan enam tipe elemen tag yaitu :

  • Action : Mengikuti format XML dan selalu diawali dengan . Ini memungkin untuk menambahkan fungsionalitas pada JSP seperti menginisiasi atau menggunakan java bean.
  • Directive : Pesan untuk web container yang memberitahukan property halaman, spesifikasi library tag, atau subsitusi teks atau kode saat dilakukan translasi. Formatnya adalah <%@ Directive %>.
  • Deklarasi : Untuk mendeklarasikan parameter variable dalam Java atau method yang akan digunakan di halaman web. Formatnya adalah <%! Deklarasi %>.
  • Expresi (Statement) : Untuk mendeklarasikan ekspresi Java yang ditangkap sebagai String. Formatnya adalah <%= Expresi %>.
  • Scriplet : Untuk menyisipkan fragment kecil source Java. Formatnya adalah <% Java Code %>.
  • Komentar : Untuk memberikan komentar. Formatnya adalah <%-- Komentar --%>.

Karena JSP merupakan file teks, maka dapat dibuat dalam editor teks. Sebagaimana layaknya Java Servlet, JSP harus dijalankan dalam web container.


Bean merupakan komponen yang berfungsi seperti program kecil yang Mandiri. Java Bean merupakan bentuk khusus dari Java Class yang portable, reusable dan Mandiri. Java Bean Componet Architecture menjelaskan bagaimana Beans dikonstruksi dan berinteraksi. Umumnya dalam menggunakan struts, bean digunakan untuk menangani temporer data container sebagai obyek transfer data (Data Transfer Object (DTO)).

No comments: