Objetivos / Competências
O1. Reconhecer as arquiteturas de infraestrutura e serviço
O2. Desenhar, validar, transformar e pesquisar em documentos estruturados
O3. Desenvolver aplicações baseadas em Web services
O4. Identificar os constituintes de estilos arquiteturais para a estruturação de Web services
O5. Identificar vulnerabilidades e aplicar ferramentas de segurança informática
O6. Identificar os elementos essenciais dos sistemas de larga escala na Internet
Conteúdos programáticos resumidos
1. Arquiteturas de aplicações Web
1.1 Cliente
1.2 Servidores de Web, de aplicações, de caches e de base de dados
1.3 Distribuição de dados entre o cliente, base de dados e caches
1.4 Distribuição de código entre o cliente e servidor
2. Tecnologias XML e JSON
2.1 Estrutura de um documento
2.2 Validação com schemas
3. Programação server-side
3.1 Padrão MVC: Modelos, Vistas e Controladores
3.2 Rotas
3.3 Validação de formulários
3.4 Ligação à base de dados
4. Web services REST
4.1 URLs lógicos
4.2 Paradigma CRUD
4.3 Semântica de métodos do protocolo HTTP
4.4 Codificação de dados
5. Autenticação
5.1 Tokens
5.2 oAuth
6. Segurança
6.1 SQL injection
6.2 Scripts cruzados
6.3 CORS
6.4 Certificados digitais
6.5 Chaves públicas e privadas
6.6 SSL/TLS
Metodologias de ensino e critérios de avaliação
- Método expositivo nas aulas teóricas com recurso ao projetor de vídeo e discussão sistemática dos assuntos abordados.
- Tarefas orientadas e práticas, com recurso ao método demonstrativo.
- Avaliação contínua, com recurso a fichas e trabalhos de avaliação durante as aulas.
- Recurso sistemático à plataforma de e-learning para partilha de documentos, submissão de fichas de avaliação e submissão de trabalhos.
A avaliação consiste num teste escrito e trabalhos práticos envolvendo as tecnologias abordadas na disciplina.
Em todas as épocas, a classificação final é obtida pela média ponderada das seguintes componentes:
-Teste Escrito, Exame em Época Normal, Exame em Época de Recurso/Época Especial : 25% (Mínimo 9,5 valores)
-Trabalhos Práticos: 75% (Mínimo 9,5 valores)
Bibliografia resumida
Extensible Markup Language (XML) Tutorial, https://www.w3schools.com/xml/
XSLT - Transformation Tutorial, https://www.w3schools.com/xml/xsl_transformation.asp
XML Schema Tutorial, https://www.w3schools.com/xml/schema_intro.asp
XML data management : Native XML and XML-Enabled database systems, A. Chaudhri; A.Rashid And R. Zicari Addison-Wesley, 200- ISBN: 0201844524.978-0201844528, (004.65 XML)
The XML handbook, Charles F. Goldfarb, Paul Prescod, 3ºed., New Jersey : Prentice-Hall, cop. 2001 (004.43 XML GOL XML)
XML databases and the semantic web, Thuraisingham Bhavani CRC, 2008 ISBN: 0849310318. 978-0849310317, (004.65 THU)
Web services : a manager's guide, Anne Thomas Manes Addison-Wesley Information Technology Series, 2003, ISBN: 0-321-18577-3, (004.451 MAN)
SOAP : cross platform web service development using XML, Scott Seely Prentice Hall PTR, cop. 2002 ISBN: 0-13-090763-4 (004.43 XML SEE SOA)