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. Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Übersicht ÜBERSICHT Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Übersicht 15. Mai 2002 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 Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Übersicht 16. Mai 2002 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 Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Fakten FAKTEN Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Einsatzgebiete datenbankgestützter Internetseiten I 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 Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Einsatzgebiete datenbankgestützter Internetseiten II 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 Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Geschichte interaktiver Webseiten und des Internets 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. 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 HTMLund Javascript Programmierer) Sehr gering: Programmierung mit einfachen, vertrauten Skriptsprachen wie JScript oder Vbscript Gering: eigene, leicht Hoch: umfangreiche erlernbare SkrIptsprache mit SkrIptsprache gewöhnungsbedürftiger Syntax Empfehlenswerte Vorkenntnisse VBScript/Javascript C/ C++, Perl, Javascript, oderJava 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 ASPKomponenten 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 Java-Objekte Befriedigend: Interface zu C/C++Bibliotheken, Programmierung eigener PerlModule 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 modphp), 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 Sehr gut: für Windows, Soureecode Unix/Linux,, verfügbar 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 nein 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... PDF-Generierung, Grafik-Generierung, XML-Parameter grosse Anzahl an PerlModulen Besonderheiten/ zusätzliche Banner-Rotierung, Features Seitenzähler, Permission, Checker, Content Linking 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 PHP Quelle: Netcraft Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Technik TECHNIK Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0 Client- Serververbindungen 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). 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 SMTP, NNTP Proxy Zusatzfeatures 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 PRAXIS1 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 PRAXIS2 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 abstimmender Workshop 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 PRAXIS3 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 ANHANG 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.net die offizielle Seite zum PHP Projekt http://www.asp.net die MS ASP Seite zu ASP http://www.perl.com die offizielle PERL-Seite http://www.php-center.de umfangreiches PHP-Portal mit Tutorials, FAQ, Dokumentationen... http://www.mysql.com die offizielle Seite der MySQL http://www.apache.org die 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-X Gute Einführung in Perl PHP 4 Grundlagen und Profiwissen, HANSER Verlag ISBN 3-446-21546-8 Wie der Titel schon andeutet ein sehr gutes Buch für professionele Entwickler Apache, HANSER Verlag ISBN 3-446-21588-3 Gute Anleitung zum Umgang mit dem Apache Webserver SQL-der Standard, ADDISON-WESLEY ISBN 3-8273-1345-7 Das Standardwerk zum Standard Rahlfs+Ross Multimedia GmbH | Alleenstr. 17a | D-72622 Nürtingen | Tel. +49 (0)7022 - 93392-0