EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen
-
Upload
vivian-payne -
Category
Documents
-
view
38 -
download
0
description
Transcript of EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen
![Page 1: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/1.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
@EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen
![Page 2: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/2.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Überblick
![Page 3: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/3.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
• EFORM ist ein einfaches und mit relativ geringem Aufwand entwickeltes Werkzeug zur Generierung von Pflegeanwendungen für SQL-Datenbanken.
• Die Hauptleistung von EFORM liegt in der Verfügbarkeit „intelligenter“ Formulare zum Anzeigen, Erfassen, Ändern und Recherchieren von Daten.
• EFORM-Anwendungen sind Server-basierte Internet/Intranet-Anwendungen. Zur Bedienung wird lediglich ein Browser benötigt. Die Interaktion mit den Benutzern erfolgt über Standard-HTML-Formulare.Fazit: Keine Akzeptanzprobleme durch Software-Installation!
• EFORM wurde mit der weit verbreiteten Open-Source-Skriptspache PHP realisiert und ist (wie PHP selbst auch) auf vielen Plattformen lauffähig. EFORM nutzt ODBC zur Interaktion mit Datenbanken. Es kann daher ein breites Spektrum von Datenbanken angesprochen werden. Fazit: EFORM-Anwendungen sind hochgradig portabel.
Was ist EFORM?
![Page 4: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/4.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
• dezentrale Pflege stark genutzter Intranet-Datenbanken (z. B. der GGA-Produktdatenbank) durch GZH-Angehörige,
• Interne Pflege von Datenbanken auf dem GZH-Webserver bzw. den zugeordneten Datenbankservern außerhalb des Firewalls (s. Erreichbarkeits-Problematik),
• dezentrale Pflege von Internet-Datenbanken auch durch Anwender außerhalb des GZH.
• Aber: EFORM ist zumindest mittelfristig nicht für die Entwicklung komplexer Datenbankanwendungen geeignet.
Anvisierter Einsatzbereich
![Page 5: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/5.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Interne und externe Datenbanken
Client-Software,z. B. MS Access
Lokales Netzwerk
Datenbank
Fileserver für Bilder, Dokumente,
usw.
Spiegel
SpiegelReplikation
Firew
all
Interner DB-Server Externer DB-Server
EFORM
PHP
GZH-Webserver
GZH-interner Nutzer Externe Nutzer
Browser
Browser
EFORM
PHP
Intranet-Server
Internet
Internet
![Page 6: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/6.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
• Relationale Datenbank (via ODBC),
• Intranet/Internet-Server (z. B. MS Internet Information Server),
• Skriptsprache PHP (Open Source), ca. 3.000 Zeilen,
• Bowser der neuen Generation (IE ab 6.0, Mozilla/Firefox ab 1.0, Netscape ab 7.0), mit JAVA-JRE,
• Javascript (im Browser).
EFORM - Softwaregrundlagen
In die Entwicklung eingeflossen sind div. Ideen und Bausteine des Basiswerkzeugs QFORM des FIS Geophysik.
![Page 7: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/7.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
CGI - Common Gateway Interface
• Der CGI-Standard ermöglicht das Starten von externen Programmen/ Skripten aus dem World Wide Web heraus - damit lassen sich serverseitig interaktive Webseiten gestalten. Diese externen Programme heißen Gateways, da sie die Verbindung zwischen externen Informationsquellen und dem Webserver herstellen.
• CGI-Gateways können fertig compilierte und gelinkte Programme (C, C++, …), aber auch von einem an den Webserver angekoppelten Interpreter zu bearbeitende Skripte sein.
• Die Steuerung von CGI-Gateways erfolgt über URL-Parameter (GET-Parameter) und/oder HTML-Formularfelder (POST-Parameter).
• Der Standard-Output eines CGI-Gateways wird dem Browser als HTML-Seite zurückübermittelt.
![Page 8: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/8.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
CGI als Basis für Internet/Intranet-Anwendungen
Vorteile:
• An den Browser werden keine besonderen Anforderungen gestellt, da die Interaktion über "normale" Web-Seiten erfolgt. Die Installation von Software auf dem Client ist i. d. R. nicht erforderlich Hohe Akzeptanz, keine Software-Verteilungsproblematik.
• Verteilbarkeit von Anwendungskomponenten auf verschiedene Server hervorragende Flexiblität.
• Keine Sicherheitsprobleme durch Port-Freischaltungen.
Nachteile:
• Die Interaktion ist nicht so unmittelbar wie z. B. bei Java, weil die Reaktion auf eine Aktion immer eine http-Datenübertragung zum und vom Web-Server voraussetzt. Der Qualität der Benutzeroberfläche sind damit Grenzen gesetzt.
![Page 9: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/9.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
CGI als Basis für Internet/Intranet-Anwendungen
Nachteile 2:
• Aufrufe von CGI-Programmen/-Skripten werden im Rahmen separater Tasks erledigt. Dateien, Datenbanken usw. müssen also immer wieder neu geöffnet werden! Je nach Skriptsprache müssen evtl. CGI-Skripte immer wieder neu interpretiert werden. Performance!
• Komplexe Dialoge müssen durch wechselseitigen Aufruf von CGI-Gateways (Server-Pong) realisiert werden. Die Übergabe komplexer Daten zwischen diesen Gateway-Instanzen ist i. d. R. nicht trivial. Zusätzlich muss i. d. R. Javascript eingesetzt werden. CGI-Programmierung ist gewöhnungsbedürftig, für den Anfänger schwierig und in jedem Fall aufwendig!
• „Offene“ http-Kommunikation zwischen Gateways Sicherheitsrisiken!
![Page 10: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/10.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Client- vs. serverorientierte Internet-Anwendungen
Browser
Java VirtualMachine
z. B. Applet
Servlet
DBMS Daten-bank
GUI- u. a.Klassen
Browser
PHP-SeiteSkript-
Interpreter
Daten-bank
WWW-Server
DBMS
WWW-Server
HTML-Seite
Client Server
z. B. Java, .NET
z. B. PHP
![Page 11: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/11.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Was ist PHP?
• PHP = PHP Hypertext Preprocessor ist eine stark verbreitete Skriptsprache zur Erstellung von CGI-Anwendungen. PHP wird von einer internationalen Entwicklergemeinschaft (Rasmus Lerdorf u. a.) als Open-Source-Produkt entwickelt.
• PHP ist eine stark an C orientierte Semi-Interpreter-Sprache, in die auch Elemente von Perl und Java eingeflossen sind. Der PHP-Sprachkern ist (wie der von C) sehr überschaubar, gegenüber C aber sehr viel mächtiger. Er wird durch zahlreiche Erweiterungsbibliotheken (Anbindung von Datenbanken, Erzeugung von Grafiken usw.) erweitert. Besonderheit: Mapscript-Interface für den UMN-Mapserver!
• Mit PHP können Sie wahlweise konventionell, objektorientiert oder hybrid programmieren.
• PHP ist – für eine Interpretersprache – performant.
• PHP wurde ursprünglich unter Linux entwickelt, steht aber auch für weitere Plattformen (u. a. Windows) zur Verfügung.
• Die wichtigsten Konkurrenten: ASP, JSP, Perl, Python, Cold Fusion.
• PHP und Cold Fusion sind Standard-Werkzeuge im GZH.
![Page 12: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/12.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Menü-Steuerung
EFORM-Main
EFORM-Hilfsskripte
Formdefs(Formulardefinitionen=PHP-Include-Dateien)
EFORM-Architektur
utils.php(Standard-Routinen)
application_inc.php(Konfiguration der
Anwendung)
PHP-Interpreter
Session-Verwaltung
= anwendungsspezifisch = CGI-Aufrufe
…
![Page 13: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/13.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Demonstration
![Page 14: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/14.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Die Nordwind-Datenbank
![Page 15: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/15.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
![Page 16: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/16.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Verzeichnis von T:\fis_gp_edit_odbc
17.06.2005 14:35 3.704 application_inc.php Anwendungs-Konfigirationsdatei
01.06.2005 11:41 <DIR> bilder EFORM-interne Bilder
06.01.2004 17:36 108 blank.htm Leerseite
01.06.2005 11:41 <DIR> css Stylesheet
27.06.2005 10:38 106.479 eform.php EFORM-Hauptskript
24.06.2005 09:11 6.303 eform_popup_lov.php EFORM-Skript für Pop-Lovs‘s
01.06.2005 12:34 1.359 eform_redirect.php Redirector
12.05.2005 16:39 2.692 first_aid.htm Einstiegs-Hilfe
24.06.2005 12:22 <DIR> formdefs Formdef-Verzeichnis
01.06.2005 11:41 <DIR> help Hilfedateien
11.05.2005 13:51 1.362 index.htm EFORM-Frameset
01.06.2005 11:41 <DIR> js Javascript-Include-Dateien
24.06.2005 12:24 <DIR> menu Javascript-Menü
12.05.2005 16:38 487 menu_top.htm HTML-Seite über dem Menü
20.06.2005 15:16 12.297 utils.php Utility-Include
12.05.2005 16:39 1.242 welcome.htm Begrüßungsseite
Verzeichnisbaum einer EFORM-Anwendung
![Page 17: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/17.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Ausblick
![Page 18: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/18.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
• Dokumentation (tztz…),
• Benutzerauthentifizierung und Zugriffskontrolle *,
• Verbesserte Gestaltungsmöglichkeiten für Formulare *,
• Schnittstelle zur Auswertung von für Filter-Treffermengen *,
• Datentypen für Koordinatenpaare mit Umrechnungsmöglichkeiten *,
• Recherche in vernetzten Thesauri *,
• Prüfregeln in FORMDEF‘s,
• Ereignisroutinen in FORMDEF‘s.
(*) in QFORM/FIS Geophysik bereits realisiert
Ausblick auf geplante Weiterentwicklungen
![Page 19: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen](https://reader035.fdocument.pub/reader035/viewer/2022081813/568134e5550346895d9c19d7/html5/thumbnails/19.jpg)
EFORMEform
GGA-Institut
EformGGA-Institut
Vielen Dank für Ihr Interesse!