====== IESP - Tecnologias Web 2010.2 ======
===== Horário/Sala =====
Segundas: 20:20 - 22:00\\
Terças: 18:30 - 20:10\\
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 - 2010.2. 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 ^
| | 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; | {{tw:aula1-motivacao.pdf|Motivação}} | | Sala |
| | Arquitetura em camadas;\\ HTML; | {{tw:aula2-evolucao-arquiteturas.pdf|Arquitetura em camadas e HTML}} | | Sala |
| | Protocolo HTTP e linguagem HTML | {{tw:aula3-html-http.pdf| Protocolo HTTP e linguagem HTML}} | [[http://br.youtube.com/watch?v=NJsacDCsiPg|Vídeo sobre web 2.0]] | Lab |
| | Introducao a Servlet | {{tw:aula4-intro-servlet.pdf|Introducao a Servlet}} | {{tw:exemplo_servlet.zip|Exemplo Servlet}}\\ Ler capítulo 2 do livro Head First Servlets e JSP | Lab |
| | Aula 2 sobre Servlets | {{tw:enviapdf-nb.zip|Servlet para enviar PDF}}\\ {{tw:carrinhocompras.zip|Servlets para lidar com carrinho de compras de uma loja virtual}} | | Lab |
| | Aula 3 sobre Servlets | {{tw:lojavirtual.zip|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 |
| | Aula 4 sobre Servlets - URL rewriting\\ Lab 1 | {{tw:aula5-cont-servlet.pdf|Explicacoes sobre servlet. Explicando carrinho de compras}} | {{tw:lojavirtualincompleta-nb-urlrewriting.zip|Loja virtual incompleta com URL Rewriting}} | Lab |
| | Aula 5 sobre Servlets - exercicio carrinho compras no lab.;\\ MT 1 | | | Lab |
| | JSP\\ Miniteste 2 | {{tw:aula6-jsp.pdf|Resumo JSP}} | Ler capítulos 7, 8 e 9 do livro Head First Servlets e JSP | Lab |
| | Continuacao JSP | {{tw:inscricaocebit.zip|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 |
| | Continuacao JSP | {{tw:mytwitter.zip|Projeto my twitter}} | {{tw:descricaomytwitter.rtf|Descrição do projeto}} | Lab |
| | Introducao a JSF | {{tw:aula7-introducao-jsf.pdf|Introducao JSF}} | {{tw:primeirojsf-netbeans.zip|Primeiro exemplo}}\\ {{tw:exemplosjsf-netbeans.zip|Exemplos JSF}} | Sala |
| | Lab de JSF | | {{tw:listagemlivros.zip|Sistema Listagem Livros}}\\ {{tw:mostraimagemjsf.zip|Sistema Mostra Imagem}} | Lab |
| | JSF: Eventos e JSF-EL\\ Jogo Master em JSF | {{tw:aula8-eventos_jsfel-jsf.pdf|Eventos e JSF-EL}} | {{tw:jogomasterinicial.zip|Jogo Master}} | Lab |
| | JSF:Continuacao jogo Master | | | Lab |
| | JSF:Ciclo de vida | {{tw:aula9-ciclo-vida-jsf.pdf|Ciclo de vida}} | | Lab |
| | Richfaces + DataModel + Ajax | | {{tw:exemplosrichajax.zip|Código exemplos de Richfaces+Ajax}}\\ OBS.: As bibliotecas necessárias do richfaces e do commons, como descrito no post [[http://gugawag.wordpress.com/2008/11/17/configurando-richfaces-e-ajax4jsf/|Configurando RichFaces e Ajax4JSF]] já estão no lib do projeto no Netbeans. | Lab |
| | Projeto MyTwitter | | | Lab |
| | Projeto MyTwitter | | | Lab |
| | Mensagens e Ajax em JSF \\ Facelets| [[http://gugawag.wordpress.com/2009/04/27/trabalhando-com-mensagens-em-jsf/|Blog explicando mensagens em JSF]]\\ [[http://gugawag.wordpress.com/2009/04/27/trabalhando-com-ajax/|Blog explicando Ajax em JSF]]\\ [[http://www.devmedia.com.br/articles/viewcomp.asp?comp=5332|Introdução a Facelets]] | Lab |
| | AjaxValidator + tag | | {{tw:exemploajaxvalidator.zip}} | Lab |
| | Exemplo Facelets | [[http://facestutorials.icefaces.org/tutorial/facelets-tutorial.html#stepthree|Tutorial introdução facelets]] | {{tw:testesfacelets.zip}} | Lab |
| | Componentes JSF;\\ Continuação Projeto MyTwitter| {{tw:aula10-componentes_jsf.pdf|Componentes JSF}} | [[http://gugawag.wordpress.com/2009/10/26/visual-jsf-no-netbeans/|Configurando aplicação Visual JSF no Netbeans]] | Lab |
| | Cont. Projeto MyTwitter;\\ Avaliação 3 projeto MyTwitter | | {{tw:mytwitterjsf.zip|Projeto MyTwitter parte 2 Netbeans (JSF-Richfaces)}}\\ {{tw:mytwitterjsffacelets.zip|Projeto MyTwitter parte 2 Netbeans (JSF-Richfaces + Facelets)}} | Lab |
| | JPA | | | Lab |
| | | | | Lab |
| | Introdução a JPA e EJB 3.0 | {{tw:aula11-introducao-jpa.pdf|Introdução JPA e EJB 3.0}} | {{tw:appjpa.zip|Exemplo em sala AppJPA}}\\ {{tw:helloworldjpa.zip|Código fonte HelloWorldJPA}}\\ {{tw:mensagensjpa.zip|Exemplo JPA Mensagens e Comentários}}\\ [[http://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#ManyToOne|Site com exemplos de Anotações JPA]]\\ [[http://www.hibernate.org/hib_docs/entitymanager/reference/en/html/queryhql.html| Site explicando JPA QL]] | Lab |
| | | {{tw:appjpa-v2.zip|Aplicação JPA (AppJPA) Versão II - Com Camadas}} | [[http://gugawag.wordpress.com/2008/10/30/gerando-primeiro-projeto-jpa-com-netbeans-hypersonic-e-jboss/|Projeto JPA no Netbeans]] {{tw:mensagensjpanb.zip}}\\ [[http://openjpa.apache.org/docs/openjpa-0.9.7-incubating/manual/manual.html|Manual JPA do projeto OpenJPA]] | Lab |
| | MT | | [[http://gugawag.wordpress.com/2008/10/30/gerando-primeiro-projeto-jpa-com-netbeans-hypersonic-e-jboss/|Projeto JPA no Netbeans]]\\ [[http://jossemar.wordpress.com/2007/10/30/jpa-mapeamento-objeto-relacional-de-heranca/|Exemplo de herança em JPA]] | Lab |
| | Avaliação projeto Fase 2 | | | Lab |
| | Cont. JPA\\ MT5\\ Avaliação Lab 3 | | [[http://gugawag.wordpress.com/2008/11/17/configurando-richfaces-e-ajax4jsf/|Configurando RichFaces e Ajax4JSF]] | Lab |
| | Cont. JPA\\ | | | Lab |
| | MT8\\ 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 =====
Ainda a ser definido.
==== Fases do projeto ====
A serem definidas.
==== Recursos ====
===== Ferramentas =====
==== Servidor de Aplicacao ====
* JBoss 4.2.2.GA - http://downloads.sourceforge.net/jboss/jboss-4.2.2.GA.zip?modtime=1193094131&big_mirror=1
=== Instalacao ===
* Criar pasta c:\java
* Descompactar o arquivo do JBoss na pasta c:\java (ficará: c:\java\Jboss-4.2.2.GA)
==== IDE ====
* IDE: Netbeans 6.9 - 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.
===== Informações aos alunos =====
* [[https://spreadsheets.google.com/ccc?key=0AuNvI_1IpRGqdHVRelBITWZZRGJhU0xJZ1BkWVFkcXc&hl=en|Notas]]
* [[https://spreadsheets.google.com/ccc?key=0AuNvI_1IpRGqdE5CWUxzZ0pLRTJsRm10bTBjODJSNFE&hl=en|Diário]]
===== Resoluções de minitestes =====
* {{tw:mt-tabeladiagonalprincipal.zip|MT1 - Tabela diagonal principal}}