Technische Übersicht

Dieses Kapitel bringt eine technische Übersicht über die einzelnen DLE Komponenten und ihre Bedeutung.

Die DLE Session

Kernpunkt der DLE Funktionalität ist eine DLE Session. Diese stellt die eigentliche Verbindung zwischen der DLE und einer Anwendung dar. Innerhalb einer JVM (JAVA VIRTUAL MACHINE) können mehrere voneinander unabhängige Sessions parallel existieren. Üblicherweise ist eine Session jedoch benutzerbezogen und, wie der Name schon impliziert, einer Benutzersitzung zugeordnet.

Hat ein Benutzer sich an einer Anwendung angemeldet, wird normalerweise in der Anwendung eine neue DLE Session erstellt, die so lange erhalten bleibt, bis der Anwender sich wieder von der Anwendung abmeldet.
Eine DLE Session wird jedoch nicht direkt erstellt, sondern indirekt über eine der API (APPLICATION PROGRAMMERS INTERFACE) Schnittstellen. Die DLE bietet verschiedene solcher APIs an. Neben einer direkten Java API, die die DLE innerhalb der lokalen JVM ausführt, existieren auch Remote Schnittstellen, die eine Verbindung zu einer serverbasierten DLE ermöglichen. Dort wird die DLE nicht in der lokalen JVM ausgeführt, sondern es existiert nur eine Kommunikationsschnittstelle zu einer auf einem Server laufenden DLE Session. Auch hier wird normalerweise diese Verbindung aufgebaut, wenn ein Anwender sich an einer Anwendung anmeldet und bleibt bestehen, bis der Anwender sich abmeldet.
Um eine optimale Ausführungsgeschwindigkeit und Resourcenausnutzung zu erreichen sollte es vermieden werden, für jede Logikausführung durch die DLE eine neue DLE Session zu erstellen, da sonst alle bestehenden Informationen wie Paketinformationen, Übersetzungen, Dienste und Datenbankverbindungen verloren gehen und neu erstellt werden müssen.
Die DLE selber definiert keine eigenen Anforderungen an die Ausführungsumgebung. Sie kann sowohl auf herkömmlichen Java Clients, als auch auf Web- EJB- oder anderen Serverarten laufen, die die Ausführung von Java Programmen erlauben.

DLE Pakete

In einem Paket werden alle notwendigen Informationen für den Zugriff der DLE auf externe Informationssysteme zusammengefaßt. Zu den Informationen zählen:

  • Kommandodefinitionen
  • Datenstrukturen (Metadaten)
  • Variablendefinitionen
  • Übersetzungen
  • Datenzugriffsinformationen

Eine DLE Session kann mehrere Pakete gleichzeitig benutzen und so den gleichzeitigen Zugang zu verschiedenen Informationssystem ermöglichen. Dadurch wird die DLE zu einer idealen Integrationsplattform, die die dynamische Kommunikation zwischen verschiedenen Informationssystemen ermöglicht.

Durch einen DLE Aufruf kann eine Anwendung so dynamisch auf Daten von verschiedenen Informationssystemen zugreifen, ohne deren Strukturen oder Funktionen direkt zu kennen.
Neue Pakete können einfach selber definiert werden, dabei muß ein Paket nicht ein komplettes Informationssystem abbilden. Es reicht, nur die benötigten Informationen zu definieren. Auch können Pakete definiert werden, die nur Kommandos oder nur Datendefinitionen enthalten, um so den Zugriff zu strukturieren.
Die DLE Pakete bieten so einen flexiblen und einfachen Plugin Mechanismus für den Informationszugriff innerhalb der DLE.

DLE Dienste

Die DLE Session verwaltet eine konfigurierbare Anzahl von Diensten, die für verschiedene Aufgaben zuständig sind. Dabei verwendet die DLE Session ein Factory Pattern, um die einzelnen Dienste zu laden.

In der DLE Konfiguration der Session wird definiert, mit welcher Java Klasse der Dienst implementiert ist. Die Session verwendet dann diese Klasse, um die in einem Serviceinterface definierten Funktionen durchzuführen.

Zu den Diensten, die die DLE durch diesen Mechanismus verwendet zählen:

  • Metadatendienst, für die Definition von Datenstrukturen
  • Paketdienst für die Definition von Kommandos
  • Lokalisierungsdienst für die Mehrsprachigkeit
  • Datenlokalisierungsdienste für die Übersetzung von Dateninhalten
  • Dialogdienst für die Darstellung von Meldungen und Dialogen
  • Nachschlagedienst für die Verwendung von Nachschlagetabellen
  • Ausführungsdienst für die Ausführung von Logik
  • JNDI Dienste für die Benutzung von

Alle diese Dienste werden dynamisch geladen und können durch spezielle Implementationen ausgetauscht werden. Die DLE Dienste sind so auch mit einem Plugin Konzept in der DLE realisiert.