INTERNET ORIENTED SYSTEMS
cod. 18305

Academic year 2016/17
2° year of course - First semester
Professor
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Type of training activity
Characterising
42 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in - - -

Learning objectives

The purpose of the course is to define and characterize Internet-oriented systems. In particular, the student will be provided with competences about:
- Internet principles
- the major Web technologies
- the JavaScript programming language
- client/server and peer-to-peer systems
- the principles and technologies of service-oriented architectures
- the principles of cloud application design development

The student will learn to apply such competences to:
- develop dynamic Web pages
- develop Web applications
- design and develop peer-to-peer applications
- design and develop Web services
- design and develop cloud applications

Prerequisites

- - -

Course unit content

1. Internet
2. Basic Web technologies
3. JavaScript
4. Peer-to-peer systems
5. Service-oriented architectures
6. Cloud application development

Full programme

1. Internet
- What is the Internet?
- Network edge
- Network core
- Delays, losses, throughput
- Protocols
- Internet stories

2. Basic Web technologies
- HTTP
- Apache HTTP server
- HTML
- CSS
- XML
- JSON

3. JavaScript
- Language basics
- Client-side programming
- Server-side programming

4. Peer-to-Peer systems
- State variables
- Peer-to-peer network dynamics
- Design issues
- Design strategies
- Major overlay schemes (Napster, eMule, BitTorrent, Chord, Kademlia, Skype)
- Bitcoin

5. Service-oriented architectures
- General concepts
- Web Services
- SOAP
- WSDL
- UDDI
- WS Security
- REST

6. Cloud application development
- Recap: IaaS, PaaS, SaaS
- OpenStack
- Autonomic cloud systems
- SaaS design and development

Bibliography

M. Amoretti, slide in English on the topics of the course.
J. Kurose, K. Ross, Computer Networking: A Top Down Approach, ed. Addison-Wesley, 2012.
D. Flanagan, JavaScript - The Definitive Guide, ed. O’Reilly, 2011.
M. Cantelon, M. Harter, T. J. Holowaychuck, N. Rajlich, Node.js in action, ed. Manning, 2014.

Teaching methods

Lectures are given by the teacher, which illustrates the topics with the support of
slides, or by writing on the blackboard. Some lectures require students to develop simple Internet-oriented applications.

Assessment methods and criteria

There will not be exams during the course.
There will be a written exam (2 hours), withopen questions related to theoretical
part of the course.
The students will have to work alone on a small software development project, the writing of a report and a final presentation.

Other information

Lecture notes, slides and exercises are available on http://elly.dii.unipr.it