Aplicações Distribuídas na Internet, 2006/2007
[18.06.2007] As notas de avaliação Continua encontram-se aqui.
Índice
Descrição e objectivos da disciplina
Nos últimos anos, a World Wide Web criou oportunidades
únicas para
o desenvolvimento de aplicações. A gama de websites
existentes actualmente é muito vasta e vai desde uma simples
página pessoal
com informação estática, até a sofisticados
motores de pesquisa
que manipulam bases de dados gigantescas.
No meio da gama, existem websites para suportar trabalho
colaborativo, comunidades virtuais, e comércio
electrónico, entre outros.
As aplicações na Web requerem a integração
de várias tecnologias que devem
funcionar de modo fiável 24 horas por dia, 7 dias por semana.
Para construir uma aplicação Web com sucesso, tem de se
saber um pouco
sobre a configuração dos servidores Web, um pouco sobre
sistemas de bases de dados relacionais e SQL, ser fluente numa
linguagem de scripting, saber o básico sobre o protocolo HTTP,
saber a sintaxe do HTML, e saber um pouco sobre user-interface design.
Nesta disciplina, os alunos irão aprender um pouco de tudo isto.
Especificamente, ao terminar a disciplina os alunos deverão
- ser capazes de distinguir entre bons e maus websites.
- ser capazes de construir um website suportado por uma base de
dados relacional.
- ter capacidade técnica para construir websites que se
possam comparar em termos de qualidade aos melhores websites existentes
actualmente na Internet.
O programa, os objectivos, e o conteúdo da disciplina
são em tudo idênticos aos do ano lectivo de
2005/2006 definidos pelo Prof. Fernando Lobo. Esta página web
é uma cópia modificada da página original da
disciplina (ver aqui o programa original)
.
Professor
nome |
e-mail |
horário de dúvidas |
José Bastos
|
|
5ª das 15:30-19:30
Ed. 1 - sala 2.58 |
Requisitos
Ter conhecimentos sólidos de Programação,
Estruturas de Dados,
e Bases de Dados. Recomenda-se também que tenham conhecimentos
sobre Sistemas Operativos e Redes de Computadores.
Quem estiver mais enferrugado a base de dados deve consultar
a página da
disciplina de Base de Dados.
Bibliografia
O material de estudo desta disciplina encontra-se em
- Web Database Application with PHP and MySQL (2nd edition)
Hugh E. Williams & David Lane
O'Reilly, 2004.
- Webmaster in a Nutshell
Stephen Spainhour & Robert Eckstein
O'Reilly, 1999.
O primeiro livro é o livro de texto desta disciplina e cobre
a maior parte da matéria dada. O
segundo livro cobre em particular os temas HTML, CSS, e CGI.
Existe um livro totalmente online que é também
recomendado:
Outros links uteis:
Regras de avaliação
A frequência da disciplina é baseada num trabalho
prático. Para serem admitidos aos exames (exame normal,
exame
de recurso, épocas especiais) todos alunos (normais, estatuto
trabalhador, estatuto
dirigente associativo) devem ter mais do que 7.0
valores no trabalho.
Se a nota resultante for maior ou igual a 10 estão
passados. Caso contrário têm de ir a exame.
Programa
- Conceitos introdutórios, introdução à
WWW.
- A Web como modelo cliente-servidor.
- Websites estáticos e websites dinâmicos.
- Transacções em bases de dados.
- Autenticação, cookies, sessões.
- Servidores Web.
- Scripting do lado do servidor.
- Scripting do lado do cliente.
- Design de páginas, navegação e
user-interface design.
- Aspectos de segurança e comércio electrónico.
- XML.
- Web Services.
Calendário das aulas previsto
Enunciado do trabalho
- Enunciado do trabalho (individual). Ter
em atenção os deadlines estipulados. Um relatório
entregue depois do prazo tem uma penalização de 0.5
valores por cada dia útil em atraso.
Documentação dada nas aulas
- Introdução à World Wide Web (PDF)
- Perspectiva histórica da World Wide Web (PDF)
- Noções básicas de HTML (HTML)
- Protocolo HTTP (PDF)
- The Common Gateway Interface (CGI) (HTML)
- Exemplos de aplicações CGI (HTML)
- Panorâmica geral da linguagem PHP (PDF)
- Exemplo de um formulário HTML (HTML)
- Input de dados a partir de formulários HTML (HTML)
- Input de dados a partir links embebidos (HTML)
- Acesso a uma base de dados PostgreSQL com PHP (HTML)
- Acesso a uma base de dados MySQL com PHP (HTML)
- Exemplos de programação com PHP e templates(HTML)
- Revisão de transacções em bases de dados (PDF)
- Exemplos de transacções em bases de dados com PHP (HTML)
- Problema causado por 'reload' ou 'refresh' de páginas (PDF)
- Exemplo do problema causado por 'reload' ou 'refresh' em PHP (HTML)
- Exemplo de resolução do problema de 'reload' (HTML)
- Cookies e sessões (PDF)
- Exemplos de utilização de cookies em PHP (HTML)
- Exemplos de utilização de sessões com
cookies em PHP (HTML)
- Mais exemplos de utilização de sessões com
cookies em PHP (HTML)
- Exemplos de utilização de sessões sem
cookies em PHP (HTML)
- Javascript (PDF)
- Exemplos de JavaScript (HTML)
- Validação de dados com PHP e JavaScript (HTML)
- Cascading Style Sheets (HTML)
- Autenticação utilizando uma base de dados e
sessões (HTML)
- Autenticação com HTTP (em inglês) (HTML)
- Motores de pesquisa. Google (PDF)
(Nota: os dados referentes ao Google que estão no PDF são
de 2005 e estão desactualizados. A web está sempre a
crescer!)
- Artigo escrito pelos fundadores do Google (PDF)
- Introdução ao XML (PDF)
- XML Schema (PDF)
- XSL (PDF)
- Web Services (PDF)
Actualizado pela última vez em
José Bastos.