Aplikasi Expedisi menggunakan Grails (part 1)

Filed under: , , by:

Setelah diartikel sebelumnya saya mencoba untuk membuat aplikasi CoPas menggunakan Grails. Kini saya mencoba lagi untuk belajar menggunakan Grails untuk aplikasi yang sedikit lebih rumit yaitu Sistem Informasi untuk Expedisi. Kebetulan juga ada temen yang minta bantuan untuk membuat aplikasi ini untuk proyek kecil2xan nya dia jadi deh saya pake kesempatan ini untuk lebih banyak lagi belajar menggunakan Grails.

Pertama-tama yang harus saya lakukan dalam membuat aplikasi expedisi ini adalah mendefinisikan domain 2x class yang akan digunakan. Syukurlah teman saya itu sudah dengan baik hati membantu saya membuat Class Diagram nya. Berikut ini adalah class diagram yang dia buat dengan menggunakan ArgoUML.



Setelah class diagram sudah dirasa tepat untuk digunakan, saya kemudian membuat project grails baru yang saya namakan "expedisi". Saya melakukannya dengan cara menjalan kan perintah

$ grails create-app expedisi


Tunggulah beberapa saat maka didalam direktori kerja anda yang sekarang akan terdapat direktori baru yang bernama "expedisi".

Berdasarkan class diagram diatas, saya kemudian membuat domain2x class nya dengan perintah

$ grails create-domain-class


Jadi misalnya saya ingin membuat domain class untuk Customer, maka yang saya lakukan adalah

$ grails create-domain-class Customer


Langkah ini akan membuat domain class Customer didalam directori grails-app/domain. Silahkan buka file grails-app/domain/Customer.groovy dengan editor kesayangan anda, dan anda akan melihat isi file seperti dibawah ini :

class Customer {
}

Kini, yang anda harus lakukan adalah memodifikasi domain class tersebut agar sesuai dengan struktur yang sudah kita definisikan di class diagram.
class Customer {
String customerNumber
String customerName
String customerCity
Integer customerZip
Boolean customerFlag

static constraints = {
customerNumber (nullable: false, blank: false, maxSize:10)
customerName (nullable: false, blank: false, size:1..50)
customerCity (nullable: false, blank: false, size:5..50)
customerZip (size:5)
customerFlag ()       
}

String toString(){"${this.customerNumber} : ${this.customerName}"}
}

Jika anda lihat, struktur domain Customer ini mirip dengan POJO class di Java. Memang mirip sekali, kecuali beberapa hal yang membedakan yaitu :
  • Tidak ada titik-koma (;)
  • constraints : yaitu tempat dimana anda mengatur validasi setiap field
Jika anda sudah selesai memodifikasi domain class Customer tersebut, yang kini anda lakukan adalah mengenerasikan controller class, view files (GSP), dan mungkin test-case. Untuk ini anda tidak perlu membuat class2x tersebut secara manual satu per satu. Anda cukup jalankan perintah

$ grails generate-all Customer


Tunggu beberapa saat, dan jika sudah selesai silahkan lihat file 2x yang dibuat oleh grails pada direktori2x grails-app/controller dan grails-app/view. Pada direktori tersebut seharusnya sudah terdapat satu class controller bernama CustomerController.groovy dan direktori customer/ yang merupakan direktori tempat menyimpan file2x *.gsp untuk domain Customer ini.

Yang kini anda bisa lakukan adalah menguji cobakan aplikasi yang sudah anda buat tadi dengan cara

Menjalankan aplikasi

$ grails run-app


dan kemudian mengarahkan browser anda pada alamat http://localhost:8080/expedisi.
Kini anda bisa melihat aplikasi baru anda ini. Untuk domain2x yang lain, anda bisa ikuti langkah2x seperti yang sudah dijelaskan diatas.

*Happy hacking*
:)

1 komentar:

On 3:17 PM , Donny said...

Weh, Grail? nggak mudeng euy... :D