Kein Folientitel

Werbung
EFORM
Eform
GGA-Institut
EFORM – Ein einfacher Generator für Webbasierte Datenbankoberflächen
EFORM
Eform
GGA-Institut
Überblick
EFORM
Eform
GGA-Institut
Was ist EFORM?
• EFORM ist ein einfaches und mit relativ geringem Aufwand entwickeltes
Werkzeug zur Generierung von Pflegeanwendungen für SQLDatenbanken.
• 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/IntranetAnwendungen. 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.
EFORM
Eform
GGA-Institut
Anvisierter Einsatzbereich
• dezentrale Pflege stark genutzter Intranet-Datenbanken (z. B. der GGAProduktdatenbank) 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.
EFORM
Eform
GGA-Institut
Interne und externe Datenbanken
Fileserver für
Bilder, Dokumente,
usw.
Spiegel
Replikation
Spiegel
Datenbank
Interner DB-Server
PHP
Client-Software,
z. B. MS Access
Firewall
EFORM
Externer DB-Server
Intranet-Server
EFORM
Internet
Browser
Lokales Netzwerk
PHP
Browser
GZH-Webserver
Internet
GZH-interner Nutzer
Externe Nutzer
EFORM
Eform
GGA-Institut
EFORM - Softwaregrundlagen
• 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).
In die Entwicklung eingeflossen sind div. Ideen und Bausteine
des Basiswerkzeugs QFORM des FIS Geophysik.
EFORM
Eform
GGA-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 (GETParameter) und/oder HTML-Formularfelder (POST-Parameter).
• Der Standard-Output eines CGI-Gateways wird dem Browser als HTMLSeite zurückübermittelt.
EFORM
Eform
CGI als Basis für Internet/Intranet-Anwendungen
GGA-Institut
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.
EFORM
Eform
CGI als Basis für Internet/Intranet-Anwendungen
GGA-Institut
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 CGIGateways (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.  CGIProgrammierung ist gewöhnungsbedürftig, für den Anfänger schwierig
und in jedem Fall aufwendig!
• „Offene“ http-Kommunikation zwischen Gateways  Sicherheitsrisiken!
EFORM
Eform
GGA-Institut
Client- vs. serverorientierte Internet-Anwendungen
Browser
z. B.
Applet
Servlet
Java Virtual
Machine
GUI- u. a.
Klassen
DBMS
Datenbank
z. B. Java, .NET
Client
Server
z. B. PHP
Browser
HTML-Seite
WWWServer
WWWServer
DBMS
PHP-Seite
SkriptInterpreter
Datenbank
EFORM
Eform
Was ist PHP?
GGA-Institut
• 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 PHPSprachkern 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.
EFORM
Eform
GGA-Institut
EFORM-Architektur
Formdefs
(Formulardefinitionen=
PHP-Include-Dateien)
Menü-Steuerung
application_inc.php
(Konfiguration der
Anwendung)
EFORMMain
utils.php
(Standard-Routinen)
EFORMHilfsskripte
PHP-Interpreter
Session-Verwaltung
= anwendungsspezifisch
= CGI-Aufrufe
…
EFORM
Eform
GGA-Institut
Demonstration
EFORM
Eform
GGA-Institut
Die Nordwind-Datenbank
EFORM
Eform
GGA-Institut
EFORM
Eform
GGA-Institut
Verzeichnisbaum einer EFORM-Anwendung
Verzeichnis von T:\fis_gp_edit_odbc
17.06.2005 14:35
01.06.2005 11:41
3.704 application_inc.php
<DIR>
06.01.2004 17:36
01.06.2005 11:41
27.06.2005 10:38
<DIR>
bilder
Anwendungs-Konfigirationsdatei
EFORM-interne Bilder
108 blank.htm
Leerseite
css
Stylesheet
106.479 eform.php
EFORM-Hauptskript
24.06.2005 09:11
6.303 eform_popup_lov.phpEFORM-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
EFORM
Eform
GGA-Institut
Ausblick
EFORM
Eform
GGA-Institut
Ausblick auf geplante Weiterentwicklungen
• 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
EFORM
Eform
GGA-Institut
Vielen Dank
für Ihr Interesse!
Herunterladen