IESP - Tecnologias Web 2009.1
Horário/Sala
Segundas: 18:20 - 20:10
Terças: 20:20 - 22:00
Sala: 306
Laboratório: 4
Grupo de Discussão
email para: tecnologias-web-iesp@googlegroups.com
Para visualizar os emails já enviados, acesse: http://groups.google.com/group/tecnologias-web-iesp/
![]() |
Inscreva-se no grupo: Tecnologias Web - 2009.1. Toda informação e discussão deverá ser enviada para essa lista. |
Ementa
Estudo de tecnologias web com enfoque na linguagem Java. HTML. Arquitetura MVC. Padrões de projeto. Java Server Faces para camada de visão. EJB para camada de negócio. JPA e Hibernate para camada de dados. Servidor de Aplicação e Servidor Web. Aplicações.
Objetivos Programáticos
Esta disciplina tem como principal objetivo dar continuidade no estuda da linguagem Java com enfoque em sistemas para a web. Programação Orientada a objetos e padrões de projeto. Introduzir conceitos de desenvolvimento de software para a web. Entender o funcionamento de um sistema na web. Arquitetura n camadas. Ao final da disciplina o aluno estará apto a implementar programas de complexidade avançada.
Programa
UNIDADE | ASSUNTO |
---|---|
1 | Introdução e conceitos básicos |
1.1 | Evolução da Internet |
1.2 | Conceitos de Redes |
1.3 | HTML |
2 | Ambiente de Desenvolvimento |
2.1 | IDE Red Hat Developer Studio |
2.2 | Servidor de Aplicação JBoss |
3 | Camada de Visão |
3.1 | Servlet e JSP |
3.2 | Padrão de Projeto MVC |
3.3 | Java Server Faces(JSF) |
4 | Camada de Negócio |
4.1 | Enterprise Java Beans (EJB) |
4.2 | Stateless |
4.3 | EntityBean |
5 | Camada de Dados |
5.1 | Padrão de Projeto DAO |
5.2 | Hibernate |
5.3 | Java Persistence API (JPA) |
Plano de Aulas
Data | Assunto | Material | Referências | Local |
---|---|---|---|---|
14/02 | Anunciar URL da disciplina; Apresentação da disciplina; Avisar para todos olharem as datas importantes; Apresentar os objetivos da disciplina; Apresentar o conteúdo da disciplina; Apresentar o processo de avaliação da disciplina; Apresentar a motivação para a disciplina; | Motivação | Sala | |
15/02 | Arquitetura em camadas; HTML; | Arquitetura em camadas e HTML | Sala | |
21/02 | Protocolo HTTP e linguagem HTML | Protocolo HTTP e linguagem HTML | Vídeo sobre web 2.0 | Lab |
22/02 | Introducao a Servlet | Introducao a Servlet | Exemplo Servlet Ler capítulo 2 do livro Head First Servlets e JSP | Lab |
28/02 | Aula 2 sobre Servlets | Servlet para enviar PDF Servlets para lidar com carrinho de compras de uma loja virtual | Lab | |
17/02 | Aula 3 sobre Servlets | Loja Virtual Incompleta | Entregar após carnaval loja virtual completa com: 1 - Total da compra na listagem do carrinho; 2 - Botão sair na primeira página para encerrar a sessão; 3 - Não permitir duplicar o mesmo item no carrinho. Se usuário clicar mais de uma vez, deve-se ter uma coluna Quantidade no carrinho indicando a quantidade de produtos de um determinado livro; 4 - Botão excluir para cada item do Carrinho; | Lab |
23/02 | ![]() | Casa, estudando! | ||
24/03 | ![]() | Casa, estudando! | ||
Aula 4 sobre Servlets - URL rewriting Miniteste 1 | Explicacoes sobre servlet. Explicando carrinho de compras | Lab | ||
Aula 5 sobre Servlets - exercicio carrinho compras no lab. | Lab | |||
JSP Miniteste 2 | Resumo JSP | Ler capítulos 7, 8 e 9 do livro Head First Servlets e JSP | Lab | |
20/03 | ![]() | Praia | ||
01/03 | ![]() | Praia | ||
27/03 | Continuacao JSP | Sistema em JSP de inscricao para a CEBIT | Ler capítulos 7, 8 e 9 do livro Head First Servlets e JSP\ Continuar projeto colocando JSP para listagem de inscritos | Lab |
28/03 | Continuacao JSP | Lab | ||
10/03 | Introducao a JSF | Introducao JSF | Primeiro exemplo | Sala |
16/03 | Lab de JSF | Sistema Listagem Livros Sistema Mostra Imagem | Lab | |
10/04 | JSF: Eventos e JSF-EL Jogo Master em JSF | Eventos e JSF-EL | Jogo Master | Lab |
11/04 | JSF:Continuacao jogo Master | Lab | ||
17/04 | JSF:Ciclo de vida | Ciclo de vida | Lab | |
18/04 | Projeto Corretora | Lab | ||
24/04 | Projeto Corretora | Lab | ||
25/04 | Projeto Corretora | Lab | ||
27/04 | Mensagens e Ajax em JSF | Blog explicando mensagens em JSF Blog explicando Ajax em JSF | Lab | |
01/05 | ![]() | Praia | ||
02/05 | ![]() | Praia | ||
08/05 | Componentes JSF; Continuação Projeto Corretora | Componentes JSF | Lab | |
09/05 | Cont. Projeto Corretora; Avaliação 2 projeto corretora (até dia 11/05, 0h) | Lab | ||
15/05 | JPA | Lab | ||
16/05 | Lab | |||
22/05 | ![]() | Praia | ||
23/05 | ![]() | Praia | ||
18/05 | Introdução a JPA e EJB 3.0 | Introdução JPA e EJB 3.0 | Código fonte iMidias (Versão Netbeans 6.5) Código fonte HelloWorldJPA Exemplo JPA Mensagens e Comentários Site com exemplos de Anotações JPA Site explicando JPA QL | Lab |
19/05 | Projeto JPA no Netbeansmensagensjpanb.zip Manual JPA do projeto OpenJPA | Lab | ||
25/05 | MT | Projeto JPA no Netbeans Exemplo de herança em JPA | Lab | |
26/05 | Avaliação projeto Fase 2 | Lab | ||
05/06 | Cont. JPA MT5 Avaliação Lab 3 | Configurando RichFaces e Ajax4JSF | Lab | |
06/06 | Cont. JPA | Lab | ||
12/06 | MT6 Avaliação Lab 4 (último) | Lab | ||
13/06 | Prova final | Lab |
Bibliografia
Básica
- MANN, Kito D. Java Server Faces in Action. Manning, 2005.
- BAUER, Christian. Hibernate em Ação. Ciência Moderna, 2005.
Complementar
- GEARY, David. Core Java Server Faces: O guia autorizado. Alta Books, 2005.
- FREEMAN, Elisabeth. Use a Cabeça! HTML com CSS e XHTML. Alta Books, 2006.
- LEMAY, Laura. Aprenda a criar páginas web com HTML e XHTML em 21 dias.
- Pearson Education do Brasil, 2002.
Avaliação
A avaliação será composta por 2 notas. Cada nota é formada da seguinte forma: (média de minitestes) * 0,4 + (nota de laboratórios) * 0,6. Haverá vários minitestes. Os laboratórios serão formados por grupos de no máximo 2 pessoas. Haverá várias avaliações em laboratório. Não é possível repor minitestes nem laboratórios.
Projeto
O projeto iMidias consiste de um gestor de mídias (Músicas, Livros e Filmes). O intuito desse projeto é permitir ao aluno um melhor entendimento das tecnologias estudadas.
Fases do projeto
- 1. Fazer menu principal do sistema, com RichFaces, colocando as principais funcionalidades do sistema (inserir, listar, remover, etc) para cada mídia (veja no javadoc do sistema a classe FachadaiMidias que você deve chamar).
- Funcionalidades para a fase 1: inserir e listar músicas, criar lista inteligente, listar mídias de lista inteligente
- Como proceder: Todo sistema é executado via FachadaiMidias. Assim, você deve criar uma instância dessa classe e chamar seus métodos (o FachadaiMidias tem um objeto do tipo Biblioteca dentro dele). Além dessa classe, o sistema é composto de uma classe Biblioteca (módulo principal do sistema) que contém todas as mídias e listas. As classes básicas do sistema são Musica, Filme e Livro.
- 2. Mapear as classes básicas (Midia, Musica, Filme e Livro) com JPA e fazer uso de EJB Session Stateless para facilitar no controle transacional (usaremos CMP = Container Managed Persistence). Para isso, o aluno deve usar o projeto iMidias postado nesse portal para implementar a parte de lógica do sistema.
- Mapear classes usando anotações JPA;
- Transformar a Fachada, os controladores e os repositórios em EJBs;
- Fazer com que sua aplicação web, que já estava funcionando, ao invés de criar uma fachada chame a Fachada que o JBoss criou;
Recursos
Acima estão o imidias.zip (que você deve renomear para imidias.jar) e o docimidias.zip (javadoc do projeto). Para você aprender mais sobre o sistema, renomei o arquivo imidias.zip para imidias.jar, e execute na linha de comando:
java -jar imidias.jar
Isso fará com que seja executado o sistema, que você pode testar. Sua missão é imitar as funcionalidades mostradas nesse sistema, mas na web, com JSF.
Ferramentas
Servidor de Aplicacao
Instalacao
- Criar pasta c:\java
- Descompactar o arquivo do JBoss no diretorio c:\java (ficarah: c:\java\Jboss-4.2.2.GA)
IDE
- IDE: Netbeans 6.5 - http://www.netbeans.org/downloads/
Escolher a opção de 212 MB (dá suporte a Java Web e EE)
- Instalação: Instale o NetBeans abaixo do diretório c:\java.