EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen

19
EFORM Eform GGA-Institut @ EFORM – Ein einfacher Generator für Web- basierte Datenbankoberflächen

description

@. EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen. Überblick. Was ist EFORM?. EFORM ist ein einfaches und mit relativ geringem Aufwand entwickeltes Werkzeug zur Generierung von Pflegeanwendungen für SQL-Datenbanken. - PowerPoint PPT Presentation

Transcript of EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen

Page 1: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen

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

EFORMEform

GGA-Institut

EformGGA-Institut

Überblick

Page 3: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen

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

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

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

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

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

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

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

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

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

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

EFORMEform

GGA-Institut

EformGGA-Institut

Demonstration

Page 14: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen

EFORMEform

GGA-Institut

EformGGA-Institut

Die Nordwind-Datenbank

Page 15: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen

EFORMEform

GGA-Institut

EformGGA-Institut

Page 16: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen

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

EFORMEform

GGA-Institut

EformGGA-Institut

Ausblick

Page 18: EFORM – Ein einfacher Generator für Web-basierte Datenbankoberflächen

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

EFORMEform

GGA-Institut

EformGGA-Institut

Vielen Dank für Ihr Interesse!