Serviços e Aplicações em Redes
Objetivos
Saber:
Conhecimento avançado sobre os protocolos usados na camada de aplicação na Internet e do seu uso para a definição de Interfaces de Programação de Aplicações (APIs) e desenvolvimento de aplicações WEB.
Transmissão de média contínua na rede e análise do ponto de vista da distribuição de conteúdos e replicação de servidores.
Fundamentos dos algoritmos de segurança em rede.
Conhecimentos sobre sistemas de segurança para redes e suas limitações.
Fazer:
Desenvolver aplicações baseadas no protocolo HTTP e suas extensões, utilizando linguagem Java.
Desenvolver aplicações Web usando RESTful APIs e Websockets usando linguagem JavaScript, TypScript e bases de dados não relacionais (stack MEAN).
Competências Não-técnicas:
Capacidade e postura para pensamento crítico.
Capacidade para efetuar escolhas fundamentadas.
Capacidade de gestão do tempo e cumprimento de prazos.
Capacidade de trabalhar em equipa e de colaborar numa equipa.
Atitude de exigência e qualidade.
Caracterização geral
Código
12722
Créditos
6.0
Professor responsável
Paulo da Costa Luís da Fonseca Pinto, Pedro Miguel Figueiredo Amaral
Horas
Semanais - 4
Totais - 56
Idioma de ensino
Português
Pré-requisitos
A disponibilizar brevemente
Bibliografia
1. A. Tanenbaum e 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. Vários artigos tutoriais disponibilizados na página da disciplina.
Método de ensino
Na disciplina tenta-se dar uma formação teórica sólida complementada com uma experiência prática de alguns conceitos. As duas horas de aulas teórico-práticas semanais incluem em média uma hora e meia de cariz teórico mais expositivo mais meia hora de exercícios e de demonstrações da utilização dos sistemas aprendidos (e.g. configuração de DNS, Apache, etc.). Nas duas horas semanais de laboratório os alunos aprendem dois ambientes de desenvolvimento e realizam dois projectos onde trabalham profundamente sobre dois assuntos: a tecnologia web e a utilização de aplicações multimédia distribuídas.
Método de avaliação
A classificação final é pesada por 50% da parte teórica e 50% da parte prática. Para obter aprovação os alunos têm de obter, pelo menos, 9 valores em cada uma das partes e uma nota final de 10 valores. A aprovação na parte teórica pode ser obtida através de um exame final, ou com 80% da nota de um exame final e 20% numa discussão oral realizada por videoconferência (sem nota mínima) - a melhor das duas. A aprovação na parte prática é obtida através da realização de dois trabalhos práticos em grupos de dois ou três elementos, com uma discussão final com avaliação individual dos conhecimentos de cada membro do grupo.
Conteúdo
O Nível Aplicação na Internet
1. DNS - Domain Name System
2. Correio electrónico
3. Transferência de ficheiros por FTP
4. O Word Wide Web
5. Aplicações Peer-to-peer
6. Aplicações Multimédia
7.Redes de Distribuição de conteúdos
Aplicações distribuídas baseadas na Web
1. Normas de representação de informação, JSON, XML
2. AJAX, REST APIS, Webservices. Comunicação em tempo real websockets.
Segurança em rede
1. Criptografia
2. Algoritmos de chave simétrica
3. Algoritmos de chave pública
4. Assinaturas Digitais
5. Gestão de chaves públicas
6. Segurança na comunicação
7. Protocolos de autenticação
8. Segurança em correio electrónico
9. Segurança na web