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%.