PowerPoint-Präsentation - High Performance and Web Computing

Werbung
Praxis der Internet-Programmierung mit
Java, Apache und XML (JAX)
Institut für Informatik
[email protected]
http://jax.nano-world.org
JAVA
Web
Browser
Application
with Viewer
Bean
XML
Apache
Web
Server
EJB
Application
Server
Fetch
DATA
DB
TIER 1
TIER 2
TIER 3
APACHE
Organisatorisches
Zeiten?
Vorlesung: Do 13.00 - 14.00 Uhr Hörsaal 2 EG 0006
Praktikum: Do 14.00 - 16.00 Uhr PC-Labor U1075
Wahlfach Informatik: Die Veranstaltung wird mit 3SWS angerechnet.
Fragen an:
Karin Liesenfeld
[email protected]
Material:
www.ifi.unibas.ch (bald)
http://jax.nano-world.org
Praktikum
Ziel:
•Max. Ausnutzung des neuen Computerlabors
(hohe Bandbreite, moderne Software)
•Praktische Beispiele
- in zwei Stunden ein funktionsfähiges Produkt
•1 zu 1 Anwendung der Vorlesung
Testatbedingung:
Vorlesung: Anwesenheit
Praktikum: 75% der Produkte müssen lauffähig sein.
Literatur
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
B. Eckel, “Thinking in Java”, Second Edition, New Jersey, 2000
M. Hall, “Core Servlets and JavaServer Pages”, NJ, 2000
D. K. Fields, M. A. Kolb, "JavaServerPages", Manning, 2000
D. Chang, D. Harkey, "Client/Server Data Access with Java and XML", Wiley
Computer Publishing, 1998
L. Eilebrecht, "Apache Web-Server", MITP-Verlag Bonn, 2000
J. Farley, "Java Distributed Computing", O'Reilly, 1998
S. Allamaraju et al., "Professional Java Server Programming - J2EE Edition", Wrox
Press, 2000
M. von Löwis, N. Fischbeck, "Python 2", ADDISON-WESLEY, 2001
H. Behme, S. Mintert, "XML in der Praxis" ADDISON-WESLEY, 2000
W. Rockwell, "XML, XSLT, Java und JSP", Galileo Computing, 2001
A.L. Ananda, B. Srinivasan (Eds), "Distributed Computing Systems: Concepts and
Structures", IEEE Computer Society Press, 1991
Sape Mullender (Ed), "Distributed Systems", Addison-Wesley (ACMPress), 1994
Open Software Foundation, "Introduction to OSF(TM) DCE",Prentice Hall, 1992
Andrew S. Tanenbaum, "Computer Networks", Prentice Hall, 1996
Michael Weber, "Verteilte Systeme", Spektrum Akademischer Verlag,1998
Links
http://java.sun.com/
http://jakarta.apache.org
http://www.jguru.com
http://www.borland.com/jbuilder/
https://www.developer.ibm.com/java/member/
http://www.microsoft.com/java/
http://xml.apache.org
http://www.rfc-editor.org/
http://www4.ulpgc.es/tutoriales/tcpip/pru/
http://www.raleigh.ibm.com/cgi-bin/bookmgr/library
Überblick
„Web Services“ , „Application Server“
Diese Begriffe sind heute völlig unklar und
versteht darunter, was ihm gerade opportun
erscheint.
Eingrenzung dieser Vorlesung auf:
• JAVA Server Anwendungen
• Open Source Produkte Apache
• XML Anwendungen
Zeitplan
25.10
1.11
8.11
15.11
2002
2002
13.12
20.12
22.11
29.11
6.12
Im Focus
•
•
•
•
•
Grundlagen der Internetprogrammierung
Servlet und JSP – Technologie von SUN
Weitere Opensource Produkte
Enterprise Java Beans
XML
Nicht im Focus der Vorlesung
• High End Enterprise Systeme mit J2EE
Cluster Farmen (Bsp: Webgain oder
Oracle)
• Microsoft NET Strategie
• Sicherheit & Cryptographie
Grundlagen
Client-Server Modell
Internet -> TCP / IP
Telnet
FTP
SMTP
URL
HTTP
Port
23
21
25
80
Client - Server Modell
Client
Server
Verschieden
Dienste
Client:
Server:
Anfrage (REQUEST)
Server wartet auf Anfragen
Ausführung der geforderten
Anfrage und Antwort (RESPONSE)
Asynchron !!
RFC‘s (Request for Coment)
http://www.rfc-editor.org/
http://hier.dur.ch/zu/mir/rfc/
wichtige RFC‘s
RFC 1340
RFC 1305
RFC 821
RFC 2616
RFC 2617
Internet-wide wellknown ports
Network Time Protocol
Simple Mail Transfer Protocol
HTTP 1.1
HTTP Authetication
TCP / IP
Erste Implementation:
Computer Systems Research Group at the university of
California at Berkley
BSD System “Berkley Software Distribution”
Sockets, TLI (Transport Layer Interface)
API’s (Aplication programming interface)
using TCP/IP Protokolls.
http://www4.ulpgc.es/tutoriales/tcpip/pru/
(ETHERNET von DEC 1982)
TCP/IP
IP:Internet Protokoll
IP ist ein unzuverlässiger, verbindungsloser
Datenpaket Zustellungs- Dienst.
TCP: Transmission Kontroll Protokoll
TCP unterstützt einen zuverlässigen,
Verbindungsorientierten Byte-stream.
Packet Dienst
Netzwerk Protokolle, Schichten
Schicht:
Anwendung
Transport
Netzwertk
Verbindung
Hardware
Protokoll:
FTP
TCP
IP
Ethernet
Basis Dienste
Netzwerkkonfiguration
ipconfig
netstat
(man netstat)
ping, host
traceroute
telnet: simple Services
name
echo
discard
daytime
chargen
time
port
7
9
13
19
37
RFC
862
863
867
864
868
FTP
Simple Mail Transfer Protocol
(SMTP)
Unix for
From:
<[email protected]>
freaks:
To: <[email protected]>
Mail –v –stest [email protected] <mymail
Date: Mon, 22 Oct 2001 11:18:00 +0200 (MET DST)
Unified Resource Locator
Syntax:
<prot.>//<user>:<password>@<host>:<port>/<url-path>
telnet://eudora.ifi.unibas.ch:19
ftp://[email protected]/
http://www.google.ch/search?q=Uni+Basel
Hypertext Transfer Protocol
HTTP 1.1
Request – Response
Methoden:
 GET, POST, HEAD, PUT, DELETE,
TRACE, OPTIONS
http://www.w3.org/Protocols/
HTTP
GET
für Anfragen mit wenig Zusatzinformationen
POST
für Anfragen mit grossen Zusatzinformationen
Beispiel (GET-Request):
GET /index.html HTTP/1.1
User-Agent: Opera/5.02 (Windows 98; U)
Host: www.anyhost.ch
Accept: text/html, image/jpeg, */*
Request Header
Accept
Accept-Charset
Accept-Encoding
Accept-Language
Authorization
Cache-Control
Connection
Content-Length
Content-Type
Cookie
Expect
From
Host
If-Modified-Since
If-None-Match
If-Range
If-Unimodified-Since
Pragma
Proxy-Authorization
Range
Referer
Upgrade
User-Agent
Praktikum HTTP (I)
Werkzeug:
HTTPUNIT (httpunit.sourforge.net)
JBuilder
Aufgaben:
1.) Body einer Homepage lesen
2.) Alle Links einer Seite auslesen
3.) Eine Tabelle auslesen
4.) Ein Formular ausfüllen
5.) Alle Links einer Site überprüfen
1. Httpunit downloaden
http://httpunit.sourceforge.net
2. Neues Projekt eröffnen
File
New Project
Klicken
Klicken
3. Neue Klasse einfügen
New
New Class
3. Code einfügen
New
New Class
4. Starten
Run
Run Projects
Klick
Httpunit api
Herunterladen