Internettechnologien Vorlesung für Master-Studierende Geoinformation und -management Sommersemester 2012 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, 11:10-12:40 Uhr, S529 Übung/Praktikum: wöchentlich Termin: Dienstag, 13:10 14:40 Uhr, S130 Start der Übungen: 20.3.2012 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 2012 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 unter http://www.htw-dresden.de/~sobe 7 Literaturempfehlungen: Lehrmaterial und Literatur 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 8
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 9 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 10
Inhalt (2) 2. WWW-Protokolle und -Formate HTTP, allgemeiner syntaktischer Aufbau Standardablauf der Kommunikation und wichtige Methoden des http-protokolls Aufbau von Web-Applikationen unter Nutzung von HTTP, HTML, DOM, XML, CSS 11 Inhalt (3) 3. Clientseitige Verarbeitung und Javascript Kurzeinführung/Auffrischung: Javascript Dynamische Effekte auf Webseiten durch Javascript Clientseitige Verarbeitung von XML-Daten mit JavaScript unter Nutzung des DOM Objektorientiertes Programmieren mit Javascript 12
Inhalt (4) 4. Anwendungen mit serverseitiger Verarbeitung CGI und Server-APIs Die Skriptsprache PHP in Zusammenarbeit mit dem Apache-Webserver Grundelemente von VBScript in Zusammenarbeit mit IIS- Webserver PHP: serverseitige Objekte, Verarbeitung von Formularen (FORM-Tag) PHP: Zugriff auf Dateien, Umgang mit Cookies Anbindung von Datenbanken Verbindung zum DB-Server über ODBC Zugriff zur relationalen Datenbank (DB) über SQL vom serverseitigem Skript 13 Inhalt (5) 5. AJAX Technologie WEB 2.0 und Asynchronous JavaScript And XML (AJAX) programmgesteuerter Zugriff auf Ressourcen des Web- Servers unter Nutzung des XMLHTTP-Objektes und seiner Methoden Parameter-/Datenübertragung: Text, XML, JSON Verarbeitung von XML auf Serverseite 14
Inhalt (6) 6. 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) Transport von SOAP-Nachrichten REST-Webservices (Alternative zu SOAP) Realisierung und Aufruf von Web Services mit PHP (SOAP-PHP) Cloud-Computing: Architekturen und Schnittstellen 15 Web-Browser Einordung der Techniken Javascript Ajax-Engine HTTP, HTML- Dokumente XML Externe Skripte und Daten CGI Web- Server PHP Dateisystem und Datenbanken 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 18
Zeitliche Entwicklung des Internets und der Technologien (3) 2000-2004: weitere Web-Programmiersprachen Python 2.0 mit Web-Framework, d.h. eigene HTTP- Server- Klasse, Webbrowser-Controller ASP.NET (Active Server Pages) mit Web Forms Ruby (Skriptsprache), Web-Anwendungs-Framework: Ruby on Rails 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 Heute: Web auf Smartphones: Frameworks wie z.b. Cocoa (Apple), Android (Google) mit Web-Unterstützung 19