Pré-requisitos: Banco de Dados II
Professor Responsável: Márcio Barros
Objetivos da Disciplina
Capacitar o aluno a projetar, construir e testar aplicações Web com tecnologias baseadas na linguagem de programação Java. Discutir a aplicabilidade de princípios de projeto de software aplicáveis no desenvolvimento web. Capacitar o aluno a comparar diferentes tecnologias e formas de construção deste tipo de aplicação.
Ementa
Aplicações baseadas na web. Processo de engenharia para web. Análise e projeto de aplicações baseadas na web. Tecnologias de construção de aplicações para web. Testes de aplicações baseadas na web. Gestão de projetos de desenvolvimento para web.
Conteúdo Programático
- Histórico das tecnologias de desenvolvimento Web – limitações e evoluções
- Fundamentos de Java Server Pages (JSP)
- Diferentes memórias de uma aplicação Web – página, requisição, sessão e aplicação
- Anatomia de uma aplicação Web – componentes do modelo MVC
- Projeto de banco de dados para uma aplicação Web
- Bibliotecas de tags e a camada de visão da aplicação
- Servlets e a camada de controle da aplicação
- Frameworks de desenvolvimento web com Java
- Mecanismos de teste unitário para aplicações web com Java
- Segurança em aplicações Web
- Introdução a ambientes de alta escalabilidade – cloud computing e app engines
- Introdução aos bancos de dados NoSQL
- Aspectos de lado cliente da aplicação – JavaScript e HTML DOM
- AJAX e comunicação cliente-servidor – JSON
- Lógica de lado cliente e bibliotecas JavaScript – jQuery
- Mapeamento objeto-relacional com Hibernate
- Temas abertos e recentes sobre desenvolvimento para a Web
Metodologia
Aprendizagem baseada em projeto: como parte da avaliação, o aluno deve projetar e construir, em grupo, um sistema de informação definido pelo professor. Idealmente o sistema deve ser projetado para que possa ser construído em cerca de 80 horas por um grupo de 3 alunos (~25 horas de trabalho por aluno).
Exposição de conteúdo: para apoiar o aluno na realização do projeto, são realizadas aulas presenciais onde o conteúdo programático é apresentado na forma de teoria e de código-fonte. A exposição de conteúdo é concentrada na primeira metade do curso, ficando a segunda dividida entre aulas expositivas e aulas de acompanhamento do trabalho desenvolvido pelos alunos.
Avaliação
A avaliação é realizada por meio de uma prova teórica realizada no meio do curso (peso 1) e pela construção de um sistema desenvolvido ao longo da segunda parte do curso (peso 2). A nota do aluno (M) é a média ponderada do projeto e da prova. Alunos com nota entre 4,0 e 7,0 deverão fazer uma prova final teórica. Neste caso, o aluno será aprovado se a média (MF) entre sua nota e a nota da prova final for igual ou superior a 5. Caso contrário, o aluno será reprovado.
Se M marior ou igual a 7 então aluno será aprovado com média M.
Se M menor que 4,0, então aluno será reprovado com média M.
Se M maior que 4,0 e M menor que 7,0 e MF maior que 5,0, então aluno será aprovado com média MF.
Se M maior que que 4,0 e M menor que 7,0 e MF menor 5,0, então aluno será reprovado com média MF.
Bibliografia
- HALL, M., Core Servlets And Java Server Pages, Volume 2: Advanced Technologies, 2nd Edition, Prentice-Hall, 2007
- STEFANOV, S. Padrões JavaScript, NovaTec/O’Reilly, 2010
- SILVA, M.S., jQuery: A Biblioteca do Programador Javascript, NovaTec, 2010