Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Herzlich Willkommen
Datenbanken – Aufbaukurs Nonprint
15.05.2002 – 17.05.2002
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Referent
Dipl.-Ing. (FH) Sven Rahlfs
Geschäftsführer Rahlfs+Ross Multimedia GmbH
Studium der landespflege an der FH-Nürtingen
Gründung der Rahlfs+Ross Multimedia GmbH
Derzeit am Standort Nürtingen 10 Mitarbeiter, darunter Ralf Amann.
Referent
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Übersicht
Ü B E R S I C H T
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
15. Mai 2002 Begrüßung und Vorstellung
Einsatzgebiete datenbankgestützter Internetseiten
Perl, ASP und PHP als mögliche Werkzeuge für die Erstellung dynamischer Webseiten
- Geschichtliche Entwicklung der vorgestellten Skriptsprachen
- Vergleich und Gegenüberstellung
- Sprachmerkmale
- Verbreitung und Bedeutung
Client- / Server Verbindung als Grundlage für dynamische Webseiten
Vorstellung unterschiedlicher Konfigurationen
Übersicht 15. Mai 2002
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
16. Mai 2002 Eingehende Betrachtung einiger Onlineangebote mit unterschiedlichen Techniken
Veranschaulichung der PHP / MySQL Technologie anhand ausgewählter Onlineangebote
Einführung in PHP
Grundlagen der Anwendungsplanung
Umsetzung und Programmierung einer Beispielanwendung
Übersicht 16. Mai 2002
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Fakten
F A K T E N
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Content Management
Seiten mit hohem Aktualisierungsgrad können mittels Skriptsprachen von Mitarbeitern ohne Programmierkenntnisse gewartet werden.
http://www.digital-worx.de/admin - http://www.digital-worx.de/
Logische Hintergründe und Automatisierung
Die Skriptsprachen werden, ähnlich wie „große“ Programmiersprachen, zur Abwicklung komplexer Vorgänge verwendet.
http://www.fh-nuertingen.de oder http://www.yahoo.de
Einsatzgebiete datenbankgestützter Internetseiten I
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Customer Relationshipmanagement (CRM)
Kundenpflege und Versorgung der Kundschaft mit neuesten Informationen mittels Internetbasierter Anwendungen.
http://www.digital-worx.de/admin - http://www.digital-worx.de/
Entertainment und Kundenbindung
Onlinespiele, Foren, Votings, Personalisierung....http://www.ureda.de
Weitere Beispiele:
Auktionen, Shopanwendungen, Projektmanagement, Zeitmanagement so wie nahezu unbegrenzte Einsatzmöglichkeiten im Intranet
Einsatzgebiete datenbankgestützter Internetseiten II
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
1969 ARPA Netz, das Ur-Internet wird aufgebaut
1986 Larry Wall entwickelt PERL (Practical Extraction and Report Language)
Microsoft bringt ASP (Active Server Pages) auf den Markt
1994 Rasmus Lerdorf entwickelt PHP/FI (Personal Homepage Tools / Form Interface)
2002 PHP ist die am weitesten verbreitete und am häufigsten eingesetzte Skriptsprache um interaktive Webseiten zu ermöglichen.
Geschichte interaktiver Webseiten und des Internets
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Gegenüberstellung Perl, ASP, PHP I
ASP PHP3/ 4 Perl
Hersteller Microsoft Free Software Free Software
Internet http:/ / www.microsoft.com/ http:/ / www.php.net/ http:/ / www.perl.com
Preis im Lieferumfang/ kostenlosem Update von Windows 95/ 98/ NT
kostenlos kostenlos
Plattform Windows 95/ 98/ NT, Mac OS (eingeschränkte Features)
Linux/ Unix, Windows 95/ 98/ NT
Linux/ Unix, Windows 95/ 98/ NT
Direkt unterstütze Webserver
Internet Information Server, Personal Webserver
Apache (Modul, nicht unter Windows), Internet Information Server (ab PHP4), Personal Webserver (ab PHP4)
Apache, Internet Information Server
Einarbeitungszeit (für bisherige HTML- und J avascript Programmierer)
Sehr gering: Programmierung mit einfachen, vertrauten Skriptsprachen wie J Script oder Vbscript
Gering: eigene, leicht erlernbare SkrIptsprache
Hoch: umfangreiche SkrIptsprache mit gewöhnungsbedürftiger Syntax
Empfehlenswerte Vorkenntnisse
VBScript/ J avascript C/ C++, Perl, J avascript, oderJ ava
C/ C++
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Gegenüberstellung Perl, ASP, PHP II
ASP PHP3/ 4 Perl
Direkt verfügbare Erweiterungen
Gut: große Anzahl an freien und kommerziellen ASP-Komponenten
Befriedigend: einige freie Erweiterungsmodule und Bibliotheken
Sehr gut: große Anzahl an freien Perl-Modulen
Erweiterungsmöglichkeiten Gut: Verwendung beliebiger COM-Objekte oder spezieller ASP-Komponenten
PHP3: Mangelhaft — nur durch komplizierte Modulprogrammierung in C; PHP4: Gut — Aufruf beliebiger J ava-Objekte
Befriedigend: Interface zu C-/ C++-Bibliotheken, Programmierung eigener Perl-Module
Hauptsächliches Einsatzgebiet
Kleine bis mittel-große Projekte Kleine bis sehr große Projekte
kleine bis mittlere Projekte
Performance gut: Kompilierung und Caching der Seiten
PHP3: Befriedigend (Apache am mod-php), sonst ausreichend; PHP4: Sehr gut.
Gut bis befriedigend (Apache am mod_perl), sonst ausreichend
Portierbarkeit Schlecht: beschränkt auf Windows NT Server
Gut: Unix/ Linux und Windows, Soureecode verfügbar
Sehr gut: für Unix/ Linux,, Mac und Windows erhältlich
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Gegenüberstellung Perl, ASP, PHP III
ASP PHP3/ 4 Perl
Allgemein als CGI-Progamm lauffähig
nein ja ja
Sesslon-Handling ja ab PHP4 ja
Datum/Kalenderfunktionen ja ja ja
Browser-Abfrage ja ja ja
File-Upload nein ja ja
Unterstützte Datenbanken ODBC, Sybase, Oracle, MSQL, MySQL...
ODBC, Adabas D, Dbase, FilePro, Informix, MSQL, MySQL, Oracle, PostgreSQL, Sybase, Velocis...
Adabas D, Dbase, Informix, MySQL, Oracle, PostgreSQL, Sybase...
Besonderheiten/ zusätzliche Features
Banner-Rotierung, Seitenzähler, Permission, Checker, Content Linking
PDF-Generierung, Grafik-Generierung, XML-Parameter
grosse Anzahl an Perl-Modulen
nein
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Vor- und Nachteile Perl
[+] leistungsfähige Programmiersprache mit vielen Funktionen
[+] sehr gut für Text-Processing geeignet
[+] viel verfügbare Dokumentation
[+] zahlreiche Bibliotheken (CGI, DBI, Grafik, LDAP, …)
[+] weit verbreitet (vor allem im Unix-Umfeld), für alle Plattformen erhältlich; gehört zu praktisch jeder Unix-Installation. Auch für andere Zwecke häufig verwendet.
[+] Open Source
[ - ] für Einsteiger gewöhnungsbedürftige Syntax
[ - ] da keine speziell auf Webapplikationserver zugeschnittene Sprache, sind für komfortables Arbeiten zusätzliche Module nötig
[ - ] eher langsam, wenn nicht nicht via Embperl oder ePerl im Webserver integriert
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Vor- und Nachteile PHP
[+] weit verbreitet
[+] Open Source
[+] speziell für Server Side Scripting entwickelt
[+] leistungsfähige und einfache Schnittstellen zu häufig in Webapplikationen benutzten Netzwerkdiensten (Datenbanken, LDAP, Mail, …)
[+] leicht zu erlernende Sprache
[ - ] Anbindung an bestehende Applikationen eher umständlich
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Vor- und Nachteile ASP
[+] im Microsoft-Umfeld weit verbreitet, im Internet Information Server integriert
[+] Programmierung in JavaScript (oder VBScript) ist vielen Webprogrammierern vertraut
[+] durch von Microsoft gelieferte COM-Komponenten komfortable Anbindung an Microsoft Produkte (Excel, Access)
[ - ] Fähigkeit von JavaScript begrenzt, Leistungsfähigkeit resultiert aus den Komponenten, nicht aus der Mächtigkeit der Programmiersprache
[ - ] proprietäre Lösung, nur im Microsoft-Umfeld, das heißt IIS, nutzbar
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Verbreitung der vorgestellten Skriptsprachen I
Meldung der webhostlist vom 12.5.2000 In einem Testverfahren wurden mehr als 600 von Webprovidern selbst betriebene Server online getestet und nach den installierten Software-Versionen ausgewertet. Überraschend klar das Ergebnis:
85 % Apache
14% IIS
Auch bei den genutzten Scriptsprachen brachte die Studie neue Erkenntnisse:
Etwas mehr als 50 % der getesteten Server unterstützte die Programmiersprache PHP,
15% die Microsoft-Variante ASP und
immerhin noch 13,4% Perl.
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Verbreitung PHP
9.091.908 Domains, 1.192.687 IP Addressen unterstützen PHPQuelle: Netcraft
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Technik
T E C H N I K
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Für den Internet-Dienst "World Wide Web" muß auf einem Hostrechner, der anderen Rechnern diese Dienste anbieten will, eine entsprechende Server-Software laufen.
Ein Hostrechner kann einen Internet-Dienst nur anbieten, wenn eine entsprechende Server-Software auf dem Rechner aktiv und der entsprechende Port geöffnet ist.
Server sind Programme, die darauf warten, daß eine Client-Anfrage eintrifft.
Clients sind dagegen Software-Programme, die von Servern anfordern (z.B. ein WWW-Browser).
Client- Serververbindungen
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Webserver und Skriptsprachen
Perl, ASP oder PHP werden als serverseitige Erweiterungen in den Webserver eingebunden
Zur Laufzeit werden die Skriptteile einer Datei „geparst“ und eine Ausgabedatei generiert
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Webserversysteme und deren Verbreitung
In der Hauptsache sind derzeit zwei Serversysteme im Einsatz:
- Apache auf Linux / Unix
- MS IIS auf MS Windows
Aktive Server Juni 2000 - April 2002 (Quelle Netcraft):
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Anforderungen an moderne Webserver
Stabilität
Performance
Unterstützung gängiger Internet-Standards (RFC)
Optimale Integration in das Betriebsystem
Administration
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Apache im Überblick
Entstanden aus einem gepachten NCSA Server -> „a patchy Server“
Seit 1995 entwickelt von der „Apache Group“ ab 1999 als „Apache Software Foundation“
Betriebssysteme
- Alle Unix-Derivate
- Windows 32-Bit
- MacOS
Kostenfrei erhältlich als Source-Code oder als Binärdatei
Funktionen
- Webserver
- SSL
- Proxy möglich
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
IIS im Überblick
Version 1.0 erstmals als Beta-Version für NT 3.51 erhältlich
Seit Version 2.0 Bestandteil des NT-Servers
Aktuelle Version 5.0
„abgespeckte“ Versionen für Win 9x und NT Workstation
Funktionalität
- Webserver
- FTP-, SMTP- und NNTP-Server
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Apache vs. IIS – Servertechnik
IIS Apache
Virtual Server Ja Ja
HTTP 1.1 Unterstützung Ja Ja
URL Mapping und Umleitung Ja Ja
HTTP-Header (Expires...) Ja Ja
SSI Ja Ja
Cookie-Verwaltung Ja Ja
Zusatzfeatures SMTP, NNTP Proxy
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Apache vs. IIS – erf. Vorkenntnisse
Für professionellen Serverbetrieb notwendige Kenntnisse:
Detaillierte Betriebssystemkenntnisse
TCP/IP-Kenntnisse
HTTP-Kenntnisse
Kenntnis einer administrativen Skriptsprache (z.B. Perl bzw. VBA)
Grundlegende Datenbankkenntnisse
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Apache vs. IIS – Verwaltung
IIS
Sehr leichte Administration der Grundeinstellungen
Gute Remoteadmin-Funktionen
Komplexe Architektur
Admin-Scripting komplexer als Apache
Apache
Sehr komplexe Konfigurationsdatei für „Anfänger“
Noch keine 100%ig stabile GUI
Sehr detailliert einstellbare Konfigurationsdatei
Sehr geringer Ressourcenbedarf
Leicht austauschbare Konfiguration
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Serverinstallation – WAMP, LAMP
Je nach verwendeter Technik sind unterschiedliche Schritte bei der Anpassung bzw. der Installation auf dem Webserver zu gewährleisten.
Bei der Verwendung von PHP spricht man von einem
WAMP - Server:
Windows Apache MySQL PHP
Bzw. von einem
LAMP – Server:
Linux Apache MySQL PHP
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Serverinstallation
In jedem Fall sind folgende Schritte notwendig:
1) Installation einer Serversoftware
2) Installation einer Datenbank
3) Installation einer Skriptsoftware
4) Modifikation der Konfigurationsdateien der Webserversoftware
- Apache: Anpassung der httpd.conf mittels Texteditor
- IIS: Anpassung der Konfiguration mittels GUI
Die Installation und Anpassung der Serversoftware obligt i.d.R. dem Webmaster bzw. Systemadministrator. Bei Serverpaketen eines ISP wird die Installation von diesem vorgenommen.
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Zusammenfassung
Die Verwendung datenbankgestützter Techniken bietet sich bei Webseiten mit wechselnden Inhalten an.
Steuerung der Inhalte und Datenbankzugriffe werden über Skriptsprachen gewährleistet
Als Skriptsprachen haben sich vor allem Perl, ASP und PHP bewährt.
Die Skriptelemente werden zur Laufzeit gegen Standard-HTML ausgetauscht und an den Client geschickt.
Das Parsen der Skripte übernimmt der Webserver
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praxis I
P R A X I S 1
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praxisbeispiele – www.msn.de
www.msn.de
Microsofts grosses Portal
Informationsverbreitung
Messaging
Chat
Foren
Personalisierung
....
Komplette Programmierung in ASP
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praxisbeispiele – www.fh-nuertingen.de
www.fh-nuertingen.de
Die Fachhochschule Nürtingen setzt in Teilen ihrer Homepage modulare PHP-Skripte ein:
FH-iNTern – e-Magazin, modulares CMS
Veranstaltungskalender – modulares CMS und Contentsteuerung
Pressemeldungen – modulares CMS
Seminaranmeldung – modulares CMS und komplexe Hintergrundaktivitäten zur e-Administration
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praxisbeispiele – shop.gb-arbeitsschutz.de
Shop.gb-arbeitsschutz.de
Shopsystem der Karlsruher Firma gb-Arbeitsschutz.de
Komplett PHP-basiert
Session-management
Authentifizierung
Katalog- und Produktverwaltung
MyShop Technologie
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praxisbeispiele – Perl
Perl
Findet inzwischen im Front End Bereich kaum noch Anwendung. Durch die Nähe zum Betriebssystem ist Perl aber nach wie vor gern verwendete Skriptsprache zur Entwicklung Client-Server basierter Anwendungen:
Intershop 4 – E-Commerce Software, www.biegex.de
IONAS 1.81 – CMS, www.ccf-kinderhilfswerk.org
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Fazit aus der Praxisbetrachtung
Im Erscheinungsbild der Webseiten ergeben sich durch die unterschiedlichen Technologien keine Unterscheidungen.
Wesentliche Unterschiede sind die bereits besprochenen Unterschiede im Hintergrund.
Alle Techniken bieten ein sicheres und weitreichendes Anwendungsspektrum im Inter- und Intranet.
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Prozessanalyse – Newsdatenbank
www.digital-worx.de/admin - www.digital-worx.de
Anhand einer relativ kleinen News-Datenbank werden die Prozesse einer datenbankgestützten Webanwendung im Front- und Backend-Bereich dargestellt:
Artikel verwalten
Artikel anlegen
Artikel bearbeiten
Artikel löschen
Artikel im Frontend ausgeben
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Prozessanalyse – Artikel verwalten
Um die in der Datenbank enthaltenen Artikel zu überblicken wird eine Liste der vorhandenen Daten erstellt. Über einen Hyperlink kann der Benutzer einen Artikel auswählen und z.B. bearbeiten.
1) Aufbau einer Verbindung zum Datenbankserver
2) Abfrage auf die geöffnete Datenbank, u.U. nur auf Teilbereiche
3) Einlesen des Abfrageergebnisses in die Programmumgebung der verwendeten Skriptsprache
4) Satzweise Ausgabe der abgefragten Datenbankinhalte inkl. weiterer Seitenelemente (z.B. Hyperlinks zur Satzauswahl)
5) Schliessen der Verbindung zum Datenbankserver
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Prozessanalyse – Artikel anlegen
Um einen neuen Artikel anzulegen stellt die Anwendung dem Benutzer ein Onlineformular zur Verfügung. Die Felder des Formulares sind leer.
Das notwendige Formular kann in Standard-HTML erstellt werden.
Zur Bereitstellung langer Listenfelder (z.B. Monatstage) kann eine Skriptsprache verwendet werden.
Mit dem Event OnSubmit sollten die Formularinhalte per Javascript auf deren Plausibilität bzw. Vollständigkeit überprüft werden.
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Prozessanalyse – angelegten Artikel in die Datenbank schreiben
Der angelegte Artikel wird in die Datenbank geschrieben um ihn dauerhaft zu speichern. Dies erfolgt in der Regel im Hintergrund und wird vom Benutzer i.d.R. nicht wahrgenommen.
1) Aufbau einer Verbindung zum Datenbankserver
2) Anfügen des neuen Datensatzes an das Ende der Datenbank
3) Schliessen der Verbindung zum Datenbankserver
4) Weiterleitung auf die nächste auszugebende Seite.
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Prozessanalyse – Artikel bearbeiten
Von der Übersicht kann ein Artikel zur Bearbeitung ausgewählt werden.
1) Aufbau einer Verbindung zum Datenbankserver
2) Abfrage des Datensatzes mit der übergebenen ID in der geöffneten Datenbank
3) Einlesen des Abfrageergebnisses in die Programmumgebung der verwendeten Skriptsprache
4) Ausgabe des Abfrageergebnisses in einem Onlineformular. Die Formularfelder enthalten dann den jeweils passenden Feldinhalt
5) Schliessen der Verbindung zum Datenbankserver
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Prozessanalyse – bearbeiteten Artikel in die Datenbank schreiben
Der bearbeitete Artikel wird in die Datenbank geschrieben um ihn dauerhaft zu speichern. Dies erfolgt wie das erstmalige Speichern in der Regel im Hintergrund und wird vom Benutzer i.d.R. nicht wahrgenommen.
1) Aufbau einer Verbindung zum Datenbankserver
2) aktualisieren des entsprechenden Datensatzes, identifiziert durch die mit übergebene ID
3) Schliessen der Verbindung zum Datenbankserver
4) Weiterleitung auf die nächste auszugebende Seite.
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Prozessanalyse – Artikel löschen
Von der Übersicht kann ein Artikel zur Löschung ausgewählt werden. Bevor die Löschung endgültig vollzogen wird sollte durch eine Zwischenabfrage sichergestellt werden ob die Löschung wirklich beabsichtigt ist!
1) Aufbau einer Verbindung zum Datenbankserver
2) Löschung des durch die mitübergebene ID identifizierten Datensatzes
3) Schliessen der Verbindung zum Datenbankserver
4) Weiterleitung zur nächsten auszugebenden Seite
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Prozessanalyse – Artikel ausgeben
Die in der Datenbank enthaltenen Artikel sollen für gewöhnlich an geeigneter Stelle im Frontend ausgegeben werden.
1) Aufbau einer Verbindung zum Datenbankserver
2) Abfrage des, durch die mitgegebene ID eindeutig zu identifizierenden, Datensatzes in der geöffneten Datenbank
3) Einlesen des Abfrageergebnisses in die Programmumgebung der verwendeten Skriptsprache
4) Ausgabe der Datensatzinformation in formatierter Form
5) Schliessen der Verbindung zum Datenbankserver
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praxis II
P R A X I S 2
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung
1) Konzeption
2) Screendesign
3) HTML und JS Programmierung
4) Einbinden der PHP Skripte in die HTML Struktur (tw. JS Programmierung)
5) Datenmigration
6) Test und Qualitätssicherung
7) Langfristige Beobachtung der Anwendung im Alltag
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung - Konzeption
Welche Funktionen soll die Anwendung abdecken?
Welche Schnittstellen müßen bedient werden?
Welche Prozesse werden notwendig sein?
Wie sind die Prozesse technisch realisierbar?
Welche Daten müssen gespeichert werden?
Aufbau einer Datenbankstruktur als ER-Modell
Normalisierung der Datenstruktur
Woher kommen die initialen Datensätze?
Wie können die initialen Datensätze migriert werden?
Wer pflegt wie und mit welchem Aufwand die Daten?
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung - Screendesign
Neben den herkömmlichen Grundregeln zum Screendesign muss die dynamische Datenlänge berücksichtigt werden
Benutzerführung im Back-Office ist besonders wichtig
„Design follows function“ sollte als Leitsatz gelten
Design an der Zieldefinition ausrichten (z.B. ist im B2B Bereich ist zuviel „Schnick-Schnack“ oft hinderlich)
Vor der Freigabe des Screendesigns ist ein abstimmenderWorkshop mit den Entwicklern unumgänglich um die Machbarkeit sicherzustellen
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung - Konzeption
Welche Funktionen soll die Anwendung abdecken?
Welche Prozesse werden notwendig sein?
Wie sind die Prozesse technisch realisierbar?
Welche Daten müssen gespeichert werden?
Aufbau einer Datenbankstruktur
Woher kommen die initialen Datensätze?
Wie können die initialen Datensätze migriert werden?
Wer pflegt wie und mit welchem Aufwand die Daten?
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung – HTML und JS
Kann von Programmierern übernommen werden die keine Skriptkenntnisse (z.B. PHP) besitzen.
Kommentare erleichtern die Einbindung der Skriptelemente
Formularnamen eindeutig und sinnvoll vergeben
Formularfeldnamen ebenfalls eindeutig und sinnvoll vergeben
Vor Beginn der Programmierung muss dokumentiert werden welche syntaktischen Grundregeln verfolgt werden (z.B. Groß-, Kleinschreibung von Feldnamen...)
Durch enge Zusammenarbeit mit den Skriptentwicklern können Missverständnisse und Mehraufwand vermieden werden.
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung - Skripte
Die Skriptelemente werden direkt in den HTML-Code eingebettet
Kommentare machen ein späteres Einarbeiten in die Skripte einfacher und dienen auch bei der Entwicklung der Orientierung
Bei jeder Skriptsprache gibt es Empfehlungen zur sauberen Programmierung, diese sollten eingehalten werden
Variablen sollten nicht „blind“ verwendet werden
Eine konsequente Syntax erhöht die Effizienz
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung - Datenmigration
Erstellen der Datenbankstruktur, z.B. mit Hilfsmitteln wie phpMyAdmin für MySQL
Import der Initialdaten über programmierte Skripte oder auch über Hilfsmittel wie z.B. phpMyAdmin für MySQL
Kontrolle ob die importierten Daten richtig in die Datenbank geschrieben wurden
Kontrolle ob die Feldgrößen der Datenbank der Länge der gelieferten Daten genügt
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung – Test und QS
Vor Übergabe an den Kunden bzw. Übergang der Anwendung in den Livebetrieb muss diese einem ausführlichen Test unterzogen werden
Test durch unterschiedliche Nutzer
Test auf unterschiedlichen Rechnern
Test auf unterschiedlichen Betriebssystemen
Test in unterschiedlichen Browsersystemen
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Erstellungsschritte einer Webanwendung - Langzeitbeobachtung
Mit dem Übergang in den Livebetrieb darf die Qualitätssicherung nicht abbrechen
Eine langfristige Beobachtung der Anwendung sollte schon aus Gründen des eigenen Interesses erfolgen
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praxis III
P R A X I S 3
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Ein reines PHP-Programm – phpinfo
PHP kann in einem herkömmlichen Texteditor programmiert werden
Die PHP-Funktion phpinfo() gibt die PHP-Konfiguration des Servers aus
<?
phpinfo();
?>
Jede Befehlszeile wird in PHP mit einem „ ; “ beendet
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
PHP in HTML
PHP-Teile werden im Dokument durch die Sondertags
<? bzw. <?php
eingeleitet und durch
?>
beendet.
Alle Elemente zwischen diesen Tags werden vom PHP-Programm interpretiert und gegen Standard-HTML ersetzt
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Hallo Welt
Durch die Einbettung des PHP-Codes in den HTML-Code können die PHP-Ausgaben formatiert und an das Screendesign angepasst werden
<html>
<body>
<center>
<?
echo „<font><face=arial><b>Hallo Welt!</b></font>“;
?>
</center>
</body>
</html>
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Grundwissen PHP – Kommentare
PHP kennt zwei Arten Kommentare:
Einzeilige Kommentare:
// vor eine Zeile gestellt bewirkt das Ignorieren dieser Zeile durch den PHP-Interpreter
Mehrzeilige Kommentare:
/* bewirkt das Ignorieren aller Skriptteile bis der Kommentar durch
*/ beendet wird
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung - Aufgabenstellung
Über ein Formular soll der Benutzer Vorname und Zuname in einer Datenbank speichern können.
Die eingetragenen Daten sollen editiert werden können
Die eingetragenen Daten sollen einzeln gelöscht werden können
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung - Fragestellung
Prozesse?
Notwendige Dateien?
Notwendige Datenbankfelder und Feldtypen?
Sicherheitsabfragen?
Kontrollinstanzen?
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung – Anlegen der Datenbankstruktur
Anlage der Datenbankstruktur erfolgt über das Hilfsmittel phpMyAdmin
phpMyAdmin ist eine PHP-Skriptsammlung zur einfachen Administration der MySQL Datenbank
Mit phpMyAdmin können Sie je nach Benutzerrechten:
Datenbanken anlegen
Tabellen innerhalb von Datenbanken anlegen
Daten manipulieren
Daten migrieren
Daten exportieren
......
http://www.phpmyadmin.net/
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung – liste.php4
Aufgaben der Datei liste.php4:
Ausgabe einer Liste der in der Datenbank enthaltenen Einträge
Link für einen Neueintrag
Link zur Edit-Maske
Link zum Löschen eines Datensatzes
Verwendete Funktionen:
mysql_connect($mysqlHost, $mysqlUser, $mysqlPwd);
mysql_select_db($mysqlDb, $conn);
mysql_query("SELECT * FROM $mysqlTabelle ORDER BY name");
while($row=mysql_fetch_row($result)) {
echo $row[1];
}
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung – insert.php4
Aufgaben der Datei insert.php4:
Formular zur Eingabe eines neuen Datensatzes
Verwendete Funktionen:
<script language="JavaScript"><!--function chkFormular(){
if(document.eingabe.vorname.value == "") { alert("Bitte geben Sie einen Vornamen ein!"); document.eingabe.vorname.focus(); return false; }}//-->
</script>
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung – insert.sql.php4
Aufgaben der Datei insert.sql.php4:
Schreiben der eingetragenen Werte in die Datenbank
Verwendete Funktionen:
mysql_connect($mysqlHost, $mysqlUser, $mysqlPwd);
mysql_select_db($mysqlDb, $conn);
mysql_query("insert into $mysqlTabelle
values ('', '$vorname', '$name')");
header ("Location: list.php");
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung – edit.php4
Aufgaben der Datei edit.php4:
Darstellung des betroffenen Datensatzes in einem Formular
Verwendete Funktionen:
mysql_connect($mysqlHost, $mysqlUser, $mysqlPwd);
mysql_select_db($mysqlDb, $conn);
$result=mysql_query("SELECT * FROM $mysqlTabelle
where id='$id'");
$row=mysql_fetch_row($result);
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung – edit.sql.php4
Aufgaben der Datei edit.sql.php4:
Schreiben der editierten Werte in die Datenbank
Verwendete Funktionen:
mysql_connect($mysqlHost, $mysqlUser, $mysqlPwd);
mysql_select_db($mysqlDb, $conn);
mysql_query("update $mysqlTabelle set vorname='$vorname',
name='$name' where id='$id'");
header ("Location: list.php");
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung – delete.php4
Aufgaben der Datei edit.sql.php4:
Löschen eines Datensatzes
Verwendete Funktionen:
mysql_connect($mysqlHost, $mysqlUser, $mysqlPwd);
mysql_select_db($mysqlDb, $conn);
mysql_query("delete from $mysqlTabelle where id='$id'");
header ("Location: list.php");
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Praktische Umsetzung – alle Dateien
In allen Dateien wird in den ersten Zeilen der Befehl
require("config.inc.php");
abgearbeitet.
Hierdurch wird die Datei config.inc.php in die aktuelle Datei einbezogen. Die darin
enthaltenen Variablen stehen so automatisch auch in der aktuellen Datei zur
Verfügung.
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Anhang
A N H A N G
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Neuerungen von PHP3 zu PHP4
Automatisches Freigeben von nicht mehr benutztem Speicher
Boolsche Kontsanten
OOP-Erweiterungen
COM_Unterstützung
foreach-Schleifen für die Behandlung von Arrays
Neue Array-Funktionen
Output Buffering zum Speichern der Ausgabe von PHP-Skripten in Variablen
Referenzen auf Variablen (Pointer)
Sessions
Spätes Binden von Funktionen
Entfernen von Variablen aus dem Speicher mit unset()
Variablen innerhalb von Strings
Verbesserte Konfigurationsmöglichkeiten
Vereinfachte Anpassung an Webserver
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Links zum Thema
http://www.php.netdie offizielle Seite zum PHP Projekt
http://www.asp.netdie MS ASP Seite zu ASP
http://www.perl.comdie offizielle PERL-Seite
http://www.php-center.deumfangreiches PHP-Portal mit Tutorials, FAQ, Dokumentationen...
http://www.mysql.comdie offizielle Seite der MySQL
http://www.apache.orgdie offizielle Seite des Apache-Projekts
Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0
Literatur
Einführung in Perl, O‘Reilly™ISBN 3-89721-105-XGute Einführung in Perl
PHP 4 Grundlagen und Profiwissen, HANSER VerlagISBN 3-446-21546-8Wie der Titel schon andeutet ein sehr gutes Buch für professionele Entwickler
Apache, HANSER VerlagISBN 3-446-21588-3Gute Anleitung zum Umgang mit dem Apache Webserver
SQL-der Standard, ADDISON-WESLEYISBN 3-8273-1345-7Das Standardwerk zum Standard