IESP - Tecnologias Web 2009.2

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/

Google Groups Beta
Inscreva-se no grupo: Tecnologias Web - 2009.2. Toda informação e discussão deverá ser enviada para essa lista.
Email:

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
03/08 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
04/08 Arquitetura em camadas;
HTML;
Arquitetura em camadas e HTML Sala
10/08 Protocolo HTTP e linguagem HTML Protocolo HTTP e linguagem HTML Vídeo sobre web 2.0 Lab
11/08 Introducao a Servlet Introducao a Servlet Exemplo Servlet
Ler capítulo 2 do livro Head First Servlets e JSP
Lab
Aula 2 sobre Servlets Servlet para enviar PDF
Servlets para lidar com carrinho de compras de uma loja virtual
Lab
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
31/08 Aula 4 sobre Servlets - URL rewriting
Lab 1
Explicacoes sobre servlet. Explicando carrinho de compras Lab
01/08 Aula 5 sobre Servlets - exercicio carrinho compras no lab.;
MT 1
Lab
JSP
Miniteste 2
Resumo JSP Ler capítulos 7, 8 e 9 do livro Head First Servlets e JSP Lab
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
Continuacao JSP Lab
Introducao a JSF Introducao JSF Primeiro exemplo
Exemplos JSF
Sala
Lab de JSF Sistema Listagem Livros
Sistema Mostra Imagem
Lab
JSF: Eventos e JSF-EL
Jogo Master em JSF
Eventos e JSF-EL Jogo Master Lab
JSF:Continuacao jogo Master Lab
JSF:Ciclo de vida Ciclo de vida Lab
Projeto iMidias Lab
Projeto iMidias Lab
Projeto iMidias Lab
Mensagens e Ajax em JSFBlog explicando mensagens em JSF
Blog explicando Ajax em JSF
Lab
Componentes JSF;
Continuação Projeto iMidias
Componentes JSF Configurando aplicação Visual JSF no Netbeans Lab
Cont. Projeto iMidias;
Avaliação 2 projeto iMidias (até dia 11/05, 0h)
Lab
JPA Lab
Lab
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
Projeto JPA no Netbeansmensagensjpanb.zip
Manual JPA do projeto OpenJPA
Lab
MT Projeto JPA no Netbeans
Exemplo de herança em JPA
Lab
Avaliação projeto Fase 2 Lab
Cont. JPA
MT5
Avaliação Lab 3
Configurando RichFaces e Ajax4JSF Lab
Cont. JPA
Lab
MT6
Avaliação Lab 4 (último)
Lab
Prova final Lab

Bibliografia

Básica

  • BASHAM, Bryan. Use a cabeça: servlets & JSP. Alta Books, 2008
  • MANN, Kito D. Java Server Faces in Action. Manning, 2005.
  • BAUER, Christian. Hibernate em Ação. Ciência Moderna, 2005.

Complementar

  • GONÇALVES, Edson. Desenvolvendo aplicações web com JSP, servlets, javaserver, hibernate, EJB 3 persistence e AJAX. Ciência Moderma, 2007
  • KEITH, Mike. EJB 3 profissional java persistence API. 2009
  • 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. 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.
  1. 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 na pasta c:\java (ficará: c:\java\Jboss-4.2.2.GA)

IDE

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.

Notas dos alunos

 
gustavo_wagner_/tecnologias_web_-_iesp_-_2009.2.txt · Last modified: 2015/11/03 22:20