In this paper, we present a framework for building versatile web applications through form-based interaction by explicitly marking web pages with levels of application semantics. Our framework, entitled ¡§Architectural XML Editing Framework,¡¨ or ¡§AXEFramework,¡¨ is implemented using exclusively existing standards on client machines, making it easy to adopt. Furthermore, the framework strives to avoid undue complexity, and put relevant application semantic on web rather than in all levels of the multi-tiered architecture. These characteristics make it a desirable choice for building complex enterprise applications, and large-scale digital archives that can be easily interoperate with each others.
Architectural Form, XML Editor, Tuple Space, Framework
Currently, XForms is an official effort by W3C XForms Working Group to realize the vision of a "Next Generation Form". XForms is designed to cover a broad range of issues including: purpose definition, data entry, event model, schema validation, and form submission. Since all of these features have been integrated into a single specification, XForms is inevitably a lot more complex than HTML itself.
We believe that simplicity is one of the key success factors of HTML, and therefore our approach differs from XForms, in that we strive for a low learning curve through simplicity and reliance on existing popular standards.
Today, dynamic and apparently structured forms and the client/server interactions tied to these forms are usually treated ad-hoc. While the form appears structured, the transmission of the data is still flat name-value pairs. Minor requirement changes on these systems will propagate throughout the whole system. including the user interface, the middleware and the persistence layer typically build on top of relational databases.
Under the AXEFramework, to develop a dynamic structured form, a developer will complete the following steps:
Figure 2 demonstrates the overall process at run time: "Architectural Templates" generated by the developer (see item1 in figure 2), and initial data from the managing framework on the server (see item3 in figure 2), is input to the editing framework (see item2 in figure 2) to generate HTML. Subsequent user inputs are also fed into the editing framework, which processes the results and sends them back to the management framework. The architectural processor used optionally by the management framework will be discussed in later sections.
In this framework, the "Architectural Templates" are the only part that application developers have to deal with at design time. The Editing and Managing Frameworks consist of application independent processing engines or agents that do not require customization.
Architectural processors are software agents, libraries, or services, that take derived architectures as input, recognize some of the basic architectures that they are derived from, and then perform subsequent actions based on these base architectures.
The Editing Framework is a client side architectural processor implemented in javascript that takes the HTML Architectural Template and process subsequent actions including data acquisition (the Get() action in Fig.3 ), form expansion, validate input, extracting and submitting data instance (the Put(R') in Fig.3 ) and DHTML manipulation such as cloneNode(true) used to replicate certain document fragment on web pages. The Management Framework takes the modified data R' as input, recognizes its base architectures, as defined in SGML Architectural Form[1] (such as metadata or workflow properties) and then performs subsequent actions on server side.
In this framework, we use an abstraction model called Tuple Space as the collaborating medium of architectural processors. By embedding architecture on top of the XML instances generated by the Editing Framework (in figure 3) that the Management Framework may recognize them and then maps and store the XML instances to a tuple (or feature vector) in the Tuple Space [7].
This mapping is useful because it provides another level of abstraction that map specific XML instances with their own structures to several shared fields, dimensions, of the tuple space. Therefore, various applications can recognize and perform subsequent operations based on the abstraction of shared dimensions and decoupled from the DTDs and Schemas of the XML data instances.
Because the design of editing framework makes the template expansion, the function that maps an XML to HTML, and the form value extraction, the opposite direction, almost automatic. It actually minimizes the difference between a human participant and a software component within the data processing cycle.
In AXEFramework, we require the developers to turn the HTML structures of their web pages into self-describable yet standards compliant document. Such a document describes how the page should look, how it should interact with users, how the information may be recognized and preserved by others parties, and how to address the generated data in a universal XML information space etc.
Most proposed forms standards today support many complex functions. However, AXEFramework takes a different approach and specifies a high level architecture that can be used in conjunction with other libraries for additional features such as encryption, validation, event notification, etc.
The primary contribution of this paper is the demonstration that the concept of architectural forms can be applied to build a standards-based framework for dynamic structured forms on web, other applications and semantics layers may be designed and expressed in similar manner.
This XML editing framework can be specified concisely, and deployed effectively for a wide variety of applications. Furthermore, since the framework is designed to be a set of loosely coupled libraries that can be used independently of each other, developers can choose to use only the components that they need. In the future, we can build various rapid application development or HTML authoring tools that can generate the conforming HTML architectural templates with embedded application semantics in order to make the web more accessible to machines. This framework is only a small step towards transforming the web into a machine-understandable information space.
Thank Dr. D.T. Lee, Dr. Jen-Ming Ho, Dwight Rodgers and Dr. Yuen-Chang Sun, Chang-Chien (Bike) Hsu for your opinions and kind support.