Programação Web
Código
01060988Créditos ECTS
6Objetivos
1. Desenhar e implementar aplicações web dinâmicas de média escala utilizando linguagens de programação de alto nível.
2. Desenvolver aplicações Web recorrendo a frameworks.
3. Gerir o processamento de dados e a lógica da aplicação de forma persistente recorrendo a base de dados.
4. Implementar requisitos de segurança no desenvolvimento de aplicações Web, recorrendo a mecanismos de autenticação e autorização.
5. Desenvolver e testar Web APIs (Application Programming Interface).
Programa
1. Arquitetura, protocolos e plataformas de serviços Cloud
2. Formatos de dados de comunicação na Web
3. Arquitetura orientada a serviços (SOA)
4. Estrutura, função e interação de web services.
5. Linguagens de programação Web do lado do servidor
6. Frameworks de desenvolvimento de aplicações Web do lado do servidor
7. Integração da parte cliente com a parte servidor de uma aplicação Web
8. Segurança no desenvolvimento de aplicações Web
Métodos de Ensino
As aulas teóricas são expositivas em que se apresentam os conceitos com recurso a exemplos e demonstrações de desenvolvimento de aplicações Web de pequena escala.
As aulas práticas laboratoriais funcionam articuladas com as aulas teóricas e são vocacionadas para o desenvolvimento de aplicações, de pequena e média escala, como soluções para problemas com requisitos Web.
Os estudantes desenvolvem um projeto que é o elemento aglutinador dos conteúdos aprendidos ao longo da unidade curricular, que permite analisar, desenhar e implementar uma aplicação Web numa situação mais próxima da realidade e adquirir competências de trabalho autónomo e em equipa.
A plataforma de e-Learning Moodle da UAc (em http://moodle.uac.pt) é utilizada como repositório de material pedagógico e didático de apoio à aprendizagem, bem como de plataforma de agendamento, divulgação e promoção de atividades complementares e de gestão dos elementos de avaliação.
AVALIAÇÂO:
Em cada edição da unidade curricular, a avaliação, em frequência e exames, é constituída por uma componente individual teórico-prática que tem peso entre 40% e 60% e uma componente de projeto em grupo que tem peso entre 40% e 60%, ambas com nota mínima de 10 valores.
Bibliografia
Essencial
- Kavis, M. J., Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS), Wiley, 2014
- Shklar, L., Web Application Architecture: Principles, Protocols and Practices, 2nd Edition, Wiley, 2009.
- Tatroe, K. and MacIntyre, P., Programming PHP: Creating Dynamic Web Pages, O'Reilly Media, 4th Edition, 2020.
- Allamaraju, S., RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity,O’Reilly, 2010
Complementar
- Stuttard, D. et al., The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws, 2nd Edition, Wiley, 2011.
- Stauffer, M., Laravel: Up and Running: A Framework for Building Modern PHP Apps, O'Reilly Media, 2019.
Método de Avaliação
De acordo com Métodos de Ensino - 100 %