An XML/EDI transport messaging prototype
Antony Scott
Find


Abstract
The XML/EDI application described in this paper was developed as part of an EU XML/EDI pilot project. This aimed to determine how the XML family of standards can be used to develop the next generation of EDI applications in two sectors - transport, described here, and healthcare. The application shows how XSLT stylesheets can be used to drive a forms interface which is device-independent, and which has multiple-language capabilities. It also highlights areas where the XML family of standards was insufficiently developed to cope with the requirements of a forms-based messaging system.
The core of the application comprises two modules which use XSLT stylesheets to generate the interface resulting messages. The 'Generate Form' module outputs a form in the mark-up appropriate for the user's device (e.g. HTML or WML), and in the language selected by the user. It takes as input a form specification, and resource files containing form labels and context references for data items. The 'Validate' module validates user-entered values against a constraints file, returns error messages in the user's language, and populates an XML message from the data entered into the form by the user. Both modules use generic and extensible data structures developed during the course of the project, and are entirely independent of the application domain (in this case, transport). They also make use of XSLT stylesheets which generate secondary XSLT stylesheets, reducing maintenance and facilitating re-use by separating domain-specific data from application code.
Two additional modules, driven by a browser ActiveX, are used to provide elements which XML-based standards were unable to deliver. These modules are 'Process Control', which generates the interface used to drive processing actions, and 'User Input' which saves values entered in then HTML form by the user to file.
A key feature of the application is its ability to produce output in the format appropriate to the user at the point in time at which it is needed. The demonstration will show a message being generated for a WAP-enabled handheld device, with a capability for the user to input a response to the message.
The project consortium made a number of recommendations to the European Commission and to W3C on where XML standards should be further developed to fill gaps in the current and projected standards coverage.

Contents
  1. Overview
  2. Application scenario
  3. Application summary
  4. Process Control module
  5. Generate Form module
  6. User Input module
  7. Validate module
  8. Usage scenario
  9. Conclusions
  10. Acknowledgements

Overview
The EU XML/EDI pilot project within which this application was developed was initiated and part-funded by the EU with the aim of determining to what extent a web and standards-based systems could replace the use of EDIFACT-based systems in selected domains, including transport. The move away from EDIFACT was seen as desirable particularly for small and medium organisations for whom the large investment in EDI systems was a bar to participation.
This paper deals with the development of an XSLT-based forms and messaging application, describing the architecture used, and some of the benefits realised by doing so.
Further information about the project, including the project deliverables and details of the consortium members, can be found at http://www.tieke.fi/isis-xmledi/.
Previous Previous Table of Contents
Application scenario
The application was developed to meet the following scenario within the transport industry:
Previous Previous Table of Contents
Application summary
The key features of the application are as follows:
The application modules described below are used at each stage of the process with appropriate parameters to create the appropriate interface, and to update the message file.
Previous Previous Table of Contents
Process Control module
When the application is loaded into the browser, the initial HTML page loads RivComet, which in turn drives a series of XSLT stylesheets which create a toolbar comprising:As the user makes their choices in the three drop-down lists, the values selected are saved by the RivComet application in a settings file. The user then clicks Create form to generate the form.
Previous Previous Table of Contents
Generate Form module
Each time a form is created, whether as a result of a user requesting a new form, an existing saved data set being edited, or a read-only form generated from message content, the same stylesheet processes are run, as follows:
Previous Previous Table of Contents
User Input module
As the user inputs data, the values input are saved to a generic XML file, along with reference IDs which enable them, through a reference file of contexts, to be identified with a particular location in the XML message file. As this process of saving to XML was not covered by XML or related standards, it is handled by the RivComet browser application. Thus at any stage of input, an XML file exists of values entered.
Previous Previous Table of Contents
Validate module
When data entry is complete, the user clicks on a button to 'submit' the data. In fact, this fires the validation process, which if successful will populate the XML message file with the data, or if values fail the validation process, revise the form to show the values entered and error messages. The process is as follows:
Previous Previous Table of Contents
Usage scenario
A typical usage scenario might be as follows:
Previous Previous Table of Contents
Conclusions
During the course of the development of the application, a number of techniques and architectures were used which contributed to the objective of constructing a standards-based, maintainable, generic and re-usable deliverable. Key amongst these were:
Previous Previous Table of Contents
Acknowledgements
Thanks are due to the members of the ISIS European XML/EDI pilot project for their contributions to the development of this application.
Previous Previous Table of Contents