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
2030 agenda goals for sustainable development
- - -