Föreläsningar
Här hittar du en kort beskrivning av vad som behandlades/planeras behandlas under de olika föreläsningarna tillsammans med referenser till relevanta avsnitt i kurslitteraturen. Overheadbilderna från föreläsningarna kommer även att finnas tillgängliga här och de läggs normalt upp senast samma dag som föreläsningen genomförs. Planeringen är preliminär.
Föreläsning 1 (20/3)
Innehåll: Kursintroduktion. Nätverksbegrepp. Protokoll. Meddelandesändning med UDP. Multicast.
Java Network Programming: 1-45,150-176,423-457,470-492
Föreläsning 2 (21/3)
Innehåll: Java I/O - strömmar. Meddelandesändning med TCP. Icke-blockerande I/O.
Java Network Programming: 67-104, 275-341, 384-422
Föreläsning 3 (10/4)
Föreläsning 3 (10/4)
Innehåll: Trådar (threads)
Java Network Programming: Chapter 5, pages 105-149.
- Overheadbilder
- Exempelprogram: Threads.zip
- Links to useful documents:
Föreläsning 4 (11/4)
Innehåll: Mera om TCP. Protokoll och serverarkitektur.
Java Network Programming: 346-362, 384-422
Föreläsning 5 (17/04)
Föreläsning 5 (17/04)
Innehåll: URL and HTML
Java Network Programming: Chapter 7, pages 184-222, Chapter
8, pages 248-266.
- Overheadbilder
- Exempelprogram: URL.zip
- Links to useful documents:
Föreläsning 6 (18/04)
Föreläsning 6 (18/04)
Innehåll: XML, XML och Java, parsning av XML.
- Overheadbilder
- Exempelprogram: XML.zip
- A web page using XML and XSLT to produce HTML [xml]. The XSLT program [xslt] and the DTD [dtd]
- Links to useful documents:
- General tutorials:
- A free and extremely clear sample chapter from Learning
XML, 2nd Edition
by Eric T. Ray, O'Reilly, 2003: Chapter
2: Markup and Core Concepts
- A tutorial available from Elliotte Rusty Harold: Processing
XML with Java
, 2002
- A comprehensive tutorial available from Sun/Oracle: The
J2EE 1.4 Tutorial
, [pdf],
Chapters 2, 4, 5, 6, and 7.
- XML standards:
- Endodings:
Föreläsning 7 (24/4)
Innehåll: Webbapplikationer 1 - CGI, servlets, JSP.
Java Network Programming: 46-66, 99-100 (PrintWriter)
Core Servlets and Java Server Pages - Bok om servlets/JSP tillgänglig gratis via nätet. Minimal läsanvisning (övrigt översiktligt och efter intresse/behov):
- Kap.1: 1-1.4
- Kap.3: 3-3.3
- Kap.8: 8-8.5
- Kap.9: 9-9.1
- Kap.10: Hela, utom 10.5
- Kap.11-13: översiktligt
Övrigt:
Föreläsning 8 (25/4)
Innehåll: Webbapplikationer 2 - PHP, JavaScript.
Länkar:
Föreläsning 9 (2/05)
Föreläsning 9 (2/05)
Innehåll: Remote Method Invocation (RMI)
Java Network Programming: Chapter 18, pages 610-640
- Overheadbilder
- Exempelprogram (RMI): RMI.zip
- Links to useful documents:
Föreläsning 10 (15/05)
Föreläsning 10 (15/05)
Innehåll: Strömmande media.
- Overheadbilder
- Links to useful documents:
- Streaming standards:
- Real-time transport protocol (RTP) and RTP control
protocol (RTCP): RFC 3550
and 3551.
- RTP payload
types and parameters
- Real-time streaming protocol (RTSP): RFC 2326
- Session initiation protocol (SIP): RFC 3261
- Session description protocol (SDP): RFC 4566
- Overview of MPEG
- Streaming applications:
- Unreeling Netflix by Adhikari et al. A Description of the Netflix architecture. [pdf].
- Spotify: Large Scale, Low Latency, P2P Music-on-Demand Streaming by Kreitz and Niemelä. [html].
- SIP:
- Optional programming assignment:
- An interesting programming assignment to develop a RTP streaming server that you may want to carry out. The page contains a partial Java implementation that you have to complete. This optional assignment could be of interest if you want to deepen your knowledge of streaming media.
- And a solution by Sumit Khanna for hasty readers...
Föreläsning 11 (16/05)
Föreläsning 11 (16/05)
Innehåll: Webbprotokoll och webbarkitekturer.
Java Network Programming: Chapter 15
- Overheadbilder
- Optionally, you may read Chapters 16 and 17 on protocol and content handling. Protocol and content handling will not be part of the examination program however.
- Documents:
- The URL
constructor that outlines how protocols and content are handled
- The URLConnection class
- The MIME specifications, part I (RFC 2045) and II (RFC 2046)
- Trivial file transfer protocol (TFTP): RFC 783
- JAX-RS: The Java API for RESTful Web Services, JSR 311
- Jersey, an open source, reference implementation for building RESTful Web services.
- The programs shown in the lecture [zip].