WEB- & N-TIER TECHNOLOGIES

WEB- & N-TIER TECHNOLOGIES Eine Einführung in Web-Technologie Autor: Walter Rothlin (14.Oktober 2015 / 21:00) Ziel Die Studierenden 1. erkennen die...
5 downloads 2 Views 5MB Size
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

Inhalte 1. HTML / CSS / XML / CGI 2. Annotations / JUnit / Java-Doc 3. Java-Script / CGI-Scripts 4. JDBC / Connection Pool 5. Servlet / JSP 6. EJB 3.0 2

Agenda 1.

1.

Einführung / Allgemeines / Repetition

Einführung / Allgemeines / Repetition

2.

Dynamic Pages

3.

Distributed Systems / Distributed Computing

1.

Internet

1.

TCP / IP

2.

Statische Web-Pages (HTML)

2.

Remote Procedure Call (RPC)

3.

XML (Extended Markup Language)

3.

Remote Methode Invocation (RMI)

4.

Cascaded Style Sheet (CSS)

4.

Corba

5.

SOA

5.

JUnit / Javadoc (tba)

6.

N-Tier

6.

Java Annotations

7.

Composition of Web services

7.

Aspect Oriented Programming

8.

Datenbank Grundlagen

9.

Verschlüsselung

2.

4.

Dynamic Pages

Java Enterprise Architecture J2EE 1.

Container / Application Server

2.

Enterprise Java Beans (EJB)

3.

Stateless Session Beans

1.

HTML-FORMS / States

4.

Stateful Session Beans

2.

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

8

URL Uniform Resource Locator

http://www.fh-hwz.ch/Download/b1a/Semesterprogramm.pdf

http:

Protokoll (https)

www.fhhwz.ch:

Full qualified host name (See page before)

Download/b1a:

Directory-Strukture

Semesterprogramm.pdf:

Document name

9

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



Start-Tag

First example