Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Godehard Lausch Geändert vor über 10 Jahren
1
Datenbankanbindung in Web-Applikationen
Herzlichen Dank an Mag. Michael Derntl für die Bearbeitung dieses Skriptenteils und die Gestaltung der Folien!
2
Datenpersistenz (1) Clientseitig Serverseitig HTML
Statische Inhalte (Datenmanipulation unmöglich) Serverseitig Serverseitige, dynamische Generierung von HTML Z.B. in Datenzugriffsseiten (ASP, PHP, ...) Datenmanagement Filesystem: flache Struktur (low level) DBMS: Datenbankmanagementsystem (high level)
3
Datenpersistenz (2) DBMS als einzige Schicht Business Objects Layer
Schicht zwischen Anwendung und Daten Business Objects kapseln Anwendungslogik Transaction Processing Monitors (TPM) Verwaltung einkommender Client-Anfragen Transaktionsmanagement: die Transaktion wird zu einem Kontrakt zwischen einem Client und mehreren Servern; durchgängiges Tracking; wichtig für verteilte, stark vernetzte Architekturen
4
PHP (1) PHP: Hypertext Processor Datenanbindung Scriptsprache
Open Source Serverseitige Verarbeitung Eingebettet in HTML Datenanbindung Mit allen gängigen Datenbank-/Betriebssystem–/ Server-Konfigurationen möglich PHP/MySQL beliebteste Kombination Schnell, billig, unkompliziert
5
PHP (2) HTML-Einbettung
<head> <title>Example</title> </head> <body> <?php echo "Hi, I'm a PHP script!"; ?> </body> </html> HTML-Einbettung Spezielle Tags zur Markierung von PHP-Abschnitten, u.a. <?php ... ?> ...jump in and out of „PHP mode“ Schnittstellen zu vielen Technologien (Datenbanken, COM, ...) Begrüssung ausgeben Hi, I‘m a PHP script!
6
ASP (1) Active Server Pages Datenanbindung
Serverseitige Technologie von Microsoft Konzept ähnlich PHP Eingebettet in HTML Unterstützt verschiedene Scriptsprachen Plattform: WinNT, IIS Datenanbindung ASP funktioniert mit ODBC-fähigen DBs
7
Exkurs ODBC, JDBC Open DataBase Connectivity
Standardisiertes API für Datenbankzugriff DB-spezifische Implementierungen durch ODBC-Treiber SQL als Datenbankzugriffssprache Java DataBase Connectivity Java Klassenbibliothek von Sun Microsystems
8
Ausgabe von Datum und Zeit
ASP (2) Language="VBScript" %> <html> <body> <% ' Zeit und Datum ausgeben Response.Write “Es ist jetzt“ & Now() %> </body> </html> HTML-Einbettung Ähnlich wie PHP VBScript, JScript Business Objects z.B. durch COM-Komponenten Ausgabe von Datum und Zeit :08
9
JSP (1) JavaServer Pages Datenanbindung Ähnliches Konzept wie PHP/ASP
Java-Code eingebettet in HTML Server erzeugt bei erstem Zugriff ausführbares Servlet: „Reiner“ Java-Bytecode HTML-Ausgabe über Response-Objekt Datenanbindung Zugriff auf Datenbank über JDBC-Klassen Benötigt JDBC-Treiber für Datenbank
10
JSP (2) Sprache HTML-Einbettung
Theorie: andere Sprachen auch möglich (offene Spezifikation) Praxis: Java HTML-Einbettung Bekanntes Konzept (s. ASP, PHP) Business Objects z.B. durch Java-Klassenbibliotheken am Server <html> <body> <H1>My First JSP Page</H1> <H2>Hello, JSP world!</H2> <% for (int i=0; i<11; i++) { %> <br> <%= i %> <% } %> </body> </html> Zahlenreihe ausgeben 1 2 ... 10
11
Andere Common Gateway Interface (CGI) ColdFusion
Weit verbreiteter serverseitiger Mechanismus Parameterübergabe an Programme (z.B. Formulareingaben) Dynamische Erzeugung von HTML-Seiten, ... Sprachen: PERL, C/C++, ... Datenbankanbindung möglich ColdFusion Kommerzielle Technologie (teuer) In HTML eingebettete Tags
12
Ausgabe von Datensätzen
ColdFusion HTML-Einbettung: CF-Tags innerhalb der Seite <HTML> <CFQUERY NAME= "pocket" DATASOURCE=„MyPocket"> SELECT * FROM contents </CFQUERY> <HEAD> <TITLE>Contents of My Pocket</TITLE> </HEAD> <BODY> <H1>Contents of My Pocket</H1> <CFOUTPUT QUERY= "pocket"> <B>#Item#</B> <BR> #Acquired# <BR> #value# <P> </CFOUTPUT> </BODY> </HTML> Ausgabe von Datensätzen Item: Sports Shoes Acquired: 12 Dec1998 Value: 25$ Item:
13
Vergleich PHP ASP JSP CGI Sprachen VBScript, JScript Java
PERL, C/C++, ... DBS Alle (native) ODBC, OLE2 JDBC Alle Plattform WinNT, IIS Windows, Unix/Linux Kosten Freeware, Open Source Freeware X
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.