Server Side XForm Proof of Concept :1

PoC 1: Technology demonstration for  uploading a Open Office XForm and loading the XML instance into a database

Motivation

Non Repudiation

In situations where non-repudiation is needed, digitally signed online forms are inadequate as the signer may claim that the online pages had misleading contents as well as fine prints were invisible. Thus a full document along with its renderings needs to be included in the signed document.  

Offline Filling

Some forms needs to be filled repetitively and may be quite lengthy. It may even be filled out in days, as information needs to be collected. Tax and bank loans, Insurance forms are a few examples.

An insurance agent may want to send a form to be filled by her customer over email, and then submit it to the portal herself, on behalf of the customer.

Demo Use Case

A user can download a leave application form, which is an Open Office XForm document. The user can fill it offline, sign it and then upload it to the web site. 

The uploaded XForm is saved with a time-stamp and its XML instance data is extracted and then loaded in a database.

Screen Shots

First the user downloads the Open Office XForm based leave application.

Next, the user open it in Open Office and fills the form.

Then, the user signs the document. Signature tool can be accessed through Menu File->digital Signatures... as shown below.

Open office support multiple digital certificate providers

Including hardware dongle based USB e-tokens.


Verify that the signature is accepted.

The user uploads the completed form to the web site.

A progress bar is displayed and on completion the final status along with the unique reference Id is displayed.


On the server side the XML instance is extracted and loaded into a database.



Technologies Used

Open Office is used for XForm creation as well as filling the form.


Glassfish is used as the Application Platform.

Glassfish is reliable and is the fastest open source application server.

Netbeans 6.5 has been used for development. Its rich set of Wizards makes a developer's life easy and cool!

Though Java DB is used for the PoC.

In production, My SQL would be the database of choice.