This chapter introduces model-driven integration in complex information systems by giving two practical examples. It relies on the experiences the authors have made in two different research projects at the public utilities domain. The chapter starts with a short introduction of the general problem domain and it gives detailed background information about the current state of the art in model-driven integration. Afterwards, the two research projects are introduced. The purpose of the first project (MINT) was to provide an integration approach allowing interoperability among several different legacy systems. Hence, the project itself was only acting as a “bridge” between the systems. The second project (DER) was built from scratch and got the challenge of integrating several existing third party systems into the newly designed system. In this project, the main system is a core element and only needed to integrate existing legacy systems for specific tasks.
2. Background On The Techniques Used
Integration of software systems may take place on different levels. The OMG defines CIM (Computation Independent Model), PIM (Platform Independent Model), PSM (Platform Specific Model) and code levels. Those are defined and described in detail earlier in this book. We will therefore focus on putting those levels into the domain of our specific problem of integrating information systems. Considering this, the following figure visualizes the current state of the art using CIM, PIM and PSM as different stages of abstraction.
The figure shows two different information systems with their levels of abstraction. Within one system, the OMG defines the following levels that can be distinguished when modelling, creating and refactoring systems in the Model-Driven Software Development (MDSD) approach:
CIM which is an abstract description of the system, mostly created by domain experts.
PIM that defines the “What and How” of an information system independently from the actual technology.
PSM that describes the “What and How” in a technologic dependent model and
Code Level that contains the actual source code (e.g. C#, Oracle SQL, etc.) being the most technology dependent level of this approach.