The interaction with user in order to complete given human tasks requires the client applications to deal with many UIX specific aspects. Usually it implies layout specifications, forms definition, data validation and result processing. To avoid the effort of implementing the functionality at each point where user interaction is needed, we propose to create a framework of reusable components and supporting services, which would unify and consolidate the user interaction functionality. As a result, presentation, interaction and dialog design can be efficiently and consistently implemented across many distributed services.
The starting point for development of user interfaces is a data model of the required input. The data model is usually available in different formats, e.g. XML schema, Document Type Definition, RELAX NG but also in language specific ones.
The user interface is usually provided by additional pieces of software (task list clients according to WS-HumanTask specification). They provide a human interface, so that users are able to complete a task and to submit the required data. In our approach, the generation, configuration and processing of user forms is done on the basis of reusable components, wrapping services and Web applications. We apply the WebComposition/UIX framework to unburden the service clients with user interaction-specific issues, so that implementation and maintenance of these functions is simplified. We have developed the core components of the framework and currently working on specification and implementation of wrapping services and Web applications. The WebComposition/UIX framework consists of the following elements, which can be used in different scenarios depending on the concrete implementation of the platform:
- WebComposition/Form Generator consists of a set of automatic form generation and processing tools. Form Generator is the basis for the following user interaction services and applications, but can be also used independently both in desktop, mobile or Web applications. The included tools enable transformation of data model descriptions into user interface specifications. The Form Validator module enables validation of incoming form data against the original data schema. Further extensions provide support for different inputs and outputs, so that heterogeneous environments and platforms can be supported.
- WebComposition/Form Configurator is a Web application, which enables customization of generated user dialog models to comply with corporate design, user roles, execution context etc. Based on the intermediate form description produced by Form Generator, the Form Configurator can rearrange, group, hide, complete or configure the form input elements.
- Form Generator-Web Service is exposes the interface of form generation and processing components, so that these can be used in service-oriented environments. The operations correspond to those of WebComposition/Form Generator, i.e. automated generation of intermediate form description based on data model and its later transformation to implementation-specific markup. The operations are separated in order to enable customization of single steps, e.g. grouping and rearranging of form fields, types definitions etc.
- User Interaction-Web Application provides a human interface to the form presentation and processing components. The application can be consumed by Web-based service clients to consolidate and unify the user interaction process. The user is forwarded to the User Interaction application using dedicated HTTP-redirects and is returned back after successful data submission.