|
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.
Details:
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.
|