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