Internettechnologien Vorlesung für Master-Studierende Geoinformatik/-management Sommersemester 2016 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 Tel: 0351 462 3589 Email: sobe@htw-dresden.de 2
Erlangen von Überblickswissen: Ziele (1) Sie lernen die Technologien kennen, wie man auf der Hardwarebasis eines Rechnernetzes verteilte Anwendungen (Software) entwickeln kann, die miteinander kommunizieren (Netzwerkprogrammierung, z.b. über Sockets). Sie verstehen die Begriffe zur Internettechnologie mit ihrem Inhalt. Sie sind in der Lage, das Gebiet Internettechnologien/ Webtechnologien richtig einzuordnen. 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 4
Zeitplan und Termine Vorlesung: 2 SWS, wöchentlich 1. Woche: Dienstag, 13:20 Uhr, S 528 2. Woche: Donnerstag, 7:30 Uhr, S 532 Praktikum: 3 SWS, wöchentlich, Labor S130 1. Woche: Dienstag, 15:10 Uhr 2. Woche: Donnerstag, 9:20 Uhr Start der Praktikum: 24.3.2016 mit Einführung in die Internetkommunikation der HTW-Dresden (Dateiserver, Webserver, FTP, SSH) und Demonstrationen, danach wöchentliches Praktikum mit Aufgabenblättern 5
Prüfungsleistungen Projektarbeit als Prüfungsvorleistung (ohne Note) Schriftliche Prüfung im Anschluss der Vorlesungsperiode im Sommersemester 2016 90 Minuten bisher mit Material (Mitschriften, Bücher, u.ä.) 6
Lehrmaterial und Literatur Vorlesungsfolien und Praktikumsaufgaben als PDF unter http://www.htw-dresden.de/~sobe 7
Literaturempfehlungen: Lehrmaterial und Literatur 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 Web- Programmierung (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 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 Sockets und Pipes als Kommunikationsmodell auf der IP-Schicht WWW ein klassisches Client-Server-System (C/S) mit http als zustandsloses Verbindungsprotokoll in der Anwendungsschicht Architektur von Web-Applikationen Möglichkeiten des clientseitigen Scriptings Möglichkeiten des serverseitigen Scriptings Multi-Tier-Architekturen von Web-Applikationen 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 (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) 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 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 7. Grundlagen von Cloud-Computing Begriffe SOA, SOC, Grid, Cloud Verschiedene Arten von Cloud-Computing Beispiele für Cloud-Computing-Infrastrukturen Ausgewählte technische Details Exkurs: Netzwerksicherheit, Datenschutz, Privacy 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