1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015
2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks, que permitem que nossos alunos tenham acesso formal a grupos de tecnologias e métodos modernos, utilizados no projeto e desenvolvimento de soluções de software. BuriPack Formação Programador Java EE - Web Avançado Objetivo: Neste buripack, preparamos algo especial para quem já sabe ou tem boas noções de Java SE: Criamos um pacote de treinamentos com os principais frameworks de mercado, voltados para o desenvolvimento de aplicações web profissionais, a fim de permitir que nossos alunos aprendam aspectos importantes do projeto e implementação de aplicações Java Web, a partir de uma sequencia de conteúdos expostos de forma dinâmica e muito código fonte. Cursos: BC 61 PERSISTÊNCIA COM JPA 2 E HIBERNATE 3 (40H) BC 62 WEB DINÂMICA COM JSF 2, PRIMEFACES 4 E CDI (40H) A seguir, apresentamos as ementas de cada buricurso da formação.
3 de 6 BC 61 PERSISTÊNCIA COM JPA 2 E HIBERNATE 3 (40h) OBJETIVOS: A camada de persistência (também conhecida como camada de modelo) é responsável pelo armazenamento e acesso ao banco de dados de uma aplicação. A forma de projeta e organizar essa camada pode ajudar na criação de uma aplicação robusta, que apresente um tempo de resposta minimizado. Neste curso, estudamos como criar a arquitetura da camada de persistência, a partir de um conjunto de padrões de projeto e técnicas de implementação amplamente difundidas no mercado JEE. Ao longo do treinamento, desenvolvemos a camada de modelo de uma aplicação web para controle financeiro, onde os alunos se deparam com problemas reais do Mapeamento Objeto Relacional, como: restrições de integridade, chaves compostas, herança e consultas dinâmicas. PRÉ-REQUISITOS: BC 51 JAVA PARA INICIANTES; e BC 52 JAVA AVANÇADO; e BC 54 PROGRAMAÇÃO JAVA WEB; ou Java, Orientação a Objetos, Collections, JSP, JSTL básico, MVC, patterns DAO e Factory. EMENTA: Introdução: Acesso a banco de dados, JDBC, Orientação a objetos, Mapeamento Objeto Relacional, Java Persistence API JPA, Hibernate, uso de drivers de fornecedores de SGBD. Mapeamento de entidades: Trabalhando com anotações, chaves primárias e o auto-incremento, Arquivo de configurações, Criação automática de banco de dados, controle transacional. Aplicando padrões de projeto: Entendendo a camada de modelo, Facilitando a persistência com padrões de projeto, Data Access Object DAO, Entendendo o EntityManager e as conexões para acesso ao banco de dados, A classe utilitária JPAUtil, Factory, Singleton, Ciclo de vida: Managed, Transient. Detached e Removed. Mapeamento de chaves estrangeiras: Relações 1 x N, Entendendo o mapeamento de ENUMs e campos do tipo Data, Persistência de
4 de 6 chaves estrangeiras, Mantendo a integridade do modelo, Consultas baseadas em relações. Consultas avançadas e relatórios: Java Persistence Query Language (JPQL) e as consultas Orientadas a Objetos, Filtros com AND e OR, Consultas baseadas em relacionamentos, Somatórios, Agrupamentos e Named Queries. Relacionamento bidirecional: Entendendo quando usar o preciso de Relacionamentos Bidirecionais, Como evitar a criação de tabelas desnecessárias, Mapeamento da relação N x N, O Carregamento preguiçoso e o problema de LazyLoading, Resolvendo com Open EntityManager inview com CDI. Trabalhando com validações e integridade: Como definir constraints no SGBD via JPA, Validação de objetos com Bean Validation, Mensagens de validação, Validadores customizados, Anotações agrupadas e Validação em Cascata. Outros mapeamentos: Relações 1 x 1, Aplicando o padrão de projeto Value Object, Reuso de código com a anotação Embeddable e o Mapeamento de Chaves Primárias Compostas.
5 de 6 BC 72 WEB DINÂMICA COM JSF 2, PRIMEFACES 4 E CDI (40H) OBJETIVOS: Neste BuriCurso, o aluno é apresentado ao mundo do desenvolvimento web utilizando a especificação do JSF 2, que oferece ao programador web um conjunto de ferramentas que facilitam o trabalho de integração entre as camadas de visão e controle das aplicações. O trabalho com Primefaces traz ao programador java web componentes reutilizáveis, que facilitam a aplicação de conceitos de usabilidade e organização de componentes de tela, buscando oferecer uma agradável experiência aos usuários das nossa aplicações. Para fechar com chave de ouro mais este buricurso, estudamos conceitos avançados de arquitetura de aplicações web, usando a Injeção de Dependências, baseada em componentes oferecidos pelo especificação CDI. Ao final deste buricurso, o aluno terá desenvolvido uma aplicação web completa, discutindo e implementando conceitos de usabilidade, arquitetura e padrões de projeto. PRÉ-REQUISITOS: EMENTA: BC 51 JAVA PARA INICIANTES; e BC 52 JAVA AVANÇADO; e BC 54 PROGRAMAÇÃO JAVA WEB; ou Java, Orientação a Objetos, Collections, JSP, JSTL básico, MVC, patterns DAO e Factory. Entendendo a Web: Arquitetura Web, infraestrutura, componentes, Servidores de Web vs Servidores de Aplicação, Glassfish 4.1 instalação e configuração de plugin no Eclipse, Criação de DataSources e Pool de Conexões no servidor. Controle de versão de código fonte: Introdução ao versionamento de código fonte, Entendendo o GIT, Criação de contas e repositórios no GitHub, Clone de repositório no Eclipse, Comandos Commit, Pull e Push, Uso de Tags. Meu primeiro projeto JEE: Requisitos da aplicação, Criação do projeto no Eclipse, Deploy da aplicação no Glassfish, Criação da camada de modelo.
6 de 6 Entendendo o JavaServer Faces: Arquitetura MVC e a importância de suas camadas, Desktop vs Web, A especificação JSF 2, Entendendo os novos componentes, Trabalhando com Formulários, Camada de controle baseada em Managed Beans, Integração das camadas da aplicação, Listagem de objetos com DataTable, Expresion Language e ActionListeners. Trabalhando com Ajax: Pensando em requisições assíncronas, JSF e o AJAX nativo, Componentes Ajax, Eventos em Botões, Submissão de formulários, Atualização segmentada. Estilo de páginas com CSS: O impacto da identidade visual, Como melhorar a cara da sua aplicação, Aplicando CSS em JSF, Revendo conceitos de layout, Trabalhando com imagens. Ciclo de vida de componentes: Árvore de componentes JSF, Armazenamento no cliente ou no servidor, Fases de uma requisição JSF, Entendendo o comportamento dos PhaseListeners, Pensando na tela de Login, Navegação baseada em condições, Escopo de componentes. CDI e a Injeção de Dependências: Entendendo a Injeção de Dependências e a especificação CDI, Anotações de componentes CDI, Configuração de provider, Gestão de escopo e dependências, Pensando em Autorização de acesso. Templates JSF: Projeto de interfaces, Usando Wireframes em aplicações web, Evitando a duplicidade de códigos, Projetando Templates com Facelets, Aplicando templates em páginas XHTML. Formulários e escopos: Aplicações Master Detail, Tipos de escopo de componentes JSF: Request Scoped, View Scoped, Session Scoped e Conversation Scoped, Mantendo estado de componentes. CDI Avançado: Implementando Interceptadores, Controle transacional, Trabalhando com Eventos, Qualifiers e Stereotypes, Automação e Injection Points. Componentes dinâmicos com Primefaces: Incorporando o Primefaces, Componentes de Data, Calendário, Paginação e Abas, Trabalhando com gráficos, Download e Upload de arquivos.