INTERNET ORIENTED SYSTEMS
cod. 18305

Academic year 2022/23
2° year of course - Second semester
Professor
- Daniele PORTA
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Type of training activity
Characterising
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in ITALIAN

Learning objectives

The goal of this course is to define and characterize Internet-oriented systems. In particular, the student will be able to understand:
- the principles of Internet operation
- the main web technologies
- the JavaScript programming language
- the principles and technologies of service-oriented architectures
- the principles of the design and development of applications with Microservices
- the principles of internet security
- the principles containers and the governance of cloud applications
The student will learn to apply these skills to:
- develop interactive web applications
- design and implement microservices
- manage applications in an isolated environment through the use of containers
- know the ecosystem of basic services offered by the cloud

Prerequisites

- - -

Course unit content

1. Internet
2. Network and Transport layer
3. Application layer
4. Basic Web technologies
5. Javascript
6. Web API SOA
7. Microservices
6. Internet Security
7. Containers and orchestration in modern cloud applications

Full programme

1. Internet:
- What is internet?
- A short history of internet
- Network edge
- Network core
- Delay, Loss, Throughput
- Security
- Protocol layers

2. Network and Transport layer:
- Network layer:
Overview:
data plane and control plane
IP: the Internet Protocol
Datagram format
Addressing
Network address translation
IPv6

- Transport Layer:
Transport-layer services
Multiplexing and demultiplexing
Connectionless transport: UDP
Connection-oriented transport: TCP
Congestion management
TLS Transport Layer Security

3. Application layer:
- DNS
- HTTP
- WS
- HTTP2
- HTTPS
- Proxy
- Reverse Proxy
- Virtual Hosting
- SSL-Offloading
- WAF

4. Basic Web technologies:
- HTML
- CSS
- JSON
- AJAX

5. Javascript
- The language basics
- Asynchronocity
- Callback
- Javascript and the Web


6. Web API SOA:
- Communication paradigms
- SOA
- XML
- SOAP

7. Internet Security:
- Fundamentals
- OWASP Top 10
- Common types of cyber attacks
- Threat modeling

8. Containers and orchestration in modern cloud applications:
- Container
- Orchestration
- Auto scaling
- Load balancing
- Auto discovery
- Performance
- Readiness

Bibliography

Jim Kurose, Keith Ross
Computer Networking: A Top Down Approach
8th Edition, Pearson, 2020

Larry L. Peterson, Bruce S. Davie
Computer Networks, A system Approach
5th Edition, Morgan Kaufmann 2012

David Gourley and Brian Totty
HTTP The Definitive Guide
O’Reilly Media, 2002

Barry Pollard
HTTP2 In Action
Manning, 2019

Jennifer Robbins
Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics
5th Edition, O’Reilly Media, 2018

Keith J. Grant
CSS in Depth
1st Edition, Manning, 2018

Waseem Roshen
SOA-Based Enterprise Integration: A Step-by-Step Guide to Services-based Application
McGraw-Hill Education, 2009

Teaching methods

The activities will take place both in telepresence via Microsoft Teams platform and in the classrooms assigned to the course. Furthermore, the lessons will be recorded and the material (slides and recordings) will be uploaded on the Elly page of the course. During the lessons, moments of explanation will be alternate with interactive moments with the students during the workshops.

Assessment methods and criteria

A project related to the topics of the course is expected.
This project involves the development of an Internet-oriented application, the writing of a PDF report illustrating the chosen architecture and an evaluation by the commission of the implemented solution.

There will be an oral exam on the topics of the course.

Other information

Lecture slides and recordings are available on http://elly2000.dia.unipr.it/