Startseite > Technologie >  Datendienste 

LANSA Datendienstschicht – Sicherheit und Service

Ein fundamentaler Gedanke der LANSA Repository basierten Architektur ist es, Anwendungen von den benötigten Datenbanken getrennt zu halten.

In jedem System existieren Regeln, die steuern, wie ein Anwendungsprogramm Daten erzeugt, liest, aktualisiert und löscht. Diese Regeln dienen zur Erhaltung von Datenqualität und -konsistenz, und um die Datenintegrität in einer transaktionalen Mehrbenutzerumgebung sicherzustellen. Werden diese Regeln nicht eingehalten, kann dies Probleme verursachen, die von einem fehlerhaften Report bis hin zu einem totalen Systemausfall reichen.

Von LANSA unabhängige Datendienstschicht

Nicht in die Datenbank und nicht in die Anwendung

Normalerweise werden diese Regeln mittels Stored-Procedures, Feldvalidierungen, Triggern usw. auf Datenbankebene ausgeführt oder werden in den Anwendungsprogrammen unterstützt. Der Vorteil von Regeln auf Datenbankebene ist offensichtlich: Das zentralisierte Modell eliminiert Redundanzen. Die Kehrseite ist, dass jeder RDBMS-Hersteller einen eigenen proprietären Weg geht, um Konzepte wie Trigger und Stored-Procedures zu implementieren, so dass die Ausführung von Regeln auf dieser Ebene Sie an einen spezifischen Hersteller bindet. Sie können diese Art von Abhängigkeit vermeiden, indem Sie die Regeln in die Anwendungsebene verlegen, aber dann muss jedes Programm dieselben Regeln enthalten. Das reduziert nicht nur die Entwicklerproduktivität, sondern erhöht auch den laufenden Pflegeaufwand.

Eine völlig unabhängige Datendienstschicht

LANSA hat eine Datendienstschicht implementiert, die einen Zugriffspunkt auf alle Daten bereitstellt, unabhängig von Datenbanktyp oder Plattform. Spezifische Programme – sogenannte Objekt Access Module - werden aus einem Data Dictionary erzeugt, das im Repository abgelegt ist. Diese OAMs kennen die Datenbankstruktur (Felder und Dateien) und enthalten die Regeln, die die Abläufe, wie Erstellen, Lesen, Ändern und Löschen steuern. Wenn zum Beispiel irgendein Programm irgendwo im Netzwerk mit der Funktion ‘create_New_Employee’ in einer Tabelle ‘comp_Employee’ des HR Systems einen neuen Eintrag anlegen möchte, wird diese Anfrage über das entsprechende OAM geleitet. Zukünftige Änderungen werden nur dieses spezifische OAM auf dem Server ersetzen und keine anderen Programme betreffen. Es ist möglich ein OAM durch eingebaute Eigenschaften noch intelligenter zu machen, wie datenbankunabhängige Trigger oder „intelligente Felder“ (Virtual Fields), die Berechnungen durchführen oder Zeichenketten bearbeiten.

LANSA OAMs erreichbar von jedem Programm auf jeder Plattform

OAMs können von allen Programmen, die auf dem IBM System i Server laufen, genutzt werden, ungeachtet in welcher Sprache sie programmiert sind, z.B. RPG, COBOL, LANSA, Synon, PHP usw. Die iFusion.net Technologie beinhaltet außerdem Middleware, die es mit .NET Framework erstellten Anwendungen erlaubt, auf OAMs zuzugreifen. Das Endergebnis ist, dass alle Ihre Applikationen, ungeachtet ihres Alters oder der verwendeten Technologie, eine allgemeine Datendienstschicht nutzen können, um auf die darunter liegenden Datenbanken zuzugreifen.