Engineering of Internet Applications

Year
0
Academic year
2019-2020
Code
02008305
Subject Area
Computer Science
Language of Instruction
Portuguese
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
7.0
Type
Elective
Level
2nd Cycle Studies - Mestrado

Recommended Prerequisites

NA

Teaching Methods

Every week there is be a theoretical class and an open‐laboratory.

Learning Outcomes

This course will prepare the students to understand and master most of the relevant technologies, protocols and techniques that are necessary for the design and development of large-scale applications for the Internet. The enduring principle of the course is the knowledge about the state of the art of Internet technologies and best practices in the design of Internet services that will give the students the ability to act wisely when they will have to implement some Internet applications back to their companies. At the end of the course the students will be able to architect Internet applications with challenging requirements like high‐scalability, high performance, high availability, support for Internet friendly communications and the adoption of standard protocols.

Work Placement(s)

No

Syllabus

HTTP Protocol ; Approaches to Webbased Development: the MVC model MVC usecase with Servlets/JSPs; Agile Web Development: two usecases: Rails and Django; Anatomy of a WebServer

Anatomy of a Web Browser

Anatomy of a WebCrawler ; Benchmarking Web Applications; Optimizing Techniques for WebSites (lessons from Yahoo); scalability of Web Applications; HighAvailable Web Applications; Web Caching and Content Delivery Networks; Internet Friendly Communication: NATtransversal techniques, STUN and TURN protocols; VoiceoverIP and the SIP Protocol; Distributed Multimedia Protocols (RTP and RTSP) ; PeertoPeer Networks Analysis of BitTorrent; Analysis of UseCases: Kazaa, Skype, Joost.

Assessment Methods

Assessment
Mini Tests: 25.0%
Exam: 30.0%
3 practical projects : 45.0%

Bibliography

"Web Application Architecture: Principles, Protocols and Practices", by Leon Shklar, Richard Rosen (chapter 3), John Wiley & Sons;

"Mercator: A scalable, extensible Web crawler" Allan Heydon, Marc Najork, World Wide Web, 1999, 2(4):219229;

"Acceptable Strategies for Improving WebServer Performance", Tim Brecht, David Pariag, Louay Gammo, USENIX 2004.