Upload
angelika-borg
View
106
Download
2
Embed Size (px)
Citation preview
TIER 1
Application with Viewer
Bean
WebBrowser
Application Server
ApacheWeb
Server
DB
EJB
FetchDATA
TIER 2 TIER 3
Praxis der Internet-Programmierung mit Java, Apache und XML (JAX)Institut für [email protected]://jax.nano-world.org
JAVA XML
APACHE
Organisatorisches
Zeiten?Vorlesung: Do 13.00 - 14.00 Uhr Hörsaal 2 EG 0006Praktikum: Do 14.00 - 16.00 Uhr PC-Labor U1075
Wahlfach Informatik: Die Veranstaltung wird mit 3SWS angerechnet.
Fragen an: Karin Liesenfeld
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.orghttp://www.jguru.comhttp://www.borland.com/jbuilder/https://www.developer.ibm.com/java/member/http://www.microsoft.com/java/http://xml.apache.orghttp://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.101.11
8.1115.11
22.1129.116.12
13.1220.12
2002
2002
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 / IPPort
Telnet 23
FTP 21
SMTP 25
URL
HTTP 80
Verschieden Dienste
Client - Server Modell
Client: Anfrage (REQUEST)
Server: Server wartet auf Anfragen
Ausführung der geforderten Anfrage und Antwort (RESPONSE)
Asynchron !!
Client Server
RFC‘s (Request for Coment)
http://hier.dur.ch/zu/mir/rfc/
http://www.rfc-editor.org/
wichtige RFC‘s
RFC 1340 Internet-wide wellknown ports
RFC 1305 Network Time Protocol
RFC 821 Simple Mail Transfer Protocol
RFC 2616 HTTP 1.1
RFC 2617 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 ProtokollTCP unterstützt einen zuverlässigen, Verbindungsorientierten Byte-stream.
Packet Dienst
Netzwerk Protokolle, Schichten
Schicht: Protokoll:
Anwendung FTP
Transport TCP
Netzwertk IP
Verbindung Ethernet
Hardware
Basis Dienste
Netzwerkkonfiguration
ipconfig
netstat
(man netstat)
ping, host
traceroute
telnet: simple Services
name port RFC
echo 7 862
discard 9 863
daytime 13 867
chargen 19 864
time 37 868
FTP
From: <[email protected]>To: <[email protected]>Date: Mon, 22 Oct 2001 11:18:00 +0200 (MET DST)
Simple Mail Transfer Protocol (SMTP)
Unix for freaks:
Mail –v –stest [email protected] <mymail
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.1User-Agent: Opera/5.02 (Windows 98; U) Host: www.anyhost.chAccept: 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 lesen2.) Alle Links einer Seite auslesen3.) Eine Tabelle auslesen4.) Ein Formular ausfüllen5.) Alle Links einer Site überprüfen
1. Httpunit downloaden
http://httpunit.sourceforge.net
2. Neues Projekt eröffnen
FileNew Project
Klicken
Klicken
3. Neue Klasse einfügen
NewNew Class
3. Code einfügen
NewNew Class
4. Starten
RunRun Projects
Klick
Httpunit api