Secara arsitektur, aplikasi yang akan dibangun akan menggunakan multitier architecture. Dengan arsitektur ini, fungsi dari aplikasi akan dibagi menjadi beberapa tier, yaitu:
Presentation tier: Tier teratas dari aplikasi yang bertugas untuk menampilkan informasi kepada user dan juga menerima input dari user. Karena aplikasi yang akan dibuat adalah berbasis web, maka presentation tier dari aplikasi ini adalah web page.
Application tier: Merupakan tier yang berisi fungsi-fungsi yang berkaitan dengan proses bisnis baik itu berupa pengambilan keputusan, kalkulasi, akses data dan lain-lain.
Data tier: Merupakan tier paling bawah yang bertanggung jawab untuk proses membaca dan menulis data ke database.
Apache Wicket digunakan sebagai web framework
Spring digunakan sebagai application container
Hibernate digunakan untuk menyediakan fungsi-fungsi yang berurusan dengan database
JUnit digunakan untuk melakukan unit testing pada aplikasi
Maven akan bertindak sebagai build tool. Mempersiapkan project Java tidak lagi membutuhkan waktu lama karena di Maven sudah tersedia project template dan library dependency management. Kita tidak perlu lagi repot-repot buat build file dari awal dan juga tidak perlu download banyak library. Maven akan melakukan semua itu untuk kita.
IDE yang digunakan adalah Intellij IDEA.
Saya biasa membuat project baru menggunakan Maven. Kebetulan ada archetype yang biasa saya gunakan untuk membuat aplikasi yang menggunakan Apache Wicket, yaitu: wicket-archetype-quickstart
Di dalam direktori workspace saya, saya jalankan perintah berikut di terminal:
Saya bisa langsung jalankan aplikasi bawaan dari archetypenya dengan menjalankan perintah:
Perintah di atas akan menyebabkan aplikasinya dideploy ke sebuah server Jetty. Tapi sebelum itu, Maven akan mendownload dulu library-library yang dibutuhkan aplikasi terlebih dahulu. Setelah Jetty-nya up
Kita bisa langsung akses http://localhost:8080
Bila semuanya berjalan lancar, page berikut ini akan tampil.