Processamento Estruturado de Documentos / Engenharia Web
Programa resumido
Esta Unidade Curricular (UC) tem como objectivo principal habilitar o aluno a desenvolver aplicações Web de três
camadas: modelo, interface e controlo.
Em que, o modelo terá a sua persistência assegurada num sistema de gestão de bases de dados relacional, a
interface é implementada em páginas Web combinando várias tecnologias de apresentação de dados (HTML,
CSS, XML, XSL,
JavaScript? , ...) e o controlo é assegurado por uma linguagem de Scripting (Perl, PHP, Java ou
ASP).
Programa detalhado
Esta UC é composta por três módulos: Bases de dados e Aplicações Web, Desenvolvimento de interfaces
aplicacionais na Web e Scripting.
Nas secções seguintes, caracterizam-se os três módulos.
Persistência de dados
A persistência dos dados será assegurada por bases de dados relacionais e/ou ficheiros XML, ou qualquer solução híbrida.
Assim, serão cobertos os seguintes tópicos:
- XML e tecnologias associadas: XPath, XML Schema, DTD, XSLT (DOM, SAX) e XSLFO;
- Teoria Relacional de Bases de Dados: especificação (1FN, 2FN e 3FN), implementação e exploração (SQL);
- Modelos de funcionamento: Database Servers, Application Servers e Web Servers;
- Modelos de comunicação entre componentes: REST, Web Services, CGI.
- Exposição de Bases de Dados na Web: especificação e implementação de Web Services;
Interfaces Aplicacionais na Web
O aluno aprenderá a criar páginas Web e Websites.
Mais tarde irá programar a geração automática das páginas e websites.
O objectivo deste múdlo é que o aluno aprenda a utilizar a linguagem de anotação HTML juntamente com folhas de
estilo CSS/XSLT e
JavaScript? (ou Perl, PHP, ASP) no desenvolvimento de páginas Web que poderão ser estáticas (conteúdo textual fixo) ou dinâmicas (conteúdo proveniente de uma base de dados ou de um repositório de informação).
Conceitos abordados:
- Especificação e Design de páginas Web: convenções, boas práticas e guias de estilo;
- Utilização de gráficos no Design de páginas Web;
- Especificação de interfaces: normas;
- Princípios de usabilidade e acessibilidade;
- Validações e geração dinâmica de páginas com XSLT e PHP;
- Ligação de páginas Web a Bases de Dados;
- Avaliação de Páginas Web e Websites;
- Análise de casos de estudo.
Lógica de controlo
O PHP será usado como linguagem de scripting para fazer a ligação entre os outros componentes e implementar as regras de negócio.
Serão abordados com mais profundidade os seguintes temas:
- Criação de páginas HTML com PHP embebido;
- Criação de formulários simples;
- Criação de formulários complexos envolvendo upload de ficheiros;
- Ligação a bases de dados;
- Geração dinâmica de páginas Web a partir de conteúdos em bases de dados;
- Processamento de XML com a API SimpleXML? e com a API DOM;
- Criação de WebServices? (SOAP).
Avaliação
Nesta edição a avaliação será feita por projectos. O desenvolvimento destes será parcialmente realizado durante as aulas.
Haverá 5 miniprojectos individuais. Cada projecto terá um peso de 5% na nota final. O sexto projecto será feito em grupo e terá um peso de 75%.