Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine...

17
Datenanbindung in Webapplikationen

Transcript of Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine...

Page 1: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

Datenanbindung in Webapplikationen

Page 2: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

2

Überblick

In diesem Kapitel:

Datenpersistenz allgemeine Aspekte der Datenpersistenz in

Webapplikationen Datenanbindung in serverseitigen Applikationen

Webapplikationstechnologien: PHP, ASP, ASP.NET, JSP

Page 3: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

3

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

Page 4: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

4

Datenpersistenz

Abstraktionsebenen bei Datenzugriff– DBMS als einzige Schicht

– Business Objects Layer 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, ...)

– Transaction Processing Monitors (TPM) Verwaltung einkommender Client-Anfragen Bündelung gleichartiger Anfragen bei gleichzeitiger

Sicherstellung der Datenintegrität wichtig für verteilte, stark vernetzte Architekturen

Page 5: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

5

Webapplikation mit Datenanbindung

Ablauf einer Webseitenabfrage mit Datenbankzugriff

3. Aufruf von DB-Funktionen über DB-API

ServerseitigeProgramme DBMS

Daten-bank

4. Ausführen der

Funktionen auf der DB

5. Ergebnis liefern

2. Request verarbeiten

Webserver

6. Response vorbereiten

Serverseite

1. HTTP-Request schicken

Webclient(z.B. Browser)

7. HTTP-Response schicken

8. Response anzeigen

Page 6: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

6

Webapplikation mit Datenanbindung

Ablauf einer Webseitenabfrage mit XML-Datenverarbeitung

3. Aufruf von XML APIs

ServerseitigeProgramme XML Library

File-System

4. Ausführen der

Funktionen im Filesystem

5. Ergebnis liefern

2. Request verarbeiten

Webserver

6. Response vorbereiten

Serverseite

1. HTTP-Request schicken

Webclient(z.B. Browser)

7. HTTP-Response schicken

8. Response anzeigen

Page 7: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

7

Webapplikation mit Datenanbindung

Beispielablauf einer Webseitenabfrage mit Web Service Invocations

ServerseitigeProgramme

5. Web Service

Response

2. Request verarbeiten

WebserverA

6. Response vorbereiten

Serverseite

1. HTTP-Request schicken

Webclient(z.B. Browser)

7. HTTP-Response schicken

8. Response anzeigen

Web Service

X

3. Web Service Request

WebserverB

4. Request verarbeiten

Web Service

Y

Page 8: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

8

Technologien für Webapplikationen

Überblick– Datenbankschnittstellen

ODBC/JDBC Native

– einige serverseitige Scriptumgebungen: PHP ASP, ASP.NET JSP ColdFusion

– Vergleich

Page 9: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

9

DB-Schnittstellen

Open Database Connectivity (ODBC)– Standardisiertes API für Datenbankzugriff– DB-spezifische Implementierungen durch ODBC-Treiber– SQL als Datenbankzugriffssprache

Java Database Connectivity (JDBC)– Java Klassenbibliothek von Sun Microsystems

Native APIs– Spezielle Application Programming Interfaces (API) für

bestimmte Datenbanksysteme und/oder SprachenzB. für OCI-Funktionen in PHP für Oracle8

Page 10: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

10

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

Page 11: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

11

PHP

Eingebettet in HTML– Spezielle Tags zur Markierung von PHP-

Abschnitten, u.a. <?php ... ?>– ...jump in and out of "PHP mode"– Bsp.:

– am Client:

<html> <head><title>PHP Beispiel</title></head> <body> <?php echo "Guten Tag!"; ?> </body></html>

<html> <head><title>PHP Beispiel</title></head> <body> Guten Tag! </body></html>

Page 12: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

12

ASP, ASP.NET

Active Server Pages– Serverseitige Technologie von Microsoft– Konzept ähnlich PHP

Eingebettet in HTML– Unterstützt verschiedene Scriptsprachen– Plattform: WinNT, IIS– Datenanbindung: funktioniert mit ODBC-fähigen DBs

ASP.NET– 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

Page 13: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

13

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>

Page 14: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

14

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

Protected Sub WriteCurrentDate() Response.Write( DateTime.Now.ToString() ) End SubEnd Class

test.aspx

test.aspx.vb

Page 15: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

15

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

Datenanbindung– Zugriff auf Datenbank über JDBC-Klassen– Benötigt JDBC-Treiber für Datenbank

<body> <% for (int i=0; i<11; i++) { %> <br> <%= i %> <% } %></body>

Page 16: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

16

Weitere...

Common Gateway Interface (CGI)– 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– Datenbankanbindung möglich

Page 17: Datenanbindung in Webapplikationen. 2 Überblick In diesem Kapitel: Datenpersistenz allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung.

17

Vergleich

PHP ASP.NET JSP CGI

Sprachen PHP VB.NET,

C#

Java PERL, C/C++, ...

DBS Alle native OLEDB, SQL-Server

JDBC Alle

Plattform Alle WinNT, IIS Windows,

Unix/Linux

Alle

Kosten Freeware,

Open Source

Freeware Freeware X