InfoPath: Closing the Circuit on XML Transport
InfoPath extends XML's use into the provision of user-input data.
by Brian Connolly
TechEd, May 26, 2004
XML is the preferred way of transporting data from one system to another because it represents the structure and relationships of data elements without regard for presentation. XML has become the standard method for transporting data and has consequently driven the evolution of other technologies in recent years. Web services use HTTP/XML to request services and receive results. Databases support direct input and output of XML. XPath supports XML queries, and XSLT controls the visual presentation of XML data.
Microsoft's InfoPath 2003, the topic of many TechEd sessions within the Business Productivity Solutions track, was designed to use all of these technologies to extend XML's use even further—into the provision of user-input data. InfoPath uses the formal model of data and relationships in a schema to define end-user input forms. This "closes the circuit" on XML's complete end-to-end use within an organization. Previously, custom application or Web forms gathered user input, and custom software converted form-input data into XML. But data models are always changing, and when they do, these forms and their XML conversion functions must change as well. With InfoPath, the design of user forms works directly off the data model, and input data is saved and shipped in XML.
Forms Design
The InfoPath 2003 design editor allows a developer to design a form from a wide range of data sources. The source can be an XML schema, a set of database tables, or the Web Services Description Language (WSDL) definition of a Web service. Using the design editor, a designer can relate data to controls by dragging data elements to a form and selecting the appropriate control. There are facilities to add custom menus, define control behavior, and perform intermediate calculations by invoking a Web service.
The form definition is saved in an .xsf manifest file, which you can "publish" by sharing it on a network. The file contains the XML schema, XSLTs for presentation, script logic for validation, and a description of the Web service or URL for form data submission.
InfoPath allows definition of "smart forms" that rearrange themselves depending on the data entered. It also supports digital signatures for submission, and the latest release, InfoPath SP1, allows signatures on part of a form.
The InfoPath runtime component extends Office 2003, and it works off the manifest file the designer creates. One of InfoPath's key advantages is that it allows central definition of forms, but allows users to edit or save those forms locally while they are offline. In contrast, a hosted Web forms solution requires that the form editor is online.
A key benefit to gathering input data using InfoPath forms is that schema validation is done automatically, during data entry.
Not Suitable for Everything
InfoPath has its weaknesses. It's suitable for internal corporate forms such as timesheets and expense reports, but it doesn't offer facilities for externally defined forms, such as tax forms, that require exact image fidelity for scanning and 2-D barcodes. InfoPath is collaborative in nature—it closes the information loop within an organization, creating formal data models, basing forms on them, and allowing easy data collection. Microsoft's documentation emphasizes using InfoPath to collect routine business data.
If you have existing paper forms, ScanSoft's OmniForm 5.0 offers an InfoPath converter. It allows you to scan an image of a paper form, and use it as the basis for an InfoPath implementation.
Microsoft emphasizes internal information gathering, but the recently announced Adobe Forms Designer 6.0 beta (see Resources) is more targeted at organizations that need to gather information from external users over the Web. Acrobat is a more ubiquitous client than Office 2003, so Adobe's offering is more suitable for those situations. Adobe offers facilities similar to InfoPath's for schema-based forms definition and electronic submission by XML. Many externally defined regulatory forms are already offered in PDF, so Adobe Designer might be a more appropriate choice for implementing those forms.
XML's use as a unifying technology for gathering, validating, and transporting form-based data is increasing rapidly, and the current trend is for industry groups to define standard business processes, information flows, and protocols with XML. An example of this is the Health Level Seven Clinical Document Architecture (see Resources). This standard defines document models and requirements for authentication, persistence, electronic delivery, and human readability for clinical documents such as patient discharge summaries. Microsoft developed a sample implementation of this standard entirely in InfoPath 2003, showing that InfoPath can serve as a foundation technology for implementing mature industry standards for information gathering.
About the Author
Brian Connolly is an independent consultant specializing in large-scale transaction systems. Contact him at http://www.ideajungle.com.
|