Deutsch English

Architektur Datenbank Client-Module XML-Module XML-Panel Features Beispiel Warenwirtschaft

XML-Panel

Durch die Verwendung von XML-Panels ist es sehr einfach und schnell möglich, komplett funktionsfähige Bearbeitungsmasken in der Anwendung zu erstellen und diese dann in Module zu integrieren. Das grundlegende Prinzip ist in folgender Abbildung dargestellt:

Grundsätzliche Funktionsweise eines XML-Panels und Aufgabe der Widget-Factory

Die Klasse, die für die Implementierung des Panels (der Bearbeitungsmaske) zuständig ist, benutzt eine sogenannte Widget-Factory zum erzeugen und platzieren der Widgets (Komponenten) in einem oder mehreren Containern (bei Verwendung von Swing sind dies JPanel). Die Widget-Factory wiederum verwendet als Eingabe eine XML-Datei, in der die Konfiguration des Panels und sämtlicher Widgets festgelegt ist. Die XML-Dateien sind über damit verknüpfte Properties-Dateien lokalisierbar. Die Widget-Factory übernimmt dabei folgende Aufgaben:

Über die Widget-Factory kann das Panel auf sämtliche Komponenten zugreifen. Dazu werden die Komponenten in der XML-Datei mit IDs versehen über die dann vom Programm aus die Widgets angefordert werden. Damit stehen dem Entwickler alle Möglichkeiten offen, die Java bietet. So können z.B. weitere spezielle Anpassungen an den Komponenten vorgenommen werden oder es werden Listener registriert, um die Funktionalität zu erweitern usw.

Die Widgets auf dem Panel können in Gruppen aufgeteilt werden. Das ist z.B. dann wichtig, wenn das XML-Panel verschiedene Bereiche hat, die unterschiedliche Aufgaben auf dem Panel erfüllen sollen. Über die Gruppen können bestimmte Operationen auf alle Widgets dieser Gruppe mit einem Aufruf durchgeführt werden, z.B.

Widgets können untereinander Master-Slave-Beziehungen eingehen, d.h. wenn sich der Wert in einem Master-Widget ändert, so ändert sich auch der Wert oder der Inhalt der damit verknüpften Slave-Widgets. Beispielsweise wird mit einer Combobox ein Land ausgewählt, was zur Folge hat, dass in einer damit verbundenen Städte-Combobox die zum ausgewählten Land dazugehörigen Städte angezeigt werden. Das alles funktioniert ohne eine Zeile Code zu programmieren.

Es ist sehr einfach möglich, eigene Widgets zu erzeugen, so dass diese in allen Panels verwendet werden können. Diese Widgets können auch sehr komplexe Funktionen übernehmen und aus mehreren Komponenten bestehen. Ebenso ist es möglich direkt den Parser der Widget-Factory zu erweitern, damit weitere benutzerdefinierte Tags in den XML-Dateien verwendet und ausgewertet werden können.

Basierend auf der Verwendung der Widget-Factory können auch komplett neue Panels entwickelt werden, die dann eine ganz andere Funktionalität abdecken. Dadurch kann dieses XML-Framework sehr individuell und flexibel erweitert werden.

XML-Edit-Panel

Vom Aviantes-Framework werden zur Zeit zwei Arten von XML-Panel zur Verfügung gestellt. Das XML-Edit-Panel dient zur Bearbeitung von Datenbank-Tabellen, die sehr viele Datensätze beinhalten (>5000).

Beispiel eines XML-Edit-Panels zur Bearbeitung von Artikeln

Bevor ein Datensatz bearbeitet werden kann, muss dieser zunächst gesucht und geladen werden (es sei denn es soll ein neuer Datensatz angelegt werden). Dazu wird über einen Button ein Such-Dialog geöffnet:

Such-Dialog für die Artikelsuche

In diesem kann durch Eingabe bzw. Auswahl der gewünschten Suchkriterien eine Ergebnisliste angefordert werden, die diesen Kriterien genügt. Von den gefundenen Datensätzen wird dann einer ausgewählt und kann in dem Panel bearbeitet werden.

Zu einzelnen Datensätzen kann der Anwender Lesezeichen und Wiedervorlagen anlegen:

Dialog für das Hinzufügen bzw. Bearbeiten eines Lesezeichens für einen Datensatz

Dabei kann dann z.B. hinterlegt werden, dass an dem Datensatz noch bestimmte Ergänzungen vorgenommen werden müssen. In der Lesezeichen-Suche kann dann nach vorhandenen Lesezeichen/Wiedervorlagen gesucht werden:

Fenster für die Lesezeichen- und Wiedervorlagenübersicht und -suche

Dazu können im oberen Bereich des Fensters gewünschte Suchkriterien eingegeben werden, um die Anzeige der Datensätze einzuschränken. Durch einen Doppelklick auf ein Lesezeichen wird dann der dazugehörige Datensatz in dem Modul geöffnet. Es gibt auch eine globale Lesezeichensuche über alle Module. Wird dort ein Lesezeichen zum Öffnen ausgewählt, so wird das dazugehörige Modul geöffnet und der Datensatz wird in diesem angezeigt.

XML-Browser-Panel

Beim XML-Browser-Panel werden alle Datensätze sofort zur Bearbeitung angezeigt (z.B. in einer Tabelle oder einem Baum). Es ist damit eher für solche Tabellen geeignet, die nicht so viele Datensätze (maximal mehrere Tausend) enthalten. Hier ist das Panel zur Bearbeitung der Rollen dargestellt. Es verwendet als Daten-Browser eine Tabelle.

Beispiel für ein XML-Browser-Panel zur Bearbeitung der Rollen

Zur Bearbeitung wird ein Datensatz einfach in der Tabelle ausgewählt und kann dann bearbeitet werden. Es ist auch möglich, in einem XML-Browser-Panel eine Vorauswahl der in der Tabelle angezeigten Datensätze zu treffen. Dazu werden über der Tabelle weitere Komponenten angeordnet (im sogenannten Pre-Selector), über die dann die Anzeige in der Tabelle anhand von eingegebenen/ausgewählten Suchkriterien eingeschränkt werden kann.