Engenharia Web
Objetivos
No fim do semestre, os alunos deverão: ser capazes de desenvolver aplicações Web usando o modelo cliente servidor ou uma arquitetura de micro serviços; deverão ser capazes de especificar componentes web compostos pelas três partes, modelo, estilo e lógica de controlo; deverão ser capazes de fazer a persistência de dados em bases de dados NoSQL ou em ficheiro (XML, JSON, CSV); deverão ser capazes de implementar um sistema de autenticação baseado em credenciais normais ou em tokens temporais; deverão ter um conhecimento razoável de HTML, CSS e JavaScript.
Programa
- Anatomia duma página Web: HTML e CSS;
- Duma página a um website: criação de índices de navegação;
- Anatomia de uma aplicação Web: persistência de dados, interface e lógica de controlo;
- Desenvolvimento de pequenos servidores web (c/ programação assíncrona);
- Introdução às aplicações REST: GET, POST, PUT e DELETE;
- Desenvolvimento de APIs de dados;
- Prototipagem rápida de APIs de dados com persistência em ficheiro;
- Persistência de dados em bases de dados NoSQL: MongoDB;
- MongoDB Query Language: select, project, aggregate;
- Desenvolvimento de interfaces: das páginas estáticas às páginas dinâmicas;
- Geração de páginas HTML com motores de Templates: jade/pug, ejs;
- Programação do lado do cliente: transformando o DOM;
- Download e upload de ficheiros;
- Duma arquitetura de serviço único para uma arquitetura de micro-serviços;
- Autenticação básica numa aplicação cliente-servidor;
- Autenticação numa arquitetura de micro-serviços.
Bibliografia
- Harold, Elliotte Rusty. ``XML in a Nutshell: a desktop quick reference’’. 3rd ed . Sebastopol: O’Reilly, cop. 2005;
- Ramalho, J.C. e Henriques, P. R. “XML \& XSL : da teoria à prática’’. Lisboa : FCA - Editora de Informática, 2002 (Tecnologias de informação). ISBN 972-722-347-8.