Mapping zwischen konzeptionellem und objektorientiertem Teilmodell
Innovator löst das Spannungsverhältnis von Anwendungssicht und Datenhaltung durch einen Abbildungs- und Überführungsmechanismus auf, der die Strukturen dieser Daten- und Objektteilmodelle ineinander umwandelt.
Motivation für das Mapping zwischen ER- und UML-Modell
Sie können das Mapping zwischen einem ER- und einem UML-Modell und umgekehrt nutzen, wenn die dazu notwendigen Voraussetzungen konfiguriert wurden. Änderungen in der Modellkonfiguration erfordern ggf. eine Pflege dieser Mapping-Konfiguration.
Unter ER- und UML-Modell werden im Folgenden die entsprechenden Teilmodelle desselben Innovator-Modells verstanden.
Objektorientierte Modellierung ist eine grundlegende Technik in der Anwendungsentwicklung. Für die Verwaltung von unternehmensrelevanten Daten steht in der Regel jedoch nicht ein objektorientiertes, sondern ein relationales Datenbank-Management-System (RDBMS) zur Verfügung.
Die Struktur der Daten orientiert sich dabei nicht an anwendungsspezifischen Bedürfnissen, sondern am Ziel eines unternehmensweiten Datenmodells, das alle für das Unternehmen relevanten Daten und ihre Beziehungen untereinander enthält. Anwendungen müssen auf diesem Datenmodell aufsetzen und es modellkonform erweitern.
Die Verbindungen zwischen Elementen des Daten- und Objektmodells werden in Referenzen hinterlegt, über ein bidirektionales Wechseln zwischen den Teilmodellen jederzeit möglich ist.
Die Konfigurationen werden als XML-Dateien zur Verfügung gestellt (\$INODIR\java\M2M_OOER\configuration\Innovator.Model.Configuration\Mapping\Mapping.ER2OO bzw. ...\MappingOO2ER).
Sie können die Konfigurationsbeschreibungen OO2ER.Forward und OO2ER.Reverse Ihren speziellen Bedürfnissen anpassen. Dazu benötigen Sie Erfahrung mit den Meta-Modellelementen und der Modellkonfiguration in Innovator (speziell Stereotype, Schablonen, Inhaltskonfiguration).
Der Import durch den Konfigurationslader wertet die Konfigurationsbeschreibungen aus und erzeugt im Modell die entsprechende, modellkonforme Konfiguration sowie erforderliche Modellelemente.
Hinweis
Bei veränderter Modellkonfiguration (neue Stereotype) sollten Sie die Konfigurationsbeschreibungen erneut laden, um die Konfigurationsvoraussetzungen für die Referenzen zu pflegen.
Nach der Konfiguration steht Ihnen das Mapping unter Extras>Modell abbilden>Mapping zur Verfügung.
ER-OO-Mapping
Abbildungsmöglichkeiten
Das Mapping unterstützt die folgenden Abbildungsmöglichkeiten vom konzeptionellen Modell ins UML-Modell:
- Entitäten nach Klassen
- Entitätsattribute nach Attributen von Klassen
- Semantische Datentypen nach Typklassen
- Beziehungen nach Assoziationen, Aggregationen oder Kompositionen
- Kategorien nach Generalisierungen
- Duplikation von ER-Diagrammen nach Klassendiagrammen

Voraussetzungen
Voraussetzung für das Einrichten ist die Konfiguration des Konfigurationsladers als Engineering-Aktion, die in neueren Innovator-Profilen enthalten ist, in älteren Profilen eventuell noch nachgezogen werden muss.
Der Aufruf des Konfigurationsladers sollte stets als Benutzer im temporär aktivierten Modelladministrator-Modus erfolgen, da andernfalls die Verarbeitung der Rollenrechte nicht korrekt erfolgt, was unvollständige Berechtigungen von Anlegeschablonen zur Folge hat und die erfolgreiche Ausführung des konfigurierten Mappings verhindern kann.
Zusammenhang
Das Nachladen der Konfiguration ist in allen ER-Modellen durchzuführen, aus denen Abbildungen in UML-Modelle erfolgen sollen.
Dabei wird sowohl das ER-OO-Mapping selbst konfiguriert, so dass es im Mapping-Dialog aufgeführt wird, als auch die Modellkonfiguration des bestehenden Modells so erweitert, dass das Mapping sowohl mit Referenz-Verbindungen als auch mit Dependency-Verbindungen verwendet werden kann.
In einem Innovator-Modell kann sowohl ein Systemmodell für ein ER-Teilmodell als auch ein Systemmodell für ein UML-Teilmodell vorhanden sein.
Das Systemmodell, das das ER-Modell beinhaltet, wird nachfolgend als ER-Modell bezeichnet.
Das Systemmodell, das das UML-Modell beinhaltet, wird nachfolgend als UML-Modell bezeichnet.
Um mehrere Systemmodelle selektieren zu können, selektieren Sie in der Modellstruktur die Modellwurzel und öffnen Sie die Modellelementliste.
So gehen Sie vor
-
Melden Sie sich im ER-Modell als Benutzer mit Modelladministratorrechten an.
-
Selektieren Sie das Systemmodell des ER-Modellteils, in den Sie eine Konfiguration importieren möchten. Dies ist das Systemmodell, unterhalb dessen sich die ER-Elemente befinden, die mittels ER-OO-Mapping in einem UML-Modell als UML-Elemente abgebildet werden sollen.
Selektieren Sie zusätzlich das Systemmodell des UML-Modellteils.
-
Starten Sie im Untermenü Extras>Engineering-Aktionen>Kommandos die Engineering-Aktion Konfigurationslader.
Ein Dialog mit der Meldung "Engineering-Aktion 'Configuration Loader' kann an dieser Stelle abgebrochen werden." erscheint. Anschließend erscheint der Java-Dialog Wähle Konfigurationen. Die verfügbaren Konfigurationen werden angezeigt.
-
Selektieren Sie im Dialog die Modellkonfiguration EROO.Mapping:Menuepunkt im Mapping Dialog und die Modellkonfiguration EROO.Mapping:Modellkonfiguration fuer DATA-Modellteil.
-
Bestätigen Sie die Auswahl mit OK.
Der Java-Dialog wird geschlossen und die Konfiguration durchgeführt. Anschließend wird der Meldungsdialog geschlossen.
-
Aktualisieren Sie nach dem Beenden der Engineering-Aktion den Modellinhalt bei selektierter Modellwurzel mit Ansicht>Synchronisieren>Inhalt neu laden (F5).
In der Modellstruktur des relevanten Systemmodells erscheinen zusätzliche Modellelemente, falls sie nicht bereits zuvor vorhanden waren: das Systemmodell systemModelManagement und untergeordnete Pakete für die Referenzinformationen.
Unter Extras>Modell abbilden>Mapping steht ein weiteres Kommando zur Verfügung.
OO-ER-Mapping
Abbildungsmöglichkeiten
Das Mapping unterstützt die folgenden Abbildungsmöglichkeiten vom objektorientierten UML-Modell ins konzeptionelle Modell:
- Klassen nach Entitäten
- Attribute von Klassen nach Entitätsattributen
- Assoziationen, Aggregationen oder Kompositionen nach Beziehungen
- Generalisierungen nach Kategorien
- Attributtypen nach semantischen Datentypen
- Duplikation von Klassendiagrammen nach Entitätsdiagrammen

Voraussetzungen
Voraussetzung für das Einrichten ist die Konfiguration des Konfigurationsladers als Engineering-Aktion, die in neueren Innovator-Profilen enthalten ist, in älteren Profilen eventuell noch nachgezogen werden muss.
Der Aufruf des Konfigurationsladers sollte stets als Benutzer im temporär aktivierten Modelladministrator-Modus erfolgen, da andernfalls die Verarbeitung der Rollenrechte nicht korrekt erfolgt, was unvollständige Berechtigungen von Anlegeschablonen zur Folge hat und die erfolgreiche Ausführung des konfigurierten Mappings verhindern kann.
Zusammenhang
Das Nachladen der Konfiguration ist in allen UML-Modellen durchzuführen, aus denen Abbildungen in ER-Modelle erfolgen sollen.
Dabei wird sowohl das OO-ER-Mapping selbst konfiguriert, so dass es im Mapping-Dialog aufgeführt wird, als auch die Modellkonfiguration des bestehenden Modells so erweitert, dass das Mapping sowohl mit Referenz-Verbindungen als auch mit Dependency-Verbindungen verwendet werden kann.
In einem Innovator-Modell kann sowohl ein Systemmodell für ein UML-Teilmodell als auch ein Systemmodell für ein ER-Teilmodell vorhanden sein.
Das Systemmodell, das das UML-Modell beinhaltet, wird nachfolgend als UML-Modell bezeichnet.
Das Systemmodell, das das ER-Modell beinhaltet, wird nachfolgend als ER-Modell bezeichnet.
Um mehrere Systemmodelle selektieren zu können, selektieren Sie in der Modellstruktur die Modellwurzel und öffnen Sie die Modellelementliste.
So gehen Sie vor
-
Melden Sie sich im UML-Modell als Benutzer mit Modelladministratorrechten an.
-
Selektieren Sie das Systemmodell des UML-Modellteils, in den Sie eine Konfiguration importieren möchten. Dies ist das Systemmodell, unterhalb dessen sich die UML-Elemente befinden, die mittels OO-ER-Mapping in einem ER-Modell als ER-Elemente abgebildet werden sollen.
Selektieren Sie zusätzlich das Systemmodell des ER-Modellteils.
-
Starten Sie im Untermenü Extras>Engineering-Aktionen>Kommandos die Engineering-Aktion Konfigurationslader.
Ein Dialog mit der Meldung "Engineering-Aktion 'Configuration Loader' kann an dieser Stelle abgebrochen werden." erscheint. Anschließend erscheint der Java-Dialog Wähle Konfigurationen. Die verfügbaren Konfigurationen werden angezeigt.
-
Selektieren Sie im Dialog die Modellkonfiguration OOER.Mapping:Menuepunkt im Mapping Dialog und die Modellkonfiguration OOER.Mapping:Modellkonfiguration fuer UML-Modellteil.
-
Bestätigen Sie die Auswahl mit OK.
Der Java-Dialog wird geschlossen und die Konfiguration durchgeführt. Anschließend wird der Meldungsdialog geschlossen.
-
Aktualisieren Sie nach dem Beenden der Engineering-Aktion den Modellinhalt bei selektierter Modellwurzel mit Ansicht>Synchronisieren>Inhalt neu laden (F5).
In der Modellstruktur des relevanten Systemmodells erscheinen zusätzliche Modellelemente, falls sie nicht bereits zuvor vorhanden waren, das systemModelManagement mit Paketen für die Referenzinformationen. Unter Extras>Modell abbilden>Mapping steht ein weiteres Kommando zur Verfügung.
Abbilden der Elemente im Editor Mapping
Beim Abbilden der Elemente gehen Sie so vor, wie es für das Mapping zwischen Datenbankschema und konzeptionellem Modell beschrieben ist.