Objectius
Complementar els coneixements de programació adquirits
a les assignatures de programació de sistemes com ara la
programació de sockets i threads amb el llenguatge de programació
Java. A més, aprofundir en la programació Java aplicada
a nous conceptes d'aplicacions Internet, la majoria dels quals
ja han sigut introduïts a les assignatures de xarxes i serveis.
Aquest conceptes inclouen tant protocols (HTTP, correu electrònics)
com formats (HTML, XML,...).
Tema 1: Programació en Java
1.1. Recordatori de conceptes d’orientació a objectes en llenguatge Java
1.2. Introducció als paquets Java per a programació d’aplicacions distribuïdes: java.net, java.io, java.lang
1.3. Canals de comunicació en Java
Tema 2: Programació amb sockets
2.1. Protocols de transport en Internet: TCP i UDP
2.2. Sockets orientats a connexió (Protocol TCP): Socket, ServerSocket
2.3. Sockets no orientats a connexió (Protocol UDP): DatagramSocket, DatagramPacket
Tema 3: Programació amb threads
3.1. Concepte de thread
3.2. Funcionament de la programació amb threads en llenguatge Java
3.3. Diferència thread - procés
3.4. Processos en Java
Tema 4: Nivell d’aplicació
4.1. Visió general del nivell d’aplicació
4.2. Elements de nivell d’aplicació i classes Java associades: URL, URI
4.3. Formats d’informació: HTML, XML, SGML, MIME.
4.4. Tractament de fitxers XML en Java: SAX i DOM
Tema5: Protocols de nivell d’aplicació
5.1. Suport Java per al protocol HTTP
5.2. Creació de nous protocols de nivell d’aplicació en Internet amb Java
Tema 6: Correu electrònic
6.1. Protocols Internet per a correu electrònic: SMTP, POP3, IMAP
6.2. JavaMail: Llibreria per a l’enviament de correus electrònics en Java
6.3. Enviament de correu electrònic amb Java, suport al protocol SMTP
6.4. Accés a bústies de correu amb Java, suport als protocols POP3 i IMAP
Tema 7: Seguretat
7.1. Conceptes bàsics de seguretat en comunicacions
7.2. Xifrat de les comunicacions
7.3. Ús de claus
7.4. Certificats
7.5. Protocol SSL 1
Metodologies
Combinació de classes magistrals amb pràctiques fetes al laboratori.
Avaluació
Nota_final = Nota_teoria * 0,6 + Nota_practiques * 0,4
Nota_teoria = màxim ((Nota_control * 0,2 + Nota_examen * 0,4), Nota_examen * 0,6)
Nota_practiques = Nota_lliuraments * 0,2 + Nota_examen_pract * 0,2
Condicions:
- Lliuraments de pràctiques obligatoris
- Nota_teoria i Nota_pràctiques >= 4
- Si s'aprova una part, es guarda la nota per setembre
Bibliografia bàsica:
HAROLD, E.R., Java Network Programming, 2nd Edition O'Reilly
HUGHES, M. ET AL, Java Network Programming, 2nd Edition, Manning
1999
Bibliografia complementària:
CAMPIONE, M., WALRATH, H., HUML, A., The Java tutorial a short
course on the basics 3rd edition. Addison-Wesley cop. 2001
The Java Web Services Tutorial: http://java.sun.com/webservices/tutorial.html
Tutorials de Sun per a la programació en llenguatge Java
http://java.sun.com/docs/books/tutorial/networking
http://java.sun.com/docs/books/tutorial/essential/io
http://java.sun.com/docs/books/tutorial/essential/threads