A Brief About Tapestry 3

<- Tutorial –

Model Overview

Tapestry adalah salah satu framework yang beredar untuk membangun aplikasi web dengan pola MVC / three-tier. Framework ini menggunakan pendekatan komponen dimana component dapat berisi komponen lain (compound patern). Dengan page sebagai penampil akhir (yang dapat menggunakan komponen ataupun murni static page).

Dengan komposisi:

  • Template berupa file html dengan tag html standar untuk komponen placeholder (hanya menggunakan atribut jwcid untuk menandakan bahwa tag tersebut akan direplace oleh komponen yang diminta).
  • Component descriptor berupa file xml (*.jwc) yang mendefinisikan tentang komponen dan bila komponen tersebut memiliki format tertentu, maka komponen tersebut harus memiliki template.
  • Page descriptor berupa file xml (*.page) yang mendefinisikan sebuah page yang menampilkan informasi yang diinginkan (view (V) part / presentation layer dari MVC / three-tier).
  • Application descriptor berupa file xml (*.application) yang mendefinisikan aplikasi yang dibangun. Dalam descriptor ini berisi deklarasi data-data seperti property, component type, component, page, dsb.

Struktur organisasi file

Berikut adalah struktur pengorganisasian file pada aplikasi web berbasis tapestry:

projectName

src

segala source code baik untuk component maupun page

context

resource web untuk direct link spt js, css, images

WEB-INF

web.xml

project.application

file-file page, jwc, dan html template

Lebih baik page dan component dikelompokkan berdasarkan kegunaan/penggunaannya. Misal untuk tab general menggunakan satu kelompok sendiri, untuk tab financial menggunakan satu kelompok sendiri, dsb seperti pada contoh:

Contoh struktur tapesry 3

Gambar 1 : contoh struktur pengelompokan file

Hal ini untuk memudahkan pencarian file yang diinginkan ketika perkembangan aplikasi sudah sangat besar. Untuk reference pada file *.application (dalam contoh di atas adalah tapestryTest.application), pada tag page dapat menggunakan path mulai dari WEB-INF sebagai root path dan relatif dari sana.

Libraries

Untuk membangun aplikasi web berbasis tapestry, maka lib-lib default (berdasarkan spindle3, eclipse plugin) yang dipakai adalah:

  • tapestry-3.0.3.jar
  • tapestry-contrib-3.0.3.jar
  • bsf-2.3.0.jar
  • commons-beanutils-1.6.1.jar
  • commons-codec-1.2.jar
  • commons-collections-2.1.jar
  • commons-digester-1.5.jar
  • commons-fileupload-1.0.jar
  • commons-logging-1.0.2.jar
  • jakarta-oro-2.0.6.jar
  • javassist-2.5.1.jar
  • ognl-2.6.7.jar
  • commons-lang-1.0.jar

Lib-lib tersebut tentu tergantung kebutuhan.

Pages & Components

Untuk membuat sebuah halaman atau komponen, dapat menggunakan wizard dari spindle3 maupun manual. Dengan wizard, cukup menggunkan pilihan new – Tapestry Page / Component. Wizard tersebut otomatis membuat file namaPage.page. Dengan option dapat otomatis generate html template dan class untuk menangani request dari page. Selain itu juga otomatis menambahkan tag page pada file namaProject.application.

Class yang digunakan oleh page dan component adalah yang mengimplementasikan org.apache.tapestry.IComponent. Dengan org.apache.tapestry.html.BasePage untuk base class halaman dan org.apache.tapestry.BaseComponent untuk base class komponen.

Visit Object

Tapestry menggunakan Visit object untuk menyimpan state dari user. State ini independen antar user. Visit object umumnya diset ketika sebuah form tersubmit, dan dibaca ketika halaman yang dirender membutuhkan data user.

– sample code ->

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: