| An Introduction to VML | Table of contents | Indexes | UIML: An XML Language for Building Device-Independent User Interfaces | |||
Using XML in a generic model of mediators |
| Yigang Xu |
| PhD student |
| Medical Informatics Department
Broussais University Hospital 96, rue Didot Paris 75014 France Phone: 33-1-43959166 Fax: 33-1-43959209 Email: xu@hbroussais.fr |
Biographical notice: |
France ![]() Medical Informatics Department ![]() Paris ![]() Sauquet, Dominique |
Yigang Xu is now a PhD student in Medical Informatics in the University of Paris VI. She has worked in the Medical Informatics Department of Broussais University Hospital (MID) in Paris since 1996. Her research interests are mainly on the middleware technology, on distributed systems and on data interchange. Her current activities mainly relate to the SynEx project. |
| Dominique Sauquet |
| Research Engineer, PhD |
| Medical Informatics Department
Broussais University Hospital 96, rue Didot Paris 75014 France Phone: 33-1-43959166 Fax: 33-1-43959209 Email: sauquet@hbroussais.fr |
Biographical notice: |
France ![]() Medical Informatics Department ![]() Paris ![]() Zapletal, Eric |
Dominique Sauquet has been responsible for software development in the MID of Broussais University Hospital for more than 15 years. Her research interests are mainly on the object-oriented approaches, middleware, Web technology, distributed systems and software re-usability. She was the leader of the development of LIED, a temporal database system, and the author of the HELIOS Unification BUS. She has been involved into several European projects: HELIOS, Synapses, SynEx, HANSA. |
| Eric Zapletal |
| Research Engineer |
| Medical Informatics Department
Broussais University Hospital 96, rue Didot Paris 75014 France Phone: 33-1-43959166 Fax: 33-1-43959209 Email: zapletal@hbroussais.fr |
Biographical notice: |
Degoulet, Pr. Patrice France ![]() Medical Informatics Department ![]() Paris ![]() |
Eric Zapletal worked at the MID of Broussais University Hospital as a software developer in the European projects AIM-HELIOS and ESSI-NOMAD. He was involved in the development of Graphical User Interface tools and of middleware solutions. He is now in charge of the Laboratory, Radiology and Pharmacy Information Systems of the Georges Pompidou University Hospital (Paris). |
| Pr. Patrice Degoulet |
| Head of department, MD, PhD |
| Medical Informatics Department
Broussais University Hospital 96, rue Didot Paris 75014 France Phone: 33-1-43959166 Fax: 33-1-43959209 Email: degoulet@hbroussais.fr |
Biographical notice: |
ABSTRACT: |
This paper describes the modelling and implementation aspects of our study and shows how XML has enhanced the flexibility of the Mediator Service. |
| Distributed Information Systems Integration Legacy Systems Mediator Middleware ![]() interoperability ![]() |
Introduction |
Moreover, the information used by these distributed systems are represented differently: |
The problem facing the distributed health information systems developers is not only based on the syntactic heterogeneity but also concerns the difficulty of semantics integration. Different levels of mismatches must then be considered. They concern: data model and structural conflicts, descriptive conflicts, semantic conflicts. It is why, to ease the construction of the SynEx integration platform, a mechanism which manages the various connections and exchanges of information, taking heterogeneity into account, is greatly required. |
Previous projects include HELIOS with its the "Medical Connection Services" , and TSIMMIS with its "Wrapper" have done a lot of effort in this area. Now we propose the Mediator Service Component to offer a flexible and extensible solution for these problems by taking into account the syntactic and semantic aspects of an exchange. It uses a generic model of mediators to create, through specialisation, specific mediators for practical uses. XML has been applied to enhance the genericity of the basic model and to facilitate the specialisation from this model. |
This paper introduces first the background of our work on the Mediator Service Component. After a summary of the design and development strategy of this component, it presents how the emerging XML technology has been applied to enhance the flexibility and the genericity of this component. At the end of this paper, the major positive and negative points of this work are discussed. Several improvements are envisaged as well. |
Background |
Both in hospitals and in primary care, healthcare information is electronically collected within distributed sites and patient care involves the sharing of responsibility between professionals working in different departments and sometimes even on different sites. Many projects have developed software systems for electronic patient records. However, they cannot be easily integrated to provide the physician a federated and shared view of the distributed health records. |
The SynEx project addresses issues inherent to multimedia patient records distributed across large enterprise-wide networks. It brings together the knowledge and use of appropriate technologies from GALEN (terminology server) , , I4C (integrated platform for cardiology) , the Synapses Federated Healthcare Record server or FHCR , and TeleNurse for nursing care. It is conformant to the CEN/TC 251 European pre-standards prENV12967-1 or HISA (Healthcare Information System Architecture) and to prENV 12265 or Healthcare Record Architecture. The basic SynEx integration platform is represented by the DHE (Distributed Healthcare Environment) , a middleware implementation of HISA . Complex services, such as the FHCR module or the Mediator Service, complements this platform. Finally, SynEx aims to provide access to Hospital Information Services, to remote sources of medical data and to medical knowledge, in a seamless way, hiding the distribution aspects and the heterogeneity of systems. |
To bring the interoperability among all the components and medical information systems, the SynEx integration platform implies great needs for communication services . The Mediator Service is an application component of the integration platform which offers these services and aims to manage the various connections and exchanges of information in a flexible and extensible manner. |
The "Mediator Service" component |
The Mediator Service Component is a software component considered as the "glue" to integrate the various legacy systems and to hide their heterogeneity. It has been designed to connect any pair of systems (aSource and aTarget ) systems with different data structures such as legacy systems, application components, client systems, ... |
This service provides a methodology in order to ease the development of specific mediators for different connections, to reduce the development cost and to foster re-use. Then the Mediator Service implements a generic model that can be specialised, thanks to the Object Oriented paradigm, to create specific mediators for practical cases (i.e. a mediator adapted to a given Source and a given Target). It consists in: |
The generic model |
|
The general model of exchange between two systems
|
|||||||
As shown on FigureXU-005 , the main functions of aMediator are: |
|
The model of a generic mediator should be applied to different application contexts. From a programmer's point of view, the main task should be to develop two interfaces: theSource Interface and theTarget Interface . A Source Interface can be used for different Target systems and symmetrically a Target Interface will be easily connected with various Source applications. The development of an interface is done by specialising the abstract class ApplicationInterface in the C++ library of the Mediator Service. The object oriented approach allows this model to be generic and easily extended. |
FigureXU-006 illustrates a Mediator from an implementation point of view. |
|
The implementation view of the generic model of the mediator
|
|||||||
TheSource Interface andTarget Interface take in charge the communication protocols with both the Source and Target systems. It is up to the Source Interface to decode the coded information (by associating a specific decode process) if the Source information is a coded message and to obtain the data structure, the concepts and the data of the Source system. The Target Interface may need to restructure the adapted information in a way comprehensive for the Target. |
To manage syntactic and semantic heterogeneity between Source and Target representations of information, aMapping process which changes the Source information into a Target compliant one (data structure, concepts, data format) is necessary.Intermediate Representation andAdapter are used to realise this. TheIntermediate Representation models the information exchanged between a Source and a Target system as a flattened list of Attribute-Values.Adapters , which contain aMapper (for concepts and data structures) and aConverter (for data formats), are used to transform information from a Source Representation into the Intermediate Representation and then from the Intermediate Representation into a Target Representation. This transformation of representation concerns: |
So, a piece of information, when received by a mediator, is first decoded in theSource Interface , then adapted by theAdapter integrated in the Source Interface into anIntermediate Representation with intermediate concepts, structures and data formats. The information contained in the Intermediate Representation is then managed by the Target Interface; it is adapted by theAdapter integrated in the Target Interface into the Target representation; finally, theTarget Interface sends the adapted information to the Target system. |
The specialisation of the generic model may cause quite a lot of work for a programmer who must specialise both the Source and Target interfaces. We now show how XML technology can sensibly reduce the work, by making the restructuring process in the Target Interface independent of the Target system. |
The XML solution to enhance the flexibility of the "Mediator Service" |
Our ambition is to provide a generic Mediator model which reaches the maximum independence and which will minimize development. The starting point of this evolution is the improvement of the Target Interface. The emerging technology of XML is applied to find out a possible way. |
XML has been used today not only as a document structure format, but in a wider communication domain as an interchange format and as a powerful data structure descriptor to ease the conversion between data structures of different systems. |
In the Mediator Service, a specialised Target Interface using the XML technology is ready to use for any XML compliant Target system. A class XMLInterface, derived from the class ApplicationInterface, is provided. An XML Messages Generator is integrated in this interface (FigureXU-008 ). It is an independent Java module based on the Microsoft msxml parser . The generator contains methods to inform the mediator about the data structure descriptions of the Target systems. It is done through a XML DTD (D ocumentT ypeD efinition ) which is external to the program, making the mediator independent of the target system. So when the target system is XML compliant, the programmer can use directly the XMLInterface as aTarget Interface and has only to implement aSource Interface . |
|
The XML Messages Generator
|
|||||||
The XML Messages Generator requires 3 inputs: |
|
When theIntermediate Representation is passed to the XMLInterface, theXML Messages Generator analyses the DTD, generates an image of the data model of the Target system. It then fills this image with the data represented in theIntermediate Representation by using theMapping Information . Finally, the result, that contains the Source data with the Target concepts restructured in the Target data structure, is transformed into an XML message. The XML message can then be sent to the Target system by simply using the HTTP protocol. Since XML is self-descriptive, an XML compliant Target system can easily construct its data instances by using the information contained in the message. |
Thus the Mediator Service becomes more generic and independent of the XML compliant Target systems. It then can be considered as an "Intelligent and Configurable Interface" between two connected systems. |
Example |
We illustrate here the benefits of XML in the Mediator Service by the following example. TheSource system is a patient identity server which delivers EDIFACT messages into X400 mailboxes. The Source interface specialisation encapsulates the X400- API and the decoding functions. TheTarget system is a Synapses FHCR server, module of SynEx, which implements an object model, compatible with the PrEnv 12265, in order to federate the different sources of data coming from legacy systems such as the ID server. A XML compliant version of the Target has been prototyped in Broussais in order to create the relevant objects at the reception of an XML message. Then, in our mediator, the Target interface is the ready-to-use XML specialisation: the class XMLInterface. |
Starting from the following EDIFACT message, coming from the ID server: |
|
An EDIFACT message from the Source system
|
||||||
The Mediator uses (1) theIntermediate Representation which is the output of the Source Interface after the EDIFACT decode process, (2) theDTD (SynOM.dtd), which is an image of the Target data model (RecordFolder ,FolderRic ,ComRic ,RecordItem , ... are the Complex and Simple elements of the model): |
|
The DTD containing the data structure of the Target system
|
||||||
and (3) theMapping information , stored in a relational database, where concepts of the Source are mapped to concepts of the Target. |
The output of the Mediator is the following XML message which restructures the Source data by the Target structure: |
|
An XML message generated by the mediator
|
||||||
This message has triggered the creation of the relevant objects in the FHCR server. |
Conclusion and perspectives |
The Mediator Service is the component on the SynEx integration platform which takes in charge the various connections among different systems. It does not prevent a developer from writing code, but it provides a methodology to ease software development and to foster re-use. |
For a federating model such as the FHCR for which a specific Application Interface exists, the Mediator technique allows to integrate many different legacy systems without knowing in advance their API s. The FHCR server will not change when a new source of data has to be integrated. |
In the current implementation of the mediator, the XML approach is applied as a technology that could enhanced the flexibility and genericity of the Mediator Service component and shorten the development process. For XML compliant Target systems the ready-to-use specialisation is available. |
By using XML technology, the syntactic and structural conflicts during integration of distributed systems has been efficiently managed. In the Mediator Service, XML DTDs are used as descriptors and convertors of data structures. Using them to represent data models of different systems provides a way to understand the data structure of a system without coding it in the program and thus allows to build a more generic Mediator model. XML is also proposed in the Mediator Service as an EDI format, using the possibility to represent both data structure and data. This capacity has been exploited as much as possible to easily address XML compliant Target systems. In the Mediator Service, mapping and conversion processes are used to manage the semantic mismatches. Although the semantic problem is not resolved ideally in the current version, the mediator separates it from the syntactic aspects (coding and decoding process) to ease a later integration of other technologies to improve semantic management. DTD and Mapping information are external to the Mediator and then addressing a new Target system can be done without changing the code or even without recompiling the mediators. |
However, the limitations of the current implementation of the Mediator Service should be pointed out. The structures of the Intermediate Representation (a list of attribute - value) and of the mapping information are not enough efficient or flexible and may not be suitable for more complex cases. The semantic conflict has not been solved efficiently in the current version of the Mediator Service. It is treated by using several mapping and conversion processes. The "manual" creation of the mapping information may be a painful process. |
Perspectives of development have been planned and the possible improvements in the near future are considered. To improve the semantic management, we need to find out if the combination of the XML mechanism and of other terminology services provides a better solution. A semantic network or a generic terminology server such as GALEN could be a possible choice. The structure of the Intermediate Representation could be improved by adopting the OEM (Object Exchange Model) of the TSIMMIS project or the meta-model used in the Medical Connection Service of the HELIOS project. Some useful tools such as audit trail and monitoring tools, automation tools, ... are required. Finally, A Java version of the Mediator Service would be useful to ease the connection of Java based components. |
Acknowledgments |
The authors would like to thank all the members of the SynEx Consortium for their contribution to this research. The financial support of the European Commission is also gratefully acknowledged. |
|
Bibliography
|
| An Introduction to VML | Table of contents | Indexes | UIML: An XML Language for Building Device-Independent User Interfaces | |||