The demonstrative software

(Report on Moda-ML results 2003, not updated to the following outcomes)

On the basis of the project plans and of the feed-back from the pilot users and the Focus Group participants it has been decided to develop two SW modules need to be differently targeted for the aim of the project:

  • the Message Handler Module, is totally independent from the structure of each XML message and is a general tool for XML message sending and receiving (functions that are quite difficult to implement for edp typical personnel) implementing ebXML Transport specifications. It is a real pre-competitive prototype with features of robustness and error handling of good level;
  • the Message Creation Module, is a software strictly depending on the content of each XML message, is designed as a light demonstrative tool, supporting only four messages of the order cycle with the aim to facilitate the first impact and trials of the industry.

A second aspect has been the development of a library to implement some security aspects of the ebXML compliant message exchanges; the aim is to improve the trustability of the message transport system and produced a first version of a demonstrative module that will be integrated in MSH in the next releases.

The main results:

  • Message Service Handler has been developed and distributed to pilot users and focus group participants; a "setup" program has been prepared to facilitate the installation; it is an application that exchange messages made and formatted according to the rules defined in MODA-ML framework in a secure, reliable way and as automated as possible.
  • Message Content Manager; has been developed and distributed to pilot users and focus group participants; in the demo environment of MODA-ML to send a message the information flow starts in MCM, passes through MSH and then by the mail server.
  • Moda-ML Security library is the module dedicated to the security aspects of the message exchange and, in the present version, implements the XML Signature.


Message Service Handler is an application with a GUI very similar to a usual email client; unlike this kind of programs, MSH performs some further actions: Sending a message:

  • A continuous loop checks a specific folder to view if any message is ready to be sent
  • Checks if the message is valid and well formed against the corresponding xml schema.
  • Stores the message in the database disassembling it in its parts.
  • Estabilishes a connection with e-mail server and finally sends the message. Receiving a message:
  • Estabilishes a connection with e-mail server.
  • Retreives a list of new messages and downloads them one by one.
  • For each message downloaded check if the message is valid an well formed against the corresponding xml schema.
  • Handles error conditions.
  • Automatically sends comfirmation (ack) that the message has been received (if requested)
  • Stores the message in the database disassembling it in its parts.

As a result, the MSH now can be viewed as a self standing application, that runs at server-end in interactive or batch mode, and that requires an ODBC database to store the history of the data exchange but that is independent from the structure of the XML documents; so it can be used for every XML message to be sent following the ebXML Transport specifications and that can be viewed as a 'communication' front-end for the Company Information Systems. The tool is ready to be integrated with a security layer and has an error handling layer evolved enough to detect the most recurring error of message encoding and communication.

The MSH is provided with the corresponding setup software and has been tested in several Microsoft Windows platforms (98, NT, 2000, XP), Italian and English version.

The MCM module architecture is very simple: a graphical user interface gets the input data from the user and stores them into the database. The DB handler block controls all the operations performed on data and can also get some database stored data and export them into an XML message using the "Message" block. This block can communicate with MSH so MSH can get the new message and send it as soon as possible.

MCM and MSH can exchange data using a shared folder so MCM and MSH must reside on the same pc or the folder must be shared over a network.

MCM can create a file into a shared folder, MSH knows and can reach that folder, reads the messages and sends them using a mail server.

The most important MCM block is the DB handler, which reads and writes data into the database; this block works on some other Microsoft data access blocks that are DAO, OLE DB and ODBC. These blocks are very useful to create abstract layers on the DBMS so the database management can be simpler. The system could use every target database type and needs only the ODBC driver for that database.

Initially it was planned to offer to industry the access directly to the intermediate database of MCM but the feedbacks from the pilot users and the arising complexity of that database (strongly influenced by small variations of each XML document) suggested to avoid to propose the ODBC access to the database, looking for other tools to link the legacy systems to the XML document data representation.

In the MODAML Security library the present version implements the XML Signature protocol to supply authentication to the XML documents, while XML Encryption is foreseen for the next versions.

The module is thought as a dynamic library (.dll) that, when linked to the MSH module, adds the possibility to sign with a digital certificate (X509) the document in order to guarantee that the content has been sent from the owner of the certificate and without any change.

The integration of the module in the MSH module has been tested in laboratory but it has not been included in the version distributed to the pilot users until today to proceed with caution.

The original software of Moda-ML is no more available on-line. An evolution of the message handler tool (MSH2) has been developed successively and is available for free here.

A useful excel based tool to collect and sumarise Moda-ML documents is available here.


Content provided by the Moda-ML initiative (www.moda-ml.org)