Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
Espera-se do aluno aprovado:
A capacidade de entender e utilizar diferentes formatos de dados (XML,JSON) numa perspetiva interoperabilidade;
A capacidade de entender e aplicar tecnologias normalizadas (DOM,AJAX) em cenários de consumo Serviços Web ( Web APIs) programando em Javascript;
Acapacidade de conceber e construir Serviços Web (Web APIs) que respeitam a arquitectura
REST programando em Javascript;
Conteúdos programáticos
Linguagens de formato de dados: XML e JSON
XML versus JSON
Linguagem XML: Regras de sintaxe; Construção de documentos e vocabulários;
Exemplos de vocabulários XML: RSS, KML, SVG, ;
Linguagem JSON: Regras de sintaxe; Serialização de objetos para JSON; Deserialização de JSON
DOM Document Object Model
Representação em árvore de um documento XML ou HTML
Modelo de Objectos de um documento
Programação em Javascript
Variáveis e tipos de dados. Tipos Primitivos e Objectos. Arrays e Funções
Objectos
Notação literal de obectos
Funções construtoras e as keywords this e new
Programação Assíncrona
Eventos, Callbacks, Promises, Asyn/Away
Consumo de Web APIs no Browser
AJAX Asynchronous Javascript and XML
Invocação assíncrona de pedidos HTTP
Desenvolvimento de Serviços Web (Web APIs)
REST: princípios de desenho de serviços web
Recursos: representação e endereçamento
Colecções de recursos
Operações CRUD sobre recursos ( Create, Read, Update e Delete)
Programação Modular com Node JS
Express Framework
Autenticação OAuth
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular
São expostos os formatos de dados padrão mais utilizados na troca de dados entre sistemas.
São expostos os princípios do desenho de serviços Web e a interface uniforme baseada no protocolo HTTP
É apresentada a invocação assíncrona de pedidos HTTP e o seu processamento no browser
É apresentado Modelo de Objectos de um Documento HTML ou XML, as principais classes, métodos e propriedades
É ilustrada a utilização de diversas Web APIs
É apresentada a Arquitectura de Software REST e o Express Framework para o desenvolvimento de Web APIs
É exposta a autenticação OAuth, arquitectura de referência para autenticação e autorização que permite o acesso seguro delegado a aplicações de recursos de terceiros
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico
Metodologia de ensino:
Aulas teórico-práticas de exposição da matéria, de demonstração de conceitos e de software, de resolução de exercícios e de apresentação e discussão da solução dos exercícios.
Aulas práticas dedicadas à realização do projeto da disciplina e aulas de apresentação e discussão dos projetos dos alunos
Avaliação:
Realização de dois testes práticos com o peso de 35% na nota final
Conceção, desenho e implementação de um projeto em sala de aula (30% da nota final).
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular
Com a exposição dos conceitos fundamentais e com a demonstração de código e de soluções de software é dado ao aluno a responsabilidade e a motivação para o seu envolvimento nos exercícios que lhe são atribuídos. É favorecida a autonomia do aluno e privilegiado o desejo e a capacidade da descoberta. O projecto final permite a articulação e a integração dos conceitos e tecnologias abordados, consolidando-os e abrindo as portas à procura de mais conhecimento.
Bibliografia de consulta (existência obrigatória)
Jon Duckett, JavaScript and JQuery: Interactive Front-End Web Development, John Wiley, 2014
Richardson, Leonard , Ruby, Sam, Restful Web APIs, O'Reilly, 2013
Node.js
Web Development 4th Edition - David Herron, 2018
Sebastian Springer, "Node.js: The Comprehensive Guide to Server-Side JavaScript Programming", Rheinwerk Computing,2022