Esp. Mrcio Palheta gtalk: marcio.palheta@gmail.com 2 Agenda Introduo arquitetura web Arquitetura Model View Controller Definies do projeto Mapeamento Objeto Relacional MOR Camada de modelo com JPA 2 Camadas de viso e controle com XHTML, Ajax e JSF 2 Arquitetura Distribuda
3 Arquitetura padro MVC Model camada de modelo, responsvel pelo acesso a dados; View camada de viso, responsvel pela interao entre usurios e o sistema; Control cama de controle, resposvel pela implementao de regras de negcio da aplicao; 4 5 Requisitos do software A Big O uma empresa que atua no ramo de venda de medicamentos e deseja controlar o cadastro de produtos: Escolha das tecnologias Uso da arquitetura MVC; Camadas View e Controller: JSF2 Camada Model: JPA2 com Hibernate Banco de dados: MySQL 5.x Servidor de WEB: Apache Tomcat 7.x http://tomcat.apache.org IDE: Eclipse JEE 3.7 Indigo www.eclipse.org 6 Instalao eclipse e tomcat Descompacte eclipse e tomcat na pasta c:/java 7 Execute o eclipse
8 Configurao do tomcat no eclipse No eclipse, abra a aba Servers: Digite Ctrl+3; Digite servers e selecione a opo da lista 9 Configurao do servidor Na aba Servers, clique com o boto direito e selecione New/Server 10 Escolha a verso do Tomcat
11 Caminho da instalao
12 Assumindo o controle do servidor de web Duplo clique em Tomcat v7.0 Selecione Use Tomcat Salve os dados 13 Pgina inicial do Tomcat
14 15 Criao do projeto WEB Clique em: New / Project / Web Selecione: Dynamic Web Project e clique em Next>; Projeto JSF2: notasfiscais
16 Configurao de pacotes
17 Configurao do mdulo web
18 Configuraes JSF
19 Projeto gerado
20 Cpia das bibliotecas para WebContent/WEB-INF/lib
21 22 Deploy da aplicao Na aba Servers, clique com o boto direito no Tomcat e selecione a opo Add and Remove Projects: Deploy da aplicao
23 Deploy da aplicao Aplicao disponvel para acesso web 24 Persistncia de dados Uso de padres de mercado; Especificao JPA 2; Provider Hibernate 3; O padro de projeto DAO; A seguir, implementao da camada de modelo do nosso projeto; 25 MySQL Workbench Neste curso, nosso SGBD ser o MySQL E a administrao feita MySQL Workbench; Crie uma nova conexo 26 Dados da conexo
27 Abertura de conexo Aps a criao da conexo, voc tem um meio de acesso ao banco e dados; Execute a nova conexo: localhost 28 Criao do banco de dados
29 Crie uma nova classe java no eclipse
30 A classe Produto.java
31 Encapsulamento da JPA JPA atua diretamente na camada de dados persistncia; Vamos espalhar o cdigo de acesso por toda a nossa aplicao? NO. Vamos encapsular as regras da camada de modelo em classe utilitrias. 32 Data Access Object - DAO Padro de projeto que define classes utilitrias para acesso s tabelas do BD Classes do tipo DAO emcapsulam o acesso base de dados da aplicao; Relacionamento: Tabela: Produto; Classe DAO: ProdutoDAO; 33 Lista de atividades Criao do arquivo de configuraes; Classe para criao de conexes com o banco de dados; Implementao da classe ProdutoDAO; Implementao de testes unitrios com Junit Reviso da camada de modelo 34 Edio do arquivo src/META-INF/persistence.xml
35 A classe JPAUtil.java
36 A classe ProdutoDAO.java
37 Continuao...
38 Testes da camada de modelo Validar cada pequeno pedao de cdigo Testes da aplicao Tipos de testes Testes unitrios Aplicando Junit ao nosso sistema 39 Criao da classe de testes Selecione JUnit Test Case: 40 Definio da classe de testes
41 Seleo de mtodos a testar
42 Atualizao do build path
43 Classe de testes gerada
44 Teste de cadastro de produtos
45 Execuo dos testes Seleciona a classe e digite Ctrl+F11 46 Resultados da execuo
47 Verificao no SGBD
48 Exerccios Implemente os cdigos apresentados; Crie testes para os demais mtodos da classe Produto DAO 49 O que vem a seguir? Desenvolvimento dos componentes visuais Camada de viso com XHTML e EL Camada de controle com JSF2 Integrao da camada de modelo camada de controle Concluso do minicurso com a implementao da arquitetura MVC