IBM Software Group  |  Lotus software
IBM  Lotus Forms
© 2007 IBM Corporation
Another Example: Submission Object
§Ability to send XML data to a service that expects structure according to some schema.
§Ability to select a portion of the data being manipulated by the web application
§Ability for data model annotations or properties to affect submission, e.g. data constraint conformance/validity
§Ability for data to affect the destination URI and other parts of HTTP submission like verb and headers.
§Ability to use XML result to replace data content within the current application
§Ability to send non-XML, receive non-XML, and even place the result within XML data.
As yet another important example of a commonly required capability that could be baked into the foundation provided by the rich web application backplane, we consider data submission.  This module is especially interesting because the advent of AJAX support in browsers allows a means of implementing a submission object like the one described below in today’s browsers. Combined with the other rich web application backplane components discussed so far, this reflects the growing trend in “emerging platforms” i.e. platforms that are provided outside of the web browser maker bottleneck.
Here are some of the most important properties of a general submission object:
•Ability to send XML data to a service that expects structure according to some schema.  While the actual send can be done with today’s XmlHttpRequest, this point is as much about the send and receive as it is about the predefined interaction of the submission object with other components of the backplane.  There would be no preprocessing code needed to collect data to submit around the document because it is already in a data object.  And the results of a submission can be put back into another data object without the submission module having detailed knowledge of other components in the application.  The submission puts the result data into a backplane data object, and other components bound to that data or listening for mutations of it respond accordingly.  This type of “loose coupling” results in applications that are less brittle easier to maintain and enhance over time.
•Ability to select a portion of the data being manipulated by the web application
•Ability for data model annotations or properties to affect submission, e.g. data constraint conformance/validity
•Ability for data to affect the destination URI and other parts of HTTP submission like verb and headers.  This allows the submission to interact with more of the Web 2.0 server-side processes.  There is an increasing trend toward making smarter server tier components, and by empowering backplane-based applications to communicate directly with these components from the client tier, the need for middle tier glue code is mitigated.
•Ability to use XML result to replace data content within the current application
•Ability to send non-XML, receive non-XML, and even place the result within XML data.