Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Datenanbindung in Webapplikationen
2
Überblick In diesem Kapitel: Datenpersistenz
allgemeine Aspekte der Datenpersistenz in Webapplikationen Datenanbindung in serverseitigen Applikationen Webapplikationstechnologien: PHP, ASP, ASP.NET, JSP
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
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
5
Webapplikation mit Datenanbindung
Ablauf einer Webseitenabfrage mit Datenbankzugriff 3. Aufruf von DB-Funktionen über DB-API Serverseitige Programme 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
6
Webapplikation mit Datenanbindung
Ablauf einer Webseitenabfrage mit XML-Datenverarbeitung 1. HTTP-Request schicken Webclient (z.B. Browser) 7. HTTP-Response schicken 8. Response anzeigen 4. Ausführen der Funktionen im Filesystem 2. Request verarbeiten 3. Aufruf von XML APIs Serverseitige Programme XML Library 5. Ergebnis liefern 6. Response vorbereiten File- System Webserver Serverseite
7
Webapplikation mit Datenanbindung
Beispielablauf einer Webseitenabfrage mit Web Service Invocations 4. Request verarbeiten 1. HTTP-Request schicken 2. Request verarbeiten 3. Web Service Request Webclient (z.B. Browser) Web Service X Serverseitige Programme Web Service Y 5. Web Service Response 6. Response vorbereiten 7. HTTP-Response schicken 8. Response anzeigen Webserver A Webserver B Serverseite
8
Technologien für Webapplikationen
Überblick Datenbankschnittstellen ODBC/JDBC Native einige serverseitige Scriptumgebungen: PHP ASP, ASP.NET JSP ColdFusion Vergleich
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 Sprachen zB. für OCI-Funktionen in PHP für Oracle8 Binaries: Treiber oder einkompilierte Libs (z.B. MbSQL)
10
PHP PHP: Hypertext Preprocessor 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
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>
12
ASP, ASP.NET Active Server Pages ASP.NET
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
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>
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> test.aspx 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 Class test.aspx.vb
15
JSP 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 <body> <% for (int i=0; i<11; i++) { %> <br> <%= i %> <% } %> </body>
16
Weitere... 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
17
Vergleich PHP ASP.NET JSP CGI Sprachen VB.NET, C# Java
PERL, C/C++, ... DBS Alle native OLEDB, SQL-Server JDBC Alle Plattform WinNT, IIS Windows, Unix/Linux Kosten Freeware, Open Source Freeware X
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.