Jason is a software guy living in Atlanta, GA. He’s been slinging code since the age of 12 and would dearly love to be slinging code until he finally pops his clogs. He’s worked at startups, airlines, telcos and software companies big and small. He’s currently Director of Engineering at Lancope - a fast growing network security company that helps enterprises protect what is important from advanced cyber threats.

Introduction to XForms

Consider document oriented applications. Examples may include mortgage application processing, loan application processing, IRS tax filings, Ordering systems, Invoicing systems. Examples of documents that may flow through these applications include purchase orders, invoices, shipping notices, mortgage applications, loan applications, RFQs and so on.

Documents may enter your application in one of two ways. Maybe they are transferred from another system e.g. an ERP system. Maybe documents are created by human users filling out an on-line form.

Now consider how you would approach designing such a document- oriented system. Of course, you could use good old HTML forms, a sprinkling of Javascript and Struts/Validator on the server-side. As AJAX is trendy right now, you may need to integrate your favorite AJAX framework to provide a better user experience. Now you have to consider how to handle the flat submitted form data and somehow create an XML document from it so you can persist it or do whatever you want with it.

Is it me or is this starting to look a little complex and a little out of hand. Is there a better way of solving this problem?

Perhaps XForms - a W3C recommendation can help. Come get a high-level overview of what XForms is and when it makes sense to use it. You will learn about the state of browser support for XForms in addition to Chiba, an open source XForms engine that resides on the server side.