Engenharia de Linguagens

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


r1 - 02 Nov 2011 - 11:57:24 - JoseCarlosRamalho
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM