Informationsschutz für Engineering-Daten mit Eclipse EMF und CDO

Automotive-Blogger  –  0 Kommentare

Viele Engineering-Werkzeuge basieren inzwischen auf der Tooling-Plattform Eclipse und verwenden für die Implementierung ihrer Datenmodelle das Eclipse Modeling Framework (EMF), um das sich ein umfangreiches Ökosystem an Editoren, Transformatoren und Generatoren gebildet hat.

EMF speichert in der Standard-Konfiguration die Modelle in XML-Dateien im Projektverzeichnis ab. Dieses Vorgehen integriert sich zwar in das Konzept des "Eclipse Workspace", aber in einigen Szenarien sind andere Ansätze erforderlich. So fordern einige Unternehmen in ihren IT-Richtlinien für die Verwaltung unternehmenskritischer Dateien eine 3-Tier-Architektur mit einer Datenbank und einem Autorisierungskonzept zur Persistenz.

Bei Eclipse kümmern sich verschiedene Projekte um alternative Persistenzmechanismen für EMF-Modelle. Eines der bekanntesten ist Eclipse CDO, das als Backend die unterschiedlichsten Datenbanken unterstützt. In den aktuellsten Entwickler-Versionen (CDO 4.3) ist auch das Autorisierungskonzept deutlich erweitert worden, sodass es den unterschiedlichsten Anforderungen genügt.

Über den Security-Manager, der sich beim Start des CDO-Servers konfigurieren lässt, werden beim Zugriff auf das EMF-Modell feingranulare Rechte gemäß eines Rollenkonzepts überprüft. Über ein neues User-Interface können Benutzer, Rollen und Rechte angelegt und zugeordnet werden. Dabei lassen sich Zugriffe sehr detailliert durch logische Ausdrücke modellieren. Das Security-Modell ist konsequenterweise selbst wieder ein EMF-Modell.

Da CDO unter anderem mit der quelloffenen Datenbank H2 zusammenarbeitet, lassen sich einfach die erforderlichen Architekturen aufbauen. Für Entwicklung und lokalen Betrieb ist der Ressourcenbedarf dabei so gering, dass Client und Server nicht nur auf der gleichen Maschine laufen können – da H2 in Java implementiert ist, lässt es sich auch direkt in der gleichen JVM wie die Client-Anwendung starten.

Für echten Informationsschutz wählt man natürlich eine getrennte Hardware-Architektur – die flexible Konfiguration von CDO/H2 vereinfacht jedoch die Entwicklungsarbeit.