SQL-Datenbanken sind ein wichtiges Hilfsmittel zur einfachen Speicherung und Verwaltung größerer Datenmengen. Eine applikationsunabhängige Nutzung von SQL für eigene Unternehmensdaten scheitert allerdings oft an der fehlenden Ein- und Ausgabeschnittstelle hin zu den Anwendern. Abhilfe verspricht die Low-Code-Plattform Gapteq, mit der sich sehr einfach komfortable Benutzeroberflächen für MS SQL und mySQL per Drag and Drop gestalten lassen.
Viele Unternehmen nutzen riesige Excel-Tabellen für häufig genutzte Abläufe und die Datenerfassung durch Mitarbeiter – beispielsweise Aufgabenoder Zeiterfassungen, Bestellformulare, Umsatzmeldungen oder Kilometerabrechnungen. Daraus ergeben sich oft Probleme, nämlich wenn etwa Anwender die hinterlegte Logik durch Fehleingaben zerschießen, mehrere Nutzer sich behindern, wenn sie gleichzeitig schreibend zugreifen wollen oder die Performance durch die ungeheure Datenmenge in die Knie geht. Oft wird das ganze Konstrukt dann sehr träge und zunehmend unbedienbar. Ein möglicher Ausweg aus dieser Problemlage ist der Umstieg auf eine SQL-Datenbank.
Zugegeben, ein versierter Excel-Jongleur mutiert nicht gleich zum SQL-Designer, aber das Erstellen mehrerer verknüpfter SQL-Tabellen mit einigen Ansichten ist kein Hexenwerk. Excel-Kenntnisse lassen sich ebenso wenig an einem Tag erwerben. Die weitaus größte Herausforderung bei einem Umstieg liegt in der Regel nicht an SQL selbst, sondern darin, zusätzlich eine Benutzeroberfläche zu bauen, damit die Anwender komfortabel auf die SQLDaten zugreifen können – je nach Bedarf nur lesend oder auch schreibend.
Genau an dieser Stelle kommt die Low- Code-Plattform Gapteq ins Spiel, mit der es möglich ist, ohne spezielle Programmierkenntnisse eine Weboberfläche zum Zugriff auf eine SQL-Datenbank zu bauen. Eine gewisse SQL-Erfahrung ist für die Arbeit mit Gapteq durchaus empfehlenswert, aber es sind keine anderweitigen Programmiersprachenkenntnisse erforderlich. Ein Stück weit vergleichbar ist dies mit den modernen Baukästen zum Erzeugen eigener Internetauftritte, die auch kein PHP-Wissen voraussetzen.
Viele Unternehmen nutzen riesige Excel-Tabellen für häufig genutzte Abläufe und die Datenerfassung durch Mitarbeiter – beispielsweise Aufgabenoder Zeiterfassungen, Bestellformulare, Umsatzmeldungen oder Kilometerabrechnungen. Daraus ergeben sich oft Probleme, nämlich wenn etwa Anwender die hinterlegte Logik durch Fehleingaben zerschießen, mehrere Nutzer sich behindern, wenn sie gleichzeitig schreibend zugreifen wollen oder die Performance durch die ungeheure Datenmenge in die Knie geht. Oft wird das ganze Konstrukt dann sehr träge und zunehmend unbedienbar. Ein möglicher Ausweg aus dieser Problemlage ist der Umstieg auf eine SQL-Datenbank.
Zugegeben, ein versierter Excel-Jongleur mutiert nicht gleich zum SQL-Designer, aber das Erstellen mehrerer verknüpfter SQL-Tabellen mit einigen Ansichten ist kein Hexenwerk. Excel-Kenntnisse lassen sich ebenso wenig an einem Tag erwerben. Die weitaus größte Herausforderung bei einem Umstieg liegt in der Regel nicht an SQL selbst, sondern darin, zusätzlich eine Benutzeroberfläche zu bauen, damit die Anwender komfortabel auf die SQLDaten zugreifen können – je nach Bedarf nur lesend oder auch schreibend.
Genau an dieser Stelle kommt die Low- Code-Plattform Gapteq ins Spiel, mit der es möglich ist, ohne spezielle Programmierkenntnisse eine Weboberfläche zum Zugriff auf eine SQL-Datenbank zu bauen. Eine gewisse SQL-Erfahrung ist für die Arbeit mit Gapteq durchaus empfehlenswert, aber es sind keine anderweitigen Programmiersprachenkenntnisse erforderlich. Ein Stück weit vergleichbar ist dies mit den modernen Baukästen zum Erzeugen eigener Internetauftritte, die auch kein PHP-Wissen voraussetzen.
Drei Einsatzszenarien
Neben der laut Hersteller großen Gruppe der Excel-Umsteiger gibt es noch zwei weitere Szenarien, bei denen ein Umstieg auf Gapteq Sinn ergeben könnte. Im ersten Fall geht es um SQL-Setups, bei denen bisher MS Access als Frontend zum Einsatz kam. Bis einschließlich Access 2010 gab es das sogenannte Access Data Projekt (ADP), um eine SQL-Datenbank komfortabel in Access zu integrieren. Mit dem Supportende von Access 2010 bedarf es hier einer Alternative, was sich mit Gapteq realisieren lässt.
Das zweite Szenario sind ältere SQL-Lösungen, bei denen ein Dienstleister vor Jahren ein passendes Frontend programmiert hat, das mittlerweile verändert oder um neue Funktionen erweitert werden müsste, und die damaligen Programmierer sind nicht mehr greifbar. Oft ist dann niemand mehr für derartige Anpassungen auffindbar und es stellt sich die Frage, ob eine Agentur für viel Geld ein komplett neues Frontend bauen soll oder sich das Ziel mit Gapteq preisgünstiger und zudem schneller erreichen ließe.
Installation in übersichtlichen Schritten
Gapteq stammt vom gleichnamigen deutschen Hersteller, der im kleinen Ort Brannenburg südlich von Rosenheim an der A93 beheimatet ist. Die Einrichtung der Software erfolgt anhand einer übersichtlichen Installationsanleitung.
Der erste Schritt ist eine Registrierung beim Anbieter, um einen Zugriff auf das sogenannte Gapteq-Portal zu bekommen. In diesem lassen sich später die Lizenzen verwalten und hier finden sich auch die Installationsdateien, bestehend aus dem Gapteq Designer, dem Repository Server und Gapteq-Web. Auf der Datenbankseite finden Microsoft SQL Server und mySQL Unterstützung.
Der erste Schritt bei der Installation beispielsweise auf einem aktuellen Windows- Server ist die Aktivierung des IIS-Webservers mit diversen Features sowie ASP. NET. Ein Screenshot in der Anleitung zeigt genau, welche Haken zu setzen sind. Anschließend sind die drei genannten Setupdateien aufzurufen. Außer einem Installationspfad gibt es dabei keine weiteren Abfragen zu beantworten und wir hatten im Test die Umgebung in wenigen Minuten eingerichtet.
Beispielanwendungen gleich mit dabei
Für die ersten Schritte empfiehlt der Hersteller die zusätzlich bereitgestellten, sogenannten Sample Apps, fünf Beispielanwendungen, die sich ebenfalls komfortabel über einen Installer einrichten lassen. Die Beispiele bestehen jeweils aus einem SQLRepository und der Gapteq-Anwendung. Ist bereits ein SQL-Server vorhanden, kann der Administrator diesen auch für diese Apps verwenden, andernfalls richtet der Installer SQL Server Express 2014 ein.
Wichtig ist, dass beim SQL-Server die Authentifizierungs- Methode "Mixed Mode" eingestellt ist. Je nach Wunsch lassen sich dann eine oder mehrere Beispielanwendungen einrichten, wobei wir empfehlen, alle fünf zu installieren, da sie unterschiedliche Funktionen von Gapteq nutzen und zudem die verschiedenen Gestaltungsmöglichkeiten beim Oberflächenaufbau aufzeigen.
Beim anschließenden Aufruf des Designers muss sich der Administrator für eines der zu den Beispielanwendungen gehörenden Datenbank-Repositories entscheiden. Damit lädt er die entsprechende App in den Designer und sieht dort die dazugehörigen Objekte in editierbarer Form. Über einen "Run"-Knopf kann er die App dann aus dem Designer heraus starten. Diese öffnet sich dazu im Webbrowser und der Nutzer sieht, wie sie funktioniert, und kann damit herumprobieren. Will er etwas ändern, wechselt er einfach wieder zum Designer. Dieser schnelle Switch zwischen der Designer- und Browseransicht ist später sehr hilfreich, um das Resultat der Änderungen im Designer schnell kontrollieren zu können. Am besten hat der Nutzer beide Ansichten parallel geöffnet. Er muss dann nur darauf achten, dass er nach einer Änderung im Designer den Browserinhalt aktualisiert, um dort die letzte Version zu sehen.
Designer als zentrale Komponente
Der Dreh- und Angelpunkt von Gapteq ist der Designer zum Bau einer Anwendung als SQL-Frontend. Die Benutzeroberfläche des Designers ist vollgepackt, aber dank einer sinnvollen und intuitiven Aufteilung trotzdem übersichtlich und einfach bedienbar.
Bild 1 Auf der Zeichenfläche in der Mitte des Designers gestaltet der Nutzer die einzelnen Seiten der zukünftigen Applikation.
So gibt es eine Kopfzeile, die viele Funktionen ähnlich wie bei einem typischen Editor enthält. Hier lässt sich über eine Schaltfläche auch die erstellte Applikation aufrufen, um das Ergebnis kontrollieren zu können. Auf der rechten Seite findet der Nutzer eine Spalte, wo er die Ansicht zwischen den Verbindungen und den Designobjekten umschalten kann. In der Verbindungsansicht startet ein Assistent, um je nach Bedarf eine oder mehrere SQL-Datenbankverbindungen einzutragen. Unterstützt werden dabei sowohl eine SQL-Server- als auch eine Windows- Authentifizierung. Optional lassen sich zusätzliche Log-on- und Verbindungsskripte erzeugen.
In der Ansicht der Designobjekte trifft der Nutzer auf eine initiale Verzeichnisstruktur mit zwei Einträgen, "Public" und darunter "Built in". Diese sollte er nun sinnvoll erweitern, um dann die Designobjekte strukturiert ablegen zu können, die wiederum für den Aufbau der Web- GUI benötigt werden.
Als Designobjekte stehen neben der Datenbankverbindung acht weitere Typen zur Verfügung. Das wichtigste ist das Seitenobjekt, um die Seiten festzulegen, die es später in der Gapteq-Applikation geben soll. Dann gibt es drei sogenannte "Data Layer"-Objekte für Tabellen, Ansichten sowie Abfragen, derer es bedarf, um eine entsprechende Verbindung zu dem Objekt herzustellen, das bereits in der SQL-Datenbank definiert wurde. Ein weiteres Design- objekt ist das SQL Statement, um dort einen individuellen SQL-Befehl zu hinterlegen, der sich dann über die Grafikoberfläche aufrufen lässt. Dies können beispielsweise Insert- oder Update-Anweisungen zum Ändern oder Eintragen neuer Datensätze sein. Die restlichen drei Objekte ermöglichen einen Web-API-Aufruf, eine statische Suche (Lookup) sowie die Möglichkeit, Bilder auf den Seiten einzubinden.
Gapteq 3.5.3
Produkt
Programm zum Erstellen individueller Webanwendungen auf SQL-Datenbanken.
Der übrige Platz des Designers unterhalb des Kopfbereichs und rechts neben der Spalte mit den Designobjekten dient als Editierfläche für eben diese Objekte. Dabei lassen sich mehrere Fenster in Form von Registerblättern parallel öffnen, um einen schnellen Wechsel zu ermöglichen. Die Editierfläche wiederum ist je nach Objekt unterschiedlich aufgebaut, wir wollen uns auf das oben genannte, sehr wichtige Seitenobjekt zum Bau von Benutzerseiten für die GUI konzentrieren. Beim Anlegen einer neuen Seite beginnt der Nutzer mit einen leeren Zeichenbereich in der Mitte. Rechts daneben findet er die verfügbare Komponentenliste, insgesamt 26 an der Zahl. Dazu gehören Textfelder, Schaltflächen, Checkboxen, Kombinationsboxen, Datenbereiche, aber auch Diagramme und eine Funktion zum E-Mail-Versand sowie die Möglichkeit, einzelne Bilder oder eine Bildergalerie einzubinden.
Bild 2: Insgesamt 26 unterschiedliche Komponenten stehen für das Seitendesign zur Verfügung.
Für den Bau einer Seite muss der Nutzer nun nur die gewünschten Komponenten in den Zeichenbereich ziehen. Ein Raster hilft ihm bei der Positionierung. Bei diversen Objekten wie einer Schaltfläche oder einem Datenbereich kann er die Größe individuell einstellen. So baut er die Seite nach und nach auf. Um nun beispielsweise eine SQL-View auf einer Seite anzeigen zu wollen, ist dort zuerst je nach gewünschter Darstellung eine Datenliste, -tabelle oder -formular zu positionieren, um so das passende Objekt festzulegen und dann das gewünschte "Data layer" darauf zu ziehen, um damit die Verbindung zu den eigentlichen SQL-Daten herzustellen. Handelt es sich um eine Ansicht mit mehreren Spalten, kann der Anwender deren Breite individuell festlegen oder dies dem Programm überlassen.
Das alles mag in der Beschreibung etwas komplizierter klingen, als es sich in der Praxis darstellt. Gut gefallen hat uns auf jeden Fall, dass der Seitenbau sehr intuitiv bedienbar ist. Bei der Nutzung der verschiedenen Komponenten empfiehlt es sich, diese nach und nach auszuprobieren und so zu immer komplexeren Designs zu kommen. Auch hat uns im Test gut geholfen, dass wir uns zuerst an den Sample Apps orientieren konnten und damit begannen, eine dieser Anwendungen um eine Seite zu erweitern und zu deren Aufruf auf der Startseite der App eine weitere Schaltfläche zu positionieren.
Rechts neben der Zeichenfläche befindet sich noch eine Spalte, die die Eigenschaften der markierten Komponente auflistet. Hier lassen sich Titel und Farbgebung definieren, ebenso die Darstellung (Anzahl von Listeneinträgen und Spaltenbreiten, Schaltfläche für den Export nach Excel und so weiter). Wichtig ist ferner unten in dieser Spalte die Möglichkeit zur Definition von Aktionen, um damit die Navigation festzulegen. Ein Beispiel hierzu ist, dass, wenn ein Anwender in einer Listenansicht auf einen Eintrag klickt, eine neue Seite geöffnet wird, die wiederum Details zu diesem Eintrag liefert. Statt bei einem Klick eine neue Seite zu öffnen, kann die Seite in mehrere Fensterbereiche unterteilt sein, sodass beim Anklicken eines Eintrags in einem Listenbereich die dazugehörigen Informationen in einem anderen Bereich passend dazu aktualisiert werden.
Die Sample Apps zeigen hinsichtlich der Objektanordnung recht gut, welche unterschiedlichen Möglichkeiten es gibt und wie flexibel sich alles anordnen lässt. Letztendlich ist der Anwender nicht völlig frei in der Seitengestaltung, es stehen jedoch so viele Möglichkeiten zur Verfügung, dass sich immer ein ordentliches Ergebnis realisieren lassen sollte.
Aufbau eigener Apps in mehreren Schritten
Wie schon erwähnt empfiehlt es sich, die ersten Schritte mit Gapteq mit den Sample Apps zu unternehmen. Nachdem wir im Test auch damit begonnen hatten, wollten wir anschließend eine komplett eigene App bauen. Hierzu bedienten wir uns einer bestehenden, eigenen SQL-Datenbank, die wir bis dato zusammen mit Access als ADP genutzt hatten.
Als sehr hilfreich erwies es sich, dass wir dort die komplette Verarbeitung der Daten in SQL programmiert hatten, also für alle Darstellungen fertige SQL-Views erstellt und sonstige Abläufe über die mächtigen "Stored procedures" realisiert hatten, die wir zuvor in Access nur aufrufen mussten. In unserem alten Access-Frontend gab es daher keinerlei komplexe SQLKommandos mehr, was einen Umstieg auf Gapteq enorm erleichterte. Insofern können wir jedem, der Derartiges plant, eine ähnliche Vorgehensweise nur empfehlen. Das wurde uns vom Hersteller auch so als bester Weg bestätigt.
Bild 3: In dieser Ansicht lassen sich neue Seiten für die Applikation sowie die Verbindungen zu SQL-Objekten wie Tabellen, Abfragen und Sichten definieren.
So gelang es uns mit vergleichsweise wenig Aufwand, parallel zur noch existierenden Access-GUI eine neue App zu erstellen und dabei mit den wichtigsten Funktionen zu starten. Das zeigte uns, dass es in Bezug auf die eingangs genannten Szenarien durchaus möglich ist, schrittweise von einer vorhandenen, abzulösenden Benutzeroberfläche für eine SQL-Datenbank nach Gapteq zu migrieren und so eine Stichtagsumstellung zu vermeiden. Nur wenn es in dem Zuge auch die Struktur der SQL-Datenbank zu ändern gilt, wird es ohne Zweifel komplizierter.
Für die Einarbeitung in Gapteq stellen die Sample Apps wie schon erwähnt eine große Hilfe dar. Der Hersteller hat die Apps sehr unterschiedlich und für verschiedene Aufgaben erstellt, um zum einen die Umsetzung unterschiedlicher Aufgaben vorzuführen, und zum anderen, um die vielseitigen Möglichkeiten der Software aufzuzeigen.
Daneben gibt es noch eine Knowledge Base mit diversen Feature-Tipps, die häufig nachgefragte Problemstellungen und deren Lösung beschreiben. Was allerdings noch fehlt, ist eine vollständige Dokumentation von A bis Z mit Inhaltsverzeichnis. Vielmehr muss der Nutzer ein wenig suchen, ob er für seine Frage in den genannten Quellen eine Antwort findet, was manchmal etwas mühsam sein kann.
Allerdings kann jeder Kunde, sobald er mindestens drei Benutzer offiziell lizenziert hat, auf den Support zugreifen und bekommt dort Hilfe. Neben der Beantwortung individueller Fragen veranstaltet Gapteq auch regelmäßig Webinare zu unterschiedlichen Themenstellungen. Außerdem ist es möglich, individuell angepasste Schulungen zu buchen, die sich an der jeweiligen Aufgabenstellung und am Wissen der Mitarbeiter orientieren.
Granulare Zugriffsrechte auf drei Arten
Der Zugriff von Gapteq auf die SQL-Datenbank erfolgt über einen Benutzer, der beim Anlegen der Datenbankverbindung anzugeben ist. Unabhängig davon lässt sich innerhalb von Gapteq der Benutzerzugriff auf die erstellte Applikation individuell steuern. Dabei stehen die drei Ebenen Seiten, Komponenten und Data Layer zur Verfügung. Es ist aber ebenso möglich, den Zugriff öffentlich zu definieren, sodass keinerlei Anmeldung notwendig ist. Auch Kombinationen von einem öffentlichen Bereich und einem Login-gebundenen sind realisierbar.
Bild 4: Ein Beispiel für eine Sicht des Applikationsnutzers: Sobald dieser in der Liste der verfügbaren Geräte eines auswählt, bringt der rechte Bereich dazugehörige Detailinformationen auf den Bildschirm.
Bei der Zugriffssteuerung auf Seitenebene kann der Administrator für jede Seite einzeln festlegen, welcher Benutzer oder welche Gruppe zugreifen darf. Diese Vergabe ist damit noch eher grob. Bei der Steuerung auf Komponentenebene gibt der Admin einzelnen Benutzern oder Gruppen unterschiedliche Zugangsberechtigungen zu den verwendeten Komponenten. So lässt sich beispielsweise bestimmen, wer welche Daten sehen, bearbeiten oder löschen darf oder einen Button klicken kann oder nicht. Das ermöglicht eine deutlich feinere Differenzierung als über die Navigation auf Seitenebene. Bei der Steuerung auf Ebene des Data Layers schließlich erfolgt eine Berechtigung auf bestimmte Datenbankinhalte, sodass ein Benutzer bestimmte Sichten einsehen oder editieren darf und andere nicht. Weiterhin lässt sich die Sicht auf Daten mit sogenannten "Query Restrictions" einschränken. Hierbei kann der Administrator Abfragen gegen eine Tabelle oder Ansicht über Filterkriterien einschränken. Enthält beispielsweise eine Datenbank Informationen zu verschiedenen Projekten, so lässt sich auf diese Weise einstellen, dass jeder Projektleiter nur den Zugriff auf seine Projektdaten bekommt. Eine Query Restriction ist besonders sicher, da diese serverseitig zur Ausführung kommt und nicht erst im Client. Somit ist diese Filterung über den Webclient nicht manipulierbar.
Letztlich zeigt sich das Berechtigungskonzept von Gapteq als sehr flexibel und granular einstellbar, sodass sich bei Bedarf sehr feine Unterschiede zwischen den einzelnen Benutzern definieren lassen.
Fazit
Gapteq versteht sich als Low-Code-Plattform für Datenbanken. Mit wenig Aufwand lässt sich damit eine angepasste Benutzeroberfläche für eine SQL-Datenbank erstellen. Gegenüber der Entwicklung einer individuellen Oberfläche durch einen Dienstleister lassen sich so die anfallenden Kosten in der Regel deutlich niedriger halten. Die Verwendung von Gapteq setzt keine Programmierkenntnisse für den Aufbau der GUI voraus, zu empfehlen ist aber etwas Erfahrung mit der SQL-Programmierung. Gefallen hat uns im Test, dass wir bei unseren eigenen Versuchen sehr schnell erfolgreich waren und eigene Ansichten bauen konnten.
Sofern ein Umstieg von einer bereits vorhandenen GUI in einer anderen Programmiersprache das Ziel ist, das Datenbankdesign aber nicht oder nur wenig verändert werden soll, ist ein weicher Übergang mit zeitweise paralleler Nutzung möglich, sodass sich oft kritische Stichtagsumstellungen vermeiden lassen. Positiv beim Einstieg ist, dass der Hersteller eine zeitlich nicht eingeschränkte "Free Version" anbietet, der nur ganz wenige Funktionen gegenüber der kostenpflichtigen Variante fehlen.
Für sicherheitskritische Netze, wo Gapteq keine Internetverbindung haben darf, gibt es eine Prepaid-Version und für Unternehmen, die für die Verwendung keine Hardware bereitstellen wollen, bietet der Hersteller darüber hinaus noch zwei Cloudpakete an.
So urteilt IT-Administrator
Bewertung
Einstieg mit Sample Apps
8
SQL-Anbindung
8
Funktionsumfang
7
Usability des Designers
7
Berechtigungskonzept
9
Dieses Produkt eignet sich
optimal
für Nutzer, die für eine SQL-Datenbank eine Benutzeroberfläche suchen und weder lang auf die Programmierung warten noch viel Geld investieren wollen.
bedingt
für eine SQL-Datenbank mit vorhandener Benutzeroberfläche, die Änderungen oder Erweiterungen benötigt. Hier sind der dazu notwendige Aufwand und Kosten gegenüber dem Umstieg auf Gapteq abzuwägen.
nicht
für Datenbankumgebungen, die nicht auf Microsoft SQL Server oder mySQL basieren.