WEB- & N-TIER TECHNOLOGIES Eine Einführung in Web-Technologie
Autor: Walter Rothlin (14.Oktober 2015 / 21:00)
Ziel Die Studierenden 1. erkennen die verschiedenen Probleme der Web Entwicklung 2. können Lösungskonzepte von verteilten Systemen erarbeiten 3. implementieren Web-Applikationen mit J2EE Technologien 4. integrieren eine SQL-Datenbank in eine Web-Applikation
Client Side Scripting (Java Script / Java Applets)
5.
Singleton Session Beans
3.
Server-Side scripting (CGI Common Gateway Interface)
6.
Message-Driven Beans
4.
JAVA Servlet
7.
Persistenz / JPA (Entity Beans)
5.
PHP (Personal Home Page)
6.
JSP (Java Server Page)
5.
3
Anhang
Verwendete Sprachen, Tools und Versionen Sprachen
Tools
• HTML / XHTML
• Application-Server Glassfish 3.1.1
• Java Script
• MySql 5.5
• Perl / Kornshell
• Eclipse Kepler mit:
• Java 8 / EJB 3.0
• Glassfish Plugin • MySql Plugin • Notepad++ mit npp-ftp Plugin • Firefox mit fireFtp plugin
4
Einführung / Allgemeines / Repetitionen
5
Internet
6
IP Adressen und Host- Domain-Names P Jeder Computer in einem Netzwerk muss eindeutig bezeichnet sein è IP Address: P Eindeutige Nummer (4-stellig, jede Stelle 0..255) P z.B. 107.18.128.198 P Wie Telefon-Nummer è Hostname / Domain-Name: P Eindeutiger Name für einen Computer P z.B. celera.credit-suisse.ch +
Domain-Name
Hostname
2nd Level Domain
1st Level Domain
= Full qualified hostname
7
IP Adressen ó Host- Domain-Names
P Es muss ein Verzeichnis geben, wo Hostnames und IP Adressen aufgelistet (einander zugeordnet) sind! Verzeichnisdienst! èDNS (Domain Name Service) èÜbersetzt IP-Adressen in Hostnames und umgekehrt èCommand (UNIX und DOS): nslookup èswitch.ch verwaltet und vergibt 2nd level domains für .ch
Internet Geschichte • 1969 vom DoD (Amerikanisches Verteidigungs-Ministerium) aus ARPANET • 1982 auf TCP/IP und durch UNIX verbreitet •
Einfache Services wie PING, TELNET, FTP, SMTP
•
1993 World Wide Web (WWW) mit erstem Web-Browser MOSAIC
•
Von Sir Tim Berners-Lee im CERN
è Seither rasante Verbreitung und laufend neue Services
10
Service ping Um zu testen ob ein Rechner erreichbar ist und wie weit weg er ist (roundtrip time)
ipconfig /all
zeigt die eigene IP Adresse
nslookup
übersetzt IP ß à Hostname 11
Service tracert
Um zu testen, ob ein Rechner erreichbar ist und über welchen Weg (hops)
12
Service telnet Um sich auf einem fremden Rechner anzumelden und Command Line zu bekommen è In der UNIX Welt gebraucht und um Netzwerk-Komponenten zu konfigurieren z.B. telnet www.blick.ch 80
13
Service ftp (File Transfer Protocol) Um Dateien von einem fremden Rechner runter zu laden oder zu speichern
14
Service ftp • WS-FTP Windows ftp client (GUI) • Firefox Plugin: fireFtp • Notepad++: Editor mit ftp
15
Statische Web-Pages (HTML)
16
Static Web Pages: http (Hypertext Transfer Protocol) Für die Kommunikation zwischen Web-Browser und Web-Server Zusammen mit URL (Uniform Resource Locator) und HTML (Hypertext Markup Language) von Sir Tim Berners-Lee entwickelt
Erste Seite unter http://info.cern.ch heute http://www.w3.org/History/19921103-hypertext/hypertext/WWW/TheProject.html Wichtigste Seiten: www.google.com, www.wikipedia.org
Domain names werden hierarchisch verwaltet. .ch, .li von www.switch.ch
17
Static Web Pages: HTTP Roundtrip Beispiel: Request von http://www.fh-hwz.ch/pdf/plan.pdf
Web-Browser Anhand Mime Type wird Viewer gestartet und die Datei „angezeigt“ (Rendern)
Web-Server http-get 160.85.2.84/pdf/plan.pdf Mime Type + Content wird «gestreamed»
Anhand einer Übersetzungstabelle bestimmt der Web-Server den Mime-Type des Files und über Server root wird File vom Disk gelesen
DNS C:\wwwroot\pdf\plan.pdf
18
Static Web Pages: http Roundtrip In Firmennetzen wird meistens Request über Proxi-Server abgearbeitet è Genaue Kontrolle (Überwachung, Blacklist / Whitelist) è Cache (schneller)
https: Verschlüsselte Kommunikation
Zustandslos! Nach jedem Request vergisst der Server, dass ein Client eine Abfrage gemacht hat è Zustand muss im Client gespeichert werden und bei jedem Request mitgesendet werden (Parameter oder Cookies)
19
Static Web Pages: HTML (Hypertext Markup Language) • Text-Datei! Kann mit normalem Text-Editor erstellt werden (z.B. Notepad) • Darstellung (Layout) wird vom Empfänger definiert (Rendern) und ist somit für Publisher undefiniert. • Definiert mit Hilfe von Tags die Struktur des Dokuments Hello World Beispiel