Information technologies deployed on the Internet owe their success to connecting people together effectively in performing complex tasks . Web services are about connecting distributed systems to enable complex information workflows. To be useful, such information systems need to interface effectively with the end user as seen in the previous section. Thus, at the end of the day, effective deployment of these information services is a function of how well they succeed in connecting users to their data (see Figure 9.2). In this context, enabling seamless access to XML content is key to creating end- user applications.
Figure 9.2. XForms: Connecting humans to XML powered Web Services.
9.2.1 Leveraging XML for Collecting Information
Business work flows are about collecting and categorizing information that starts off in semistructured documents, for example, a travel expense report, and eventually moving the fully structured information into the relevant back-end information processing system. Until now, structured data has been the purview of database applications, while semistructured documents have been managed with a variety of tools including word processors and spreadsheet programs. With the advent of the Web, such data gathering has also come to include user interfaces that are typically deployed to a universal Web client.
Though this move to online interaction has brought significant productivity gains, businesses and end users still fail to reap the full benefits of electronic documents because of the need to move data across disparate information processing systems. Traditionally, business critical information has been entered in largely semistructured documents, for example, word-processor files, because the user interface provided by well-structured forms packages, for example, the front-end to a database, has been too inconvenient to use for the end user. At the same time, the tools used to create business critical information, such as sales reports and market analysis, have tended to lock this critical information within proprietary file formats that make it hard to export and import structured data.
Thus, while it is convenient for users to work with information in a semi-structured format that is designed for easy human consumption, this factor becomes a strong negative when it comes to extracting and further processing the data contained in these business documents.
XML promises to bridge this gap by enabling the interchange of structured and semistructured information. The Web services architecture has already picked XML as its means for exchanging structured information. In this context, XForms enables the creation of browser-based interfaces for editing and submitting XML documents.
By enabling the collection and validation of data from within a Web browser, XForms makes the original promise of the document is the interface a reality; users can now interact with Web pages that present a document-centric view of the underlying structured data.
A key consequence of this evolution is that data collected via such interfaces will no longer need to be re-entered into the relevant back-end information system; instead, the collected XML data can be directly submitted to a Web Service to connect the user with the underlying information technology effectively (see Figure 9.1).
Thus, XForms looks and feels to the end user like today's online Web forms enhanced with all of the data-capture functionality one expects from a traditional forms package. In addition, it has been designed to be suitable for delivery to the merging plethora of pervasive devices ranging from PDAs to smart phones. Built from the ground up to work with XML, XForms can gather information that has been structured to conform to the customer's document schema, where the structure and type of content that each data element can contain have been designed to suit the needs of a specific business application. The XML instance that results from a user interacting with such a form can then be integrated with existing databases and servers, making it easier to reuse data across the enterprise via XML Web services.
9.2.2 XForms Collect Structured Data
One of the key innovations introduced by XForms is the separation of the data being collected from the interaction that is presented to the user. This separation of the model from the view is a key enabler with respect to creating document-based user interfaces that collect and validate structured data.
In this context, XForms is designed to be embedded within other XML document formats, such as XHTML. When embedded in XHTML, the XForms model defines regions of structured data within the overall XHTML document which continues to provide a traditional semistructured document view. XForms user interface controls embedded within the XHTML markup connect to the underlying XForms model, thereby enabling the display and update of the values stored in the XForms instance.
Finally, the data collected by the XForms application can be cleanly extracted and serialized as a structured XML document for submission to a Web Service. XForms can thus address the entire continuum, ranging from fully structured documents such as database queries to semistructured documents like expense reports, project reviews, and travel itineraries .
Thus, XForms documents, when deployed inside a Web browser, provide the best of both worlds ; they provide the ease of use and platform independence provided by Web forms, along with the rigorous data-capture capabilities of traditional forms packages. The end result is that users end up creating structured information where they would have earlier created completely unstructured content within a myriad of desktop applications, all having their own proprietary data formats; the collected data need no longer be reentered to get it ready for processing by the underlying information technology.
A key consequence of this evolution is that information technologists can continue to model business data using abstract structures that are amenable to machine processing. XForms binds a user-friendly Web browser interface to such abstract XML models, thereby empowering the average user to edit and update these abstract structures. In this sense, XForms enables a standard Web browser to associate editable views to the underlying abstract XML models. This ability to view and edit XML documents from within a standard Web browser is likely to prove a key empowering technology.
In addition, industry-standard XML Schema validation and business logic validation through the XForms model enable error checking at each stage, thereby avoiding costly data errors.
Finally, the XForms design enables the creation of off-line forms, i.e., users can save forms to their computers and work on them when not connected. Such off-line use is an automatic consequence of the separation of the model from the view and the resulting design that stores the instance data in an XML document that is separable from the XForms document. Enabling offline use of forms, as well as advanced features, such as suspend and resume, follow cleanly in this architecture the XForms browser can enable the user to save the currently provided instance data to an XML file and resume the interaction by reloading this XML file as the initial instance data.