Internettechnologien Vorlesung für Master-Studierende „Geoinformation und -management“ Sommersemester 2015 Prof. Dr.-Ing. habil. Peter Sobe HTW Dresden Fakultät Informatik / Mathematik Zur Person: Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik/Mathematik Raum Z 363, zeitweise G 21 Tel: 0351 462 3589 Email: [email protected] Peter Sobe Internettechnologien 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 der Verbindungstechniken: Named Pipe, Socket. Peter Sobe Internettechnologien 3 Ziele (2) Kenntnis der Architektur und Fähigkeit zur Programmierung: Nutzung eines Webservers und das http-Protokoll XML-Sprache und deren Verarbeitung Nutzung des clientseitigen Scriptings (JavaScript, Verarbeitung von XML, DOM-Zugriff und -Manipulation) und auch AJAX CGI und PHP für serverseitiges Scripting Webservices: WSDL, Schnittstellen über SOAP und REST Kenntnis der Konzepte und der Architektur: Cloud-Computing-Technologien Peter Sobe Internettechnologien 4 Zeitplan und Termine Vorlesung: 2 SWS, wöchentlich Donnerstag, 7:30 Uhr, Z 722 Praktikum: 3 SWS, wöchentlich Donnerstag, ab 9:20 Uhr, S130 Start der Übungen: 26.3.2014 mit Einführung in die Internetkommunikation der HTW-Dresden (Web, FTP, Dateiserver) und Demonstrationen, danach wöchentlich mit Übungsaufgaben Peter Sobe Internettechnologien 5 Prüfungsleistungen Projektarbeit als Prüfungsvorleistung (ohne Note) Schriftliche Prüfung im Anschluss der Vorlesungsperiode im Sommersemester 2014 90 Minuten bisher mit Material (Mitschriften, Bücher, u.ä.) Peter Sobe Internettechnologien 6 Lehrmaterial und Literatur Vorlesungsfolien und Übungsaufgaben als PDF unter http://www.htw-dresden.de/~sobe Peter Sobe Internettechnologien 7 Lehrmaterial und Literatur Literaturempfehlungen: Bauer, G.: Architekturen für Web-Anwendungen, Vieweg+Teubner 2009 H. Schröder: RRZN-Handbuch, JavaScript 1.8 (RRZN-Handbuch), Herdt-Verlag 2010 A. Dithfurth; PHP5.3 - Fortgeschrittene Techniken der WebProgrammierung (RRZN-Handbuch), Herdt-Verlag 2010 Gamperl, J.: Ajax Web 2.0 in der Praxis, Galileo Press Bonn, 2006 C. Wenz: JavaScript und AJAX - Das umfassende Handbuch, Rheinwerk Verlag GmbH 2007 (Online Version unter https://www.rheinwerkverlag.de/openbook/?GPP=opjsa) A. Hollosi: Von Geodaten bis NoSQL: Leistungsstarke PHP-Anwendungen: Aktuelle Techniken und Methoden für Fortgeschrittene. Carl-Hanser-Verlag, 2012 Peter Sobe Internettechnologien 8 Lehrmaterial und Literatur Die meisten Sprachen, Formate und Protokolle im Web sind offengelegt Entsprechende Standards können oft Online bezogen werden: http://www.w3.org/TR/... Peter Sobe Internettechnologien 9 Inhalt (1) 1. Internet-Grundlagen und Überblickswissen OSI 7-Schichtenmodell Verteilte Anwendungen, allgemeines Client-Server-Modell Pipes/Sockets als Kommunikationsmodell auf der IPSchicht 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 Peter Sobe Internettechnologien 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 Peter Sobe Internettechnologien 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 Peter Sobe Internettechnologien 12 Inhalt (4) 4. Anwendungen mit serverseitiger Verarbeitung CGI (Common Gateway Interface) PHP Einführung in die Sprache Formularverarbeitung mit PHP Dateizugriff aus PHP-Skripten PHP: Cookies, Sessions Datenbankzugriff aus PHP-Skripten Exkurs: Relationale Datenbanken und SQL Exkurs: Microsoft ASP (Active Server Pages, IIS, .NET) Peter Sobe Internettechnologien 13 Inhalt (5) 5. AJAX Technologie WEB 2.0 und Asynchronous JavaScript And XML (AJAX) programmgesteuerter Zugriff auf Ressourcen des WebServers unter Nutzung des XMLHTTP-Objektes und seiner Methoden Parameter-/Datenübertragung: Text, XML, JSON Verarbeitung von XML auf Serverseite Peter Sobe Internettechnologien 14 Inhalt (6) 6. Web Services Begriff und Eigenschaften von Web-Services Serviceorientierte Architektur und Komponenten Protokolle: SOAP und REST SOAP-PHP mit einem Beispiel Ein Beispiel für einen REST-basierten Webservice Grundlagen von Cloud-Computing Peter Sobe Internettechnologien 15 Einordung der Techniken Web-Browser JavaScript Ajax-Engine HTTP, HTMLDokumente Externe Skripte und Daten Peter Sobe CGI XML WebServer PHP Internettechnologien 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 Peter Sobe Internettechnologien 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 Peter Sobe Internettechnologien 18 Zeitliche Entwicklung des Internets und der Technologien (3) 2000-2004: weitere Web-Programmiersprachen • Python 2.0 mit Web-Framework, d.h. eigene HTTPServer- 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 Peter Sobe Internettechnologien 19