Network Services and Applications

Objectives

 

Knowledge:
Advanced knowledge on the protocols of the application layer of the Internet and of their use in the definition of Aplicatioina Programming Interfaces (APis) and web application development. 

Transmission of continuous media in networks and its implications in the content distribution architecture and server replication architectures. 

Fundamentals of network security algorithms.
Knowledge of network security systems and their limitations.

Skills:
Develop HTTP protocol based applications using Java socket interface.
Develop Web based applications usando RESTFull APIs and Websockets using JavaScript, typeScript and non-relational databases (using the MEAN stack).

Soft-Skills:
Capability and posture for critical thinking.
Capacity to make substantiated choices.
Capacity of time management and schedule fulfilment
Capacity for teamwork and for cooperation in a team.
Posture of demand and quality assurance.

General characterization

Code

12722

Credits

6.0

Responsible teacher

Paulo da Costa Luís da Fonseca Pinto, Pedro Miguel Figueiredo Amaral

Hours

Weekly - 4

Total - 56

Teaching language

Português

Prerequisites

Available soon

Bibliography

1. A. Tanenbaum and D.J. Wetherall, "Computer Networks", 6ª ed, Pearson, 2021. ISBN-13:  9780136764052
2." Computer Security :Principles and Practice ", William Stallings e Lawrie Brown, Pearson, 2018. ISBN-13: 978-0134794105
3. Several tutorial papers available on the class web page.

Teaching method

 

The classes try to give students a solid theoretical formation complemented with practical experience on some of the subjects. The two hours of weekly lecturing classes include an average of one and a half theory exposition hours and thirty practical minutes, composed by resolution of exercises and demonstrations of the use of the learned systems (e.g. DNS and Apache configuration). In the two laboratory weekly hours the students learn about two development environments and implement two projects where the work deeply on two subjects: the web technology and the use of multimedia distributed applications in telecommunication networks.

 

Evaluation method

The final grade has a theoretical component and a practical component, weighting respectively 50% and 50%. Students are approved if they have a minimum grade of 9 for each component and a total grade of 10. Theoretical assessment approval can be accomplished through a final exam, or 80% in the final exam and 20% in an videoconference oral discussion (without minimal grade) - the best grade is considered. Practical assessment approval can be accomplished by implementing two laboratory works. The assessment of the laboratory projects is accomplished in group discussions with individual grades, covering the theoretical and practical aspects of the project.

Subject matter

 The Application Layer
1. DNS - Domain Name System

2. Electronic mail
3. FTP - File Transfer Protocol
4. The Word Wide Web
5. Peer-to-peer applications
6. Multimedia applications
7. Content Distribution Networks

Web applications


1. Presentation formatting standards, JSON, XML
2. AJAX, REST APIS, Webservices. real time communication WebSockets


Network Security


1. Cryptography
2. Symmetric-Key Algorithms
3. Public-Key Algorithms
4. Digital Signatures
5. Management of Public Keys
6. Communication Security
7. Authentication Protocols
8. E-Mail Security
9. Web security


Programs

Programs where the course is taught: