Wednesday, June 18, 2008

XForms

As a veteran IT guy, I continue to toy around with various technologies as an attempt to stay up to date with what's going on. My most recent endeavours focus on the use of XForms.

XForms is an XML-based technology designed to manage client-side forms processing for browser-based applications. Defined as a W3C standard here, XForms brings rich-client functionality to the browser using a declarative approach.

The two most prominent implementations appear to be Firefox's XForms addon and FormsPlayer.

I've been building a basic application as a means of evaluating the pros and cons of the technology. A big part of what I've been learning in the process has actually been how to combine various technologies to create a working, scalable, maintainable business application. While I am clearly not creating a commerical application, it's been interesting to looks at the ways the technologies could work together within that context.

To summarise the architecture that I've ended up using so far:
  • running on Tomcat
  • database on mySQL
  • web-based front-end running under Firefox
  • using either XHTML pages or JSP depending on whether I need to manage parameters passed from other pages
  • using further JSPs to retrieve data from the database, or to apply updates (no visual components involved in either case)
  • POJOs at the application level, modeled on the business entities (Client, Address, Country, etc) which then encapsulate the business logic and interface with the database
  • using stored procedures and dynamic SQL to access the database
Some of the most difficult parts to date have actually been working out how to use CSS to layout the XForms components on the pages. This is partially implementation-specific, and not well documented for Firefox. A future post will attempt to document some of the behaviours that I've uncovered.

No comments: