Successfulness of this research project

The successfulness of this research project is determined by comparing the outcome with the original objectives

Investigating the state of the art

Investigating the state of the art of XML and related technologies, as well as related vocabularies and related developments like EDI (Electronic Data Interchange) and PDT (Product Data Technology).

My research into XML and related technologies has been successful. Much accurate information has been gathered. Most of this information has been used for eConstruct's first publication. The related vocabularies have not received as much attention, only so much as needed to gain insight in their working. The LexiCon received more attention, it being the basis for my model. The related developments have been merely glanced at, except ebXML, which provided me with lots of input for the prototype. I also attended part of an ebXML meeting in Brussels.

The design and implementation of a vocabulary

The design and implementation of a vocabulary, separate from eConstruct's work at making eConstruct's vocabulary (named bcXML, Building and Construction XML). My task is to make a simple prototype vocabulary, allowing the mapping of one language into another. Required input was the LexiCon meta-model (the section called LexiCon in Chapter 5). The model has to deal with prefab concrete elements, a field eConstruct decided to concentrate upon for the time being, mostly because the Greek partner in the project is a supplier of prefab concrete elements.

The vocabulary and surrounding techniques have been mostly based upon the LexiCon meta-model and the ebXML way of working. The model turned out to work real fine, while the idea of using a simplified view for e.g. catalogs also proved usable. The amount of elements I used to fill the model is a bit low, though. Especially the functions have not been filled in and only a marginal amount of quantifications. But for a prototype it was enough to prove that the concept works. Mapping one language into another worked fine. It should be noted that only simple translation was implemented, without any difficult mapping of not-completely-similar concepts.

Prototype implementation

Testing of the vocabulary by means of a simple application. A vocabulary by itself is not enough to prove that the concept can work. A prototype has to be designed in order to test it. eConstruct concentrates it's effort at first on the buying/selling phase, because that is a regular, known form of e-commerce and it will be relatively easy to gain widespread acceptance of that part of eConstruct's functionality (thereby paving the way for wide-spread usage of eConstruct as a whole). To preserve the link with eConstruct, the prototype will concentrate on the buying and selling phase also.

The prototype implementation is a collection of well-crafted XSL/T stylesheets providing useful basic functionality and a handful of hacked-together python scripts to tie it all together. Part of those scripts are used as CGI programs to visualise either the filled vocabulary or a catalog. Those web representations provided the desired GEN-like interface, but without built-in search functionality. Almost all python scripts were happily translating vocabularies into views and vice versa and were translating back and forth between the Dutch and the English language. The multi-lingual capabilities and the conversion from a vocabulary to a view are by far the brightest gems of this prototype.

The final test to use the context mechanism and business processes to get a question-answer session rolling worked out, but not (to my taste) in a very well-crafted way. It did prove, however, that the context mechanism works, that business processes can be used to roll along a transaction solely based upon the data in the original request. The action undertaken upon receiving of the request is the best indicator for the possibilities of the entire system: an English request for two specific built objects with a span of 5 meters returns the four matching elements from both an English and a Dutch catalog. To top it off, the resulting answer is formatted for printing using a simple XSL/FO stylesheet.