Desenvolvimento de Software para a Nuvem

Código:
16227
Ano:
3
Semestre:
S1
Créditos ECTS:
6
Carga Horária:
PL(30H)/T(30H)
Área Científica:
Informática
Objectivos de Aprendizagem:
O objetivo principal desta unidade curricular é o de fornecer uma visão geral e detalhada dos processos necessários ao desenvolvimento de aplicações para a nuvem capazes de processar grandes volumes de dados. Assim, pretende-se dotar os estudantes de uma perspetiva ampla e integradora dos conceitos e tecnologias necessárias à construção de software nativo para a nuvem.
Conteúdos programáticos:
Introdução à computação na nuvem e ambientes emergentes. Infraestruturas da nuvem, middleware e serviços Web. Processamento distribuído de grandes volumes de dados e desenvolvimento de aplicações nativas para a nuvem, por fim, conceitos de escalabilidade e otimizações de desempenho.
Metodologias de Ensino e Critérios de Avaliação:
Aulas expositivas para aquisição de conhecimentos. Realização de trabalhos em grupo. Nomeadamente, i) análise de casos de estudo sobre um tema e ii) Elaboração e defesa de um projeto sobre o desenvolvimento de aplicações para a nuvem com suporte ao processamento de grandes volumes de dados.
Avaliam-se as componentes teóricas e práticas recorrendo a três elementos principais:

- Teste de avaliação de conhecimentos a valer 40%.
- Trabalho de síntese a valer 20% sobre um dos seguintes temas:
- Tema 1 - Processamento distribuído de grandes volumes de dados
- Tema 2 - Containerização e orquestração de serviços e aplicações.
- Projeto laboratorial a valer 40% sobre o seguinte tema:
- Desenvolvimento de uma aplicação original para a nuvem com a integração de processamento de grandes volumes de dados.
Bibliografia principal:
- Dan C. Marinescu, "Cloud Computing: Theory and Practice", 3.ª Edição, Morgan Kaufmann, 2022.
- Letha H. Etzkorn, "Introduction to Middleware: Web Services, Object Components, and Cloud Computing," 1.ª Edição, Chapman and Hall/CRC, 2017.
- V. Naresh Kumar, "Modern Big Data Processing with Hadoop," 1.ª Edição, Packt Publishing, 2018.
- Dean, Jeffrey, e Sanjay Ghemawat, "MapReduce: simplified data processing on large clusters," Communications of the ACM, 2018.
- Chang, Fay, et al. "Bigtable: A distributed storage system for structured data," ACM Transactions on Computer Systems, 2008.
Língua:
Português