Datenverarbeitung in Web

Download Report

Transcript Datenverarbeitung in Web

Datenanbindung in
Webapplikationen
Überblick
In diesem Kapitel:
Datenpersistenz


allgemeine Aspekte der Datenpersistenz in
Webapplikationen
Datenanbindung in serverseitigen Applikationen
Webapplikationstechnologien:

2
PHP, ASP, ASP.NET, JSP
Datenpersistenz
Möglichkeiten der Datenpersistenz
–
Statische Inhalte


–
z.B. in HTML, XML Dateien
fixe Daten ohne (Vor-)verarbeitung
Dynamische Inhalte

Aufbereitung in serverseitigen Programmen (z.B. PHP,
ASP, CGI etc.)
–
Filesystem: low-level direct I/O
– Datenbankmanagementsbstem (DBMS): high-level
managed I/O
3
Datenpersistenz
Abstraktionsebenen bei Datenzugriff
–
DBMS als einzige Schicht
–
Business Objects Layer



–
Transaction Processing Monitors (TPM)



4
Schicht zwischen Applikation und DBMS
Ziel: Kapseln der Anwendungslogik in Business Objects
Realisierung meist über Klassen-/Objektbibliotheken oder
Services (z.B. Java Beans, COM-Objekte, ...)
Verwaltung einkommender Client-Anfragen
Bündelung gleichartiger Anfragen bei gleichzeitiger
Sicherstellung der Datenintegrität
wichtig für verteilte, stark vernetzte Architekturen
Webapplikation mit Datenanbindung
Ablauf einer Webseitenabfrage mit
Datenbankzugriff
Webclient
(z.B. Browser)
1. HTTPRequest
schicken
2. Request
verarbeiten
Serverseitige
Programme
8. Response
anzeigen
7. HTTPResponse
schicken
6. Response
vorbereiten
3. Aufruf von
DB-Funktionen
über DB-API
DBMS
5. Ergebnis
liefern
Datenbank
Webserver
Serverseite
5
4. Ausführen
der Funktionen
auf der DB
Webapplikation mit Datenanbindung
Ablauf einer Webseitenabfrage mit
XML-Datenverarbeitung
Webclient
(z.B. Browser)
1. HTTPRequest
schicken
2. Request
verarbeiten
3. Aufruf von
XML APIs
Serverseitige
Programme
8. Response
anzeigen
7. HTTPResponse
schicken
6. Response
vorbereiten
XML Library
5. Ergebnis
liefern
FileSystem
Webserver
Serverseite
6
4. Ausführen
der Funktionen
im Filesystem
Webapplikation mit Datenanbindung
Beispielablauf einer Webseitenabfrage mit
Web Service Invocations
Webclient
(z.B. Browser)
1. HTTPRequest
schicken
2. Request
verarbeiten
Serverseitige
Programme
7. HTTP8. Response Response
schicken
anzeigen
7
6. Response
vorbereiten
3. Web
Service
Request
5. Web
Service
Response
Webserver
A
4. Request
verarbeiten
Web Service
X
Web Service
Y
Webserver
B
Serverseite
Technologien für Webapplikationen
Überblick
–
Datenbankschnittstellen


–
einige serverseitige Scriptumgebungen:




–
8
ODBC/JDBC
Native
PHP
ASP, ASP.NET
JSP
ColdFusion
Vergleich
DB-Schnittstellen

Open Database Connectivity (ODBC)
–
–
–

Java Database Connectivity (JDBC)
–

Standardisiertes API für Datenbankzugriff
DB-spezifische Implementierungen durch ODBC-Treiber
SQL als Datenbankzugriffssprache
Java Klassenbibliothek von Sun Microsystems
Native APIs
–
Spezielle Application Programming Interfaces (API) für
bestimmte Datenbanksysteme und/oder Sprachen
zB. für OCI-Funktionen in PHP für Oracle8
9
PHP

PHP: Hypertext Preprocessor
–
–
–
–

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
10
PHP

Eingebettet in HTML
–
–
–
Spezielle Tags zur Markierung von PHPAbschnitten, u.a. <?php ... ?>
...jump in and out of "PHP mode"
Bsp.: <html>
<head><title>PHP Beispiel</title></head>
<body>
<?php echo "Guten Tag!"; ?>
</body>
</html>
–
11
am Client:
<html>
<head><title>PHP Beispiel</title></head>
<body>
Guten Tag!
</body>
</html>
ASP, ASP.NET

Active Server Pages
–
–
Serverseitige Technologie von Microsoft
Konzept ähnlich PHP

–
–
–

Unterstützt verschiedene Scriptsprachen
Plattform: WinNT, IIS
Datenanbindung: funktioniert mit ODBC-fähigen DBs
ASP.NET
–
–
–
–
–
12
Eingebettet in HTML
Trennung HTML und OO-Programmcode [möglich]
Ereignisorientiert, Objektorientiert, verwendet .NET
Klassenbibliothek
Definiert HTML-Elemente als Objekte
vorherrschende Sprachen: VB.NET, C# (früher: VBScript, JScript)
Datenanbindung: Funktioniert derzeit mit SQL-Server und OLEDB
ASP, ASP.NET
ASP: eingebettet in HTML, ablauforientiert
<html>
<head><title>ASP Beispiel</title></head>
<body>
<% Response.Write("Hi, I'm an ASP script!") %>
</body>
</html>
13
ASP, ASP.NET
ASP.NET: "hinter" HTML, ereignisorientierte Web Forms
<%@ Page Language="vb" Codebehind="test.aspx.vb"
Inherits="TestPage" %>
<html>
<body>
<asp:Table id="Tbl" runat="server"></asp:Table>
<% WriteCurrentDate() %>
</body>
</html>
Public Class TestPage Inherits System.Web.UI.Page
Private Sub Page_Load(…) Handles MyBase.Load
Tbl.BorderColor = Color.Blue
Tbl.Rows(1).Cells(3).Text = "Hello!"
...
End Sub
14
Protected Sub WriteCurrentDate()
Response.Write( DateTime.Now.ToString() )
End Sub
End Class
test.aspx
test.aspx.vb
JSP

JavaServer Pages
–
–
–
Ä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
<body>
<% for (int i=0; i<11; i++) { %>
<br> <%= i %>
<% } %>
</body>

Datenanbindung
–
–
15
Zugriff auf Datenbank über JDBC-Klassen
Benötigt JDBC-Treiber für Datenbank
Weitere...

Common Gateway Interface (CGI)
–
Weit verbreiteter serverseitiger Mechanismus


–
–

Sprachen: PERL, C/C++, ...
Datenbankanbindung möglich
ColdFusion
–
–
–
16
Parameterübergabe an Programme (z.B.
Formulareingaben)
Dynamische Erzeugung von HTML-Seiten, ...
Kommerzielle Technologie (teuer)
In HTML eingebettete Tags
Datenbankanbindung möglich
Vergleich
Sprachen
DBS
Plattform
Kosten
17
PHP
ASP.NET
JSP
CGI
PHP
VB.NET,
C#
Java
PERL, C/C++,
...
Alle native
OLEDB,
SQL-Server
JDBC
Alle
Alle
WinNT, IIS
Windows,
Unix/Linux
Alle
Freeware,
Open Source
Freeware
Freeware
X