1 / 19

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

@. 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.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Überblick

  3. Was ist EFORM? • 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.

  4. Anvisierter Einsatzbereich • 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.

  5. Interne und externe Datenbanken Spiegel Fileserver für Bilder, Dokumente, usw. Replikation Spiegel Datenbank EFORM Firewall Interner DB-Server Externer DB-Server PHP Intranet-Server Client-Software, z. B. MS Access EFORM Internet Browser Lokales Netzwerk PHP Browser GZH-Webserver Internet Externe Nutzer GZH-interner Nutzer

  6. 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.

  7. 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.

  8. 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.

  9. 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!

  10. Client- vs. serverorientierte Internet-Anwendungen Browser z. B. Applet Servlet WWW- Server Daten- bank Java Virtual Machine DBMS z. B. Java, .NET GUI- u. a. Klassen Client Server WWW- Server z. B. PHP Daten- bank Browser DBMS HTML-Seite PHP-Seite Skript- Interpreter

  11. 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.

  12. EFORM-Architektur Formdefs (Formulardefinitionen= PHP-Include-Dateien) PHP-Interpreter Menü-Steuerung application_inc.php (Konfiguration der Anwendung) Session-Verwaltung EFORM- Main EFORM- Hilfsskripte … utils.php (Standard-Routinen) = CGI-Aufrufe = anwendungsspezifisch

  13. Demonstration

  14. Die Nordwind-Datenbank

  15. Verzeichnisbaum einer EFORM-Anwendung 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

  16. Ausblick

  17. 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

  18. Vielen Dank für Ihr Interesse!

More Related