====== FATEC - Desenvolvimento de Aplicações Web II - 2013.1 ====== ===== Horário/Sala ===== Sextas: 18:30 - 22:00\\ Sala: D-106 Laboratório: 4 e 6 ===== Grupo de Discussão ===== email para: [[aplicacoes-web-iesp@googlegroups.com]]\\ Para visualizar os emails já enviados, acesse: [[http://groups.google.com/group/aplicacoes-web-iesp/]]\\
Google Groups Beta
Inscreva-se no grupo: Aplicações Web IESP - 2013.1. 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 ===== Vários códigos que serão trabalhados em sala de aula, ou código de projetos, podem ser encontrados aqui: [[http://github.com/gugawag|http://github.com/gugawag]] ^ Aula ^ Assunto ^ Material ^ Referências ^ Local ^ | 1 | 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}} | 2 | Sala | | 3 | Arquitetura em camadas;\\ HTML; | {{tw:aula2-evolucao-arquiteturas.pdf|Arquitetura em camadas e HTML}} | | Sala | | 4 | 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 | | 5 | Introducao a Servlet | {{tw:aula4-intro-servlet-v2.pdf|Introducao a Servlet}} | {{tw:exemplo_servlet.zip|Exemplo Servlet}}\\ Ler capítulo 2 do livro Head First Servlets e JSP | Lab | | 6 | Aula 2 sobre Servlets | {{tw:enviapdf-nb.zip|Servlet para enviar PDF}}| | Lab | | 7 | Aula 3 sobre Servlets | [[https://github.com/gugawag/Calculadora|Exemplo de Servlet Calculadora]]\\ [[https://github.com/gugawag/EnviarPDF|Exemplo de envio de arquivo (pdf) do servidor para o browser]]\\ [[https://github.com/gugawag/LojaVirtual|Projeto 1: Loja Virtual com carrinho (sessão)]] | | Lab | | 8 | Aula 4 sobre Servlets - URL rewriting\\ Lab 1 | {{tw:aula5-cont-servlet-v2.pdf|Explicacoes sobre servlet. Explicando carrinho de compras}} | | Lab | | 9 | Aula 5 sobre Servlets - exercicio carrinho compras no lab.;\\ MT 1 | | | Lab | | 10 | JSP\\ Miniteste 2 | {{tw:aula6-jsp.pdf|Resumo JSP}} | Ler capítulos 7, 8 e 9 do livro Head First Servlets e JSP | Lab | | 11 | 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 | | 12 | Continuacao JSP | | | Lab | | 13 | Continuacao JSP | | Lab | | 14 | Introducao a JSF | | Sala | | 15 | JSF:Laboratorio de exemplos | | | Lab | | 16 | Lab de JSF | | | Lab | | 17 | JSF: Eventos e JSF-EL| | | Lab | | 18 | JSF:Exemplo Clube Alunos | | | Lab | | 19 | JSF:Ciclo de vida | {{tw:aula9-ciclo-vida-jsf.pdf|Ciclo de vida}} | | Lab | | 20 | Richfaces + DataModel + Ajax | | | Lab | | 21 | Projeto Base com tecnologias JEE 6 | [[http://gugawag.wordpress.com/2012/04/19/projeto-base-para-jee-6-jsf-2-richfaces-4-ejb-3-1-e-jpa-2/|Projeto Base JEE6]] | | Lab | | 22 | Projeto MyTwitter | | | Lab | | 23 | 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 | | 24 | AjaxValidator + tag | | {{tw:exemploajaxvalidator.zip}} | Lab | | 25 | Exemplo Facelets | {{java:clubealunos-facelets.zip|Clube alunos em facelets}} [[http://facestutorials.icefaces.org/tutorial/facelets-tutorial.html#stepthree|Tutorial introdução facelets]] | {{tw:testesfacelets.zip}} | Lab | | 26 | 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 | | 27 | 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 | | 28 | JPA | | | Lab | | 29 | | | | Lab | | 30 | 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 | | 31 | | {{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 | | 32 | 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 | | 33 | Avaliação projeto Fase 2 | | | Lab | | 34 | Projeto Clube (Lógica e Web com Facelets) | | {{java:clube-webelogica.zip}} | Lab | | 35 | Cont. JPA\\ MT5\\ Avaliação Lab 3 | | [[http://gugawag.wordpress.com/2008/11/17/configurando-richfaces-e-ajax4jsf/|Configurando RichFaces e Ajax4JSF]] | Lab | | 36 | Cont. JPA\\ | | | Lab | | 37 | MT8\\ Avaliação Lab 4 (último) | | | Lab | | 38 | **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 ===== - Parte 1 Você irá desenvolver uma loja virtual. Para isso, baixe o projeto que está em [[https://github.com/gugawag/LojaVirtual|https://github.com/gugawag/LojaVirtual]] e leia o arquivo README. Data de entrega: a se definir ===== Datas importantes ===== ===== Ferramentas ===== * Iremos utilizar o Eclipse Indigo (ou Juno) como IDE, O JBoss 7 como servidor de aplicação e o JBoss Tools 3.3 (plugins do eclipse). Siga os passos [[http://gugawag.wordpress.com/2011/07/24/configurando-jboss-tools-jee-6-no-eclipse-indigo-e-jboss-7/|deste post]] para instalar este ambiente. ===== Informações aos alunos ===== * [[|Notas]]