Internettechnologien Vorlesung für Master-Studierende Geoinformation und -management Sommersemester 2011 Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik / Mathematik Dieser Foliensatz basiert z.t. auf Material von Herrn Prof. Grossmann Zur Person: Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik/Mathematik Raum Z 363 Tel: 0351 462 3589 Email: sobe@informatik.htw-dresden.de 2
Ziele (1) Erlangen von Überblickswissen: Sie kennen die Technologien, wie man auf der Hardwarebasis eines Rechnernetzes (LAN oder WAN) verteilte Anwendungen (Software) entwickeln kann, die miteinander kommunizieren (Netzwerkprogrammierung). Sie verstehen die Begriffe zur Internettechnologie mit ihrem Inhalt. Sie sind in der Lage, die Bedeutung des Gebietes Internettechnologien / Webtechnologien richtig einzuordnen. Kenntnis Architektur und Fähigkeit zur Programmierung: Pipe-Konzept, Socket-Konzept. 3 Ziele (2) Kenntnis Architektur und Fähigkeit zur Programmierung: Nutzung eines Webservers und das http-protokoll XML-Sprache und deren Verarbeitung Nutzung des Clientseitigen Scriptings (JAVA-Script, XML, DOM) und auch AJAX CGI und PHP für serverseitiges Scripting Webservices: WSDL, Schnittstellen über SOAP und REST Kenntnis Architektur und Fähigkeit zur Programmierung: Verständnis und Anwendung von Cloud-Computing- Technologien 4
Zeitplan und Termine Vorlesung: wöchentlich Montags, 9:20-10:50 Uhr, Z 722 Übung/Praktikum: wöchentlich 1. Woche: erster Termin: Montag, 11:10 12:40 Uhr, S130 zweiter Termin: Donnerstag, 15:00 16:30 Uhr, S130 2. Woche erster Termin: Montag, 11:10 12:40 Uhr, S130 zweiter Termin: Mittwoch, 11:10 12:40 Uhr, S130 Start der Übungen: 21.3. mit Einführung in die Internetkommunikation der HTW-Dresden (Web, FTP, Dateiserver), danach wöchentlich mit Übungsaufgaben 5 Prüfungsleistungen Projektarbeit als Prüfungsvorleistung (ohne Note) Prüfung im Anschluss der Vorlesungsperiode im Sommersemester 2011 20 min mündliche Prüfung lt. Prüfungsordnung wird bei hoher Teilnehmerzahl als schriftliche Prüfung durchgeführt 6
Lehrmaterial und Literatur Vorlesungsfolien und Übungsaufgaben als PDF in Kürze unter http://www.htw-dresden.de/~sobe Literaturempfehlungen: Lindemann,C.;Immler,C.; Harms,F.: Internet intern, Data Becker Düsseldorf, 1999 Krause, J.: PHP 4 Grundlagen und Profiwissen, Webserver Programmierung unter Windows und Linux, Carl Hanser Verlag 2000 Bünning, U. ;Krause, J.: Internet Information Server 5, Carl Hanser Verlag 2001 Cerami, E.: Web Services Essentials, O Reilly, 2002 Krause,J/ Injac,I.: PHP 4 Kochbuch, Lösungen, Bibliotheken und Applikationen der PHP-Community, Carl Hanser Verlag, 2002 Wittenbrink,H. / Köhler,W.: XML, TEIA Lehrbuch Verlag Berlin, 2003 Gamperl, J.: Ajax Web 2.0 in der Praxis, Galileo Press Bonn, 2006 Bauer, G.: Architekturen für Web-Anwendungen, Vieweg+Teubner 2009 Rieber, P.: Dynamische Webseiten in der Praxis: Mit PHP5,, Taschenbuch, 2. aktualisierte Auflage, mitp Verlag, 2009 7 Die meisten Sprachen, Formate und Protokolle im Web sind offengelegt Entsprechende Standards können oft Online bezogen werden: http://www.w3.org/tr/... Lehrmaterial und Literatur 8
Inhalt (1) 1. Internet-Grundlagen und Überblickswissen OSI 7-Schichtenmodell Verteilte Anwendungen, allgemeines Client-Server-Modell Pipes/Sockets als Kommunikationsmodell auf der IP- Schicht WWW ein klassisches Client-Server-System (C/S) mit http als zustandsloses Verbindungsprotokoll in der Anwendungsschicht Verbindungsorientierte C/S-Systeme Architektur von Web-Applikationen Möglichkeiten des clientseitigen Scriptings Multi-Tier-Architekturen von Web-Applikationen Möglichkeiten des serverseitigen Scriptings 9 Inhalt (2) 2. WWW-Dienst im Internet http, allgemeiner syntaktischer Aufbau einer URL sowie einer Nachricht Standardablauf der Kommunikation und wichtige Methoden des http-protokolls http-nutzung durch einen Web-Browser Aufbau von Web-Applikationen unter Nutzung von http 3-Tier-Architekturen von Web-Applikationen Serverseitige Objekte für die Kommunikation WEB 2.0 und Asynchronous JavaScript And XML (AJAX) programmgesteuerter Zugriff auf Ressourcen des Web- Servers unter Nutzung des XMLHTTP-Objektes und seiner Methoden 10
Inhalt (3) 3. 3-Tier- Anwendungen mit serverseitigem Scripting Grundelemente von PHP (Hypertext Preprocessor) in Zusammenarbeit mit Apache-Webserver Grundelemente von VBScript in Zusammenarbeit mit IIS- Webserver Webserver-seitige Variable (wichtige, serverseitige Objekte) FORM-Tag als Schnittstelle zwischen erster und dritter Schicht (Tier) 11 Inhalt (4) 4. Web Services Web Services als Standard für Schnittstellen zwischen Applikationen und Content Services im Internet Motivation, allg. Anforderungen Web Services basierend auf XML (Datenbeschreibung) SOAP (Simple Object Access Protocol) SOAP-Grundgerüst, Header, Body, Antwort, Fehlernachrichten Transport von SOAP-Nachrichten SOAP-Tools Alternative REST 12
Inhalt (5) 4. Web Services (Fortsetzung) Dienstbeschreibungssprache WSDL WSDL: Interaktionsmuster WSDL: Binding, Service und Port WSDL: SOAP-Binding Infrastruktur zur Publizierung von Web Services Universal Description, Discovery and Integration (UDDI) UDDI APIs UDDI über SOAP 13 Inhalt (6) 5. Realisierung und Aufruf von Web Services mit PHP Vorgehensweise Beispiele (Google, Amazon usw.) Eigene Web Sevices entwerfen und realisieren 9. Verarbeiten von XML-Dokumenten Web Services liefern XML-Dokumente als Metainformationen Clientseitige Verarbeitung (Parsen) von XML mit JavaScript unter Nutzung des DOM 14
Inhalt (7) 6. 4-Tier-Applikationen mit Einbindung eines DB-Servers Verbindung zum DB-Server über ODBC Zugriff zur relationalen Datenbank (DB) über SQL vom serverseitigem Skript Zugriff zu DB-Frontends am Beispiel ACCESS Zugriff zu DB-Backends am Beispiel MS SQL-Server 15 Web-Browser Einordung der Techniken Javascript Ajax-Engine HTTP, HTML- Dokumente XML Externe Skripte und Daten CGI Web- Server PHP Ajax-Engine 16
Zeitliche Entwicklung des Internets und der Technologien (1) 1969: ARPANET (U.S. Military) als Vorgänger des Internets 1982: Internet mit TCP/IP Implementierung 1982: E-Mail (SMTP-Protokoll) 1985: FTP-Protokoll (File Transfer über TCP-Verbindungen) 1989: Erfindung des WWW am CERN, damit verbunden HTTP (Hypertext Transport Protocol), DNS (Distributed Name Service,1987) 1993: NCSA entwickelt MOSAIC-Browser 1994: Entwicklung von PHP zum serverseitigem Scripting 17 Zeitliche Entwicklung des Internets und der Technologien (2) 1995: Java: eine C++ähnliche Sprache mit stärkerem Bezug auf Ausführung in vernetzten Systemen 1995: Erscheinen von Javascript zur Ausführung im Webbrowser 1998: Metasprache XML (extensibe Markup Language) 1999/2002: erste Erwähnung / Begriffsnutzung von Web 2.0 (ein neues Nutzungsparadigma für das Internet das durch neue Technologien ermöglicht wurde) 2002: Web-Services: Dienste mit XML-basierter Schnittstellenbeschreibung und XML-Interfaces etwa 2005: AJAX (Asynchroneous Javascript and XML) als Technologie auf der z.b. Google Maps aufbaut etwa 2008: Cloud Computing: Virtualisierte Ressourcen + Web Services + Automatisierung 18