Demoiselle Tutorial Documentation

Documentos relacionados
Demoiselle Tutorial Módulo 1 Arquitetura

Evento.java. package dominio;

Desvendando o Hibernate

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER utilizando o Eclipse Galileo Modelling Tools

Tutorial Hibernate + Vraptor para projetos Restful.

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER 3.0 utilizando o Eclipse Galileo Modelling Tools

Introdução ao Hibernate. Hibernate Mapeamento com Anotação. Projeto Desktop Uma Classe. Objetivo. Programas Utilizados

Tutorial Módulo 06 - Segurança

Demoiselle Tutorial Módulo 2 Persistência

Manual Demoiselle Wizard CETEC/CTCTA

POO Programação Orientada a Objetos

TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL

PROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: Java WebDeveloper. Prof. Edson Belém

Criando um Editor de Diagramas com Sirius

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem

Retrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos

POO Documentation. Release 1.0. Felipe Dau e Francisco Pereira Junior

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

Groupware Workbench Tutorial de instalação da Aplicação-Exemplo no Eclipse

Criando um CRUD RESTful com Jersey, JPA e MySQL

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem

TUTORIAL DE INSTALAÇÃO DO AMBIENTE DE DESENVOLVIMENTO ANDROID NO UBUNTU

Introdução ao Desenvolvimento de Aplicativos Android

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Desenvolvimento Web com Framework Demoiselle versão 1.0

Guia de instalação do REIS

Introdução. Configuração. Padrão POJO. Framework Pesistência de. Mapeamento Annotation. Objetos. Persistência. Java. Objetos. Prof.

Instalação JDK 10/03/2017

Manual Técnico. Instalação e Configuração do Reporting Services

Vamos falar de Hibernate?

TUTORIAL DE USO DO GIT JUNTO AO ECLIPSE

Índice. 1. Introdução Instalação: Eclipse e Android Primeira aplicação em Android... 11

Utilizando Swing com Hibernate

Tutorial - Introdução ao JPA

Preparação do ambiente para desenvolvimento em Java

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Tutorial 1 Configuração Apache Tomcat no NetBeans 8.0 (passo a passo)

Ferramenta 1 -NetBeans 8.0

Integrated Government Resources Planning IGRP Open Source. Como importar e contribuir - GitHub. Núcleo Operacional da Sociedade de Informação

Para quem não quiser testar estes procedimentos, e não se importa em manter uma versão antiga do Java, informo que testamos com alguns clientes a tran

Sistema SGPA-IFSP. Manual de Instalação

Primefaces 3. Laboratório Passo-a-Passo. JSF - Primefaces. Prof. Leandro Rubim de Freitas Versão 1.

Introdução ao Desenvolvimento de

Criação de um novo projeto no Eclipse utilizando Maven

Procedimentos Lumisoftware Manual de Instalação e Funcionalidades do Sistema Sac Mobile

Instalando o Eclipse e o Android

INSTALAÇÃO E CONFIGURAÇÃO

Exceeding Automation Limits. Instruções FDT/DTM

Configurando o Ambiente de Desenvolvimento Android Studio No Windows Antes de qualquer trabalho ser iniciado no desenvolvimento de uma aplicação

# Início Instalação e Configuração Servidor Antivírus Symantec Endpoint #

Configurando uma aplicação Struts

Instalação Wiser Discovery Sistema Operacional Windows

Manual de atualização para uso do xml versão 3.10

Exceeding Automation Limits. Instruções FDT/DTM

Manual de instalação do software CSIBackup Versão 1.0

Criar uma aplicação JPA2 com EclipseLink e H2

Integração Java x Flex

MANUAL DE INSTALAÇÃO

Guia de Instalação II. Instalação e Administração do Fluig. Título do documento

Guia de instalação Impressora Térmica EPSON TM-88IV (Linux)

Criando uma aplicação web

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação

Exceeding Automation Limits. Instruções FDT/DTM

Framework Demoiselle QuickStart Emerson Oliveira Emerson Saito Luciano Borges Marlon Carvalho Rodrigo Hjort Serge Rehem

INSTALAÇÃO DO CLIENTE LOTUS NOTES ROTEIRO DE INSTALAÇÃO E CONFIGURAÇÃO

Para criar um projeto no ambiente eclipse utiliza-se o menu File, New e Project como ilustra a Figura 1.

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Introdução a JPA e EJB 3.0. gustavo wagner -

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

1 Gerando um XML da Nota fiscal eletrônica (LimerSoft SisVendas versão 12)

Título: SEFAZ RS Como configurar o sistema para importar os arquivos XML de NF-e através do Web Service diretamente do SEFAZ Certificado A1?

Tutorial sobre Activity: Como carregar um fragmento do mapa para a tela do celular

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROGRAMAÇÃO PARA INTERNET TUTORIAL DE APLICAÇÃO JSF DESENVOLVIDO COM A FERRAMENTA ECLIPSE LUNA

Tutorial de Instalação Integratto Contábil SQL. Integratto Contábil SQL

Spring Framework. Parte 04 transações

Laboratório Configuração do Backup e da Restauração de Dados no Windows 7 e no Vista

DISTRIBUINDO SUA APLICAÇÃO

Lojamundi Tecnologia Sem Limites br

Transcrição:

Demoiselle Tutorial Documentation Release 1.0.0 Demoiselle Framework January 29, 2010

CONTENTS 1 Arquitetura 3 1.1 Laboratório Arquitetura e Configuração................................ 3 2 Persistência 13 2.1 Laboratório Persistência........................................ 13 3 Indices and tables 23 i

ii

Contents: CONTENTS 1

2 CONTENTS

CHAPTER ONE ARQUITETURA 1.1 Laboratório Arquitetura e Configuração Este laboratório tem por objetivo fixar os conceitos abordados no Módulo 01 do tutorial que trata as questões de arquitetura do Framework Demoiselle e orientar o processo de instalação e configuração do ambiente de desenvolvimento e da aplicações instanciadas por ele. Caso esteja optando por não utilizar a ferramenta MAVEN, utilize o documento Demoiselle-Tutorial-Modulo01-Arquitetura-Anexo-I, ao invés deste. Para o bom andamento deste laboratório, espera-se que o ambiente do desenvolvedor contenha os seguintes softwares: Software Versão Objetivo Compilador Java (JDK) 1.5.0_17* Compilação dos projetos Eclipse Ganymede 3.4.2 IDE para desenvolvimento AspectJ Development Tools for Eclipse 1.6.4 Compilação de aspectos Maven Integration for Eclipse 0.9.7* Integração com projetos Maven Servidor de Aplicação Tomcat 6.0.18 Servidor de aplicação Web Demoiselle Wizard 1.0.2 Gerador de código do Framework Demoiselle Jboss Tools 3.0 Kit de acessórios para desenvolvimento Mínima 1.1.1 Objetivos Criar e configurar projetos via arquétipo Maven; Criar projeto do tutorial (projeto que terá continuidade nos demais laboratórios); Configurar projeto via Demoiselle Wizard. 3

Figura 1: Lista de update sites configurados no Eclipse 1.1.2 Exercício 1.0 Instalação e configuração do Ambiente 1. Baixar e instalar a JDK JAVA (http://java.sun.com/javase/downloads/index_jdk5.jsp), também é possível utilizar JAVA 6, mas mantendo a compatibilidade com JAVA 5. 2. Baixar e instalar a IDE Eclipse Ganymede (http://www.eclipse.org/ganymede/). 3. Inicie o uso do Eclipse. 4. Já no interface do Eclipse utilize a opção de Software Updates: Menu-> Help-> Software Updates. 5. Utilize a opção Add Site... (figura 1) para instalar os seguintes softwares: AspectJ Development Tools for Eclipse (http://download.eclipse.org/tools/ajdt/34/update/) Maven Integration for Eclipse (http://m2eclipse.sonatype.org/update/) Demoiselle Wizard (http://demoiselle-wzd.sourceforge.net/updatesite/) JBoss Tools (http://download.jboss.org/jbosstools/updates/stable/) 1.1.3 Exercício 1.1 Arquétipo Demoiselle 1. Configuração do repositório Maven 4 Chapter 1. Arquitetura

Abra o Eclipse. A primeira vez que plugin do Eclipse (m2) é instalado, o repositório local é criado na pasta.m2, que fica na Pasta do Usuário (USER_HOME). No Windows, normalmente fica em C:Documents and Settings$USER_HOME.m2 ; no Linux, em /home/$user_home/.m2/ ). Dica: A pasta.m2 é protegida, portanto pode não estar visível por padrão. Para acessá-la, se estiver numa máquina Windows, configure a exibição de arquivos ocultos. No Linux, utilize as teclas Ctrl+H para exibir e esconder arquivos ocultos. No seu repositório local ($USER_HOME/.m2) crie o arquivo archetype-catalog.xml e copie o conteúdo abaixo: <?xml version="1.0" encoding="utf-8"?> <archetype-catalog> <archetypes> <archetype> <groupid>br.gov.component.demoiselle.archetypes</groupid> <artifactid>demoiselle-archetype-webapp-sample</artifactid> <version>1.0.0</version> <repository> http://demoiselle.sourceforge.net/repository/release </repository> </archetype> </archetypes> </archetype-catalog> 1. Criando um novo projeto Volte ao Eclipse é acione o menu: File New Project... Selecione a opção Maven Project (figura 2): 1.1. Laboratório Arquitetura e Configuração 5

Figura 2: Seleção de projeto Maven Na próxima tela é possível configurar o local onde o projeto será criado. Mantenha sua tela conforme a figura 3 para que o projeto seja criado dentro do Workspace padrão. 6 Chapter 1. Arquitetura

Figura 3: Criação de um novo projeto Maven a partir de arquétipo Na tela seguinte (figura 4) são exibidos todos os arquétipos cadastros no archetype-catalog.xml; Selecione no campo Catalog a opção: Default Local; Selecione a última versão do arquétipo demoiselle (demoiselle-archetype-webapp-sample). 1.1. Laboratório Arquitetura e Configuração 7

Figura 4: Configuração do catálogo local de arquétipos Maven Vá à próxima tela. Informe os dados do seu projeto. Group Id: representa a identificação da organização; Artifact Id: representa o nome do projeto; Version: versão do projeto; Package: pacote raiz da aplicação. 8 Chapter 1. Arquitetura

Figura 5: Parâmetros do projeto Maven Acione o botão Finish para iniciar a criação do projeto. Seu projeto deverá ser criado conforme estrutura da figura 6: 1.1. Laboratório Arquitetura e Configuração 9

Figura 6: Estrutura de pacotes do projeto escola O Arquétipo Maven constrói uma aplicação JEE compatível com os seguintes componentes/frameworks: JSF Api 1.2.08 RichFaces 3.1.2 Weblets Api 1.1 MyFaces Tomahawk 1.1.7 10 Chapter 1. Arquitetura

JSF-Facelets 1.1.14 Postgresql 8.0-318 JasperReports 3.1.0 1.1. Laboratório Arquitetura e Configuração 11

12 Chapter 1. Arquitetura

CHAPTER TWO PERSISTÊNCIA 2.1 Laboratório Persistência Este laboratório tem por objetivo fixar os conceitos da camada de persistência do Framework Demoiselle e orientar o processo de configuração das aplicações. 2.1.1 Objetivos Configurar a camada de Persistência através do Demoiselle Wizard utilizando JPA. Criar a camada de persistência da aplicação Escola. Interfaces DAO; Implementações DAO; Filtros de Consulta; Testar o funcionamento da camada de persistência. 2.1.2 Exercício 2.1 Configuração do Projeto 1. Este laboratório utilizará o projeto escola criado no laboratório anterior. 2. Clique com o botão direito sob o projeto a acione a opção Demoiselle -> Configurar Projeto. Figura 1: Configurar Projeto 1. Na guia JPA, você poderá adicionar, alterar ou remover suas Persistence Units. Para incluir uma Persistence Unit, clique no botão adicionar. 13

Figura 2: Configurar Persistence Unit Para incluir uma Persistence Unit, preencha os seguintes campos: Obs.: Este tutorial utilizará como exemplo o HypersonicSQL. Nome: EscolaPU Provider: org.hibernate.ejb.hibernatepersistence Tipo: Resource Local Data Source: Não vamos usar JNDI Propriedades: Key hibernate.dialect hibernate.show_sql hibernate.format_sql hibernate.hbm2ddl.auto hibernate.connection.driver_class hibernate.connection.url hibernate.connection.username hibernate.connection.password hibernate.use_sql_comments Value org.hibernate.dialect.hsqldialect true false update org.hsqldb.jdbcdriver jdbc:hsqldb:. sa false 1. Clique no botão Salvar e caso não queira adicionar nenhuma outra Persistence Unit clique no botão Finish. O Wizard irá configurar o arquivo persistence.xml na pasta resources/meta-inf do projeto conforme figura abaixo: 14 Chapter 2. Persistência

Figura 3: Persistence.xml 1. Adicione a linha framework.demoiselle.persistence.default_persistence_unit=escolapu ao final do arquivo demoiselle.properties. 2. Adicione a dependência do HSQLDB versão 1.8.0.1 no arquivo pom.xml da aplicação (logo após a tag <profiles>) conforme abaixo: <dependencies>... <dependency> <groupid>hsqldb</groupid> <artifactid>hsqldb</artifactid> <version>1.8.0.1</version> </dependency>... </dependencies> 2.1.3 Exercício 2.2 Desenvolvimento da camada de persistência Pacote Bean 1. No pacote br.gov.demoiselle.escola.bean Implemente o Pojo de Aluno conforme abaixo: package br.gov.demoiselle.escola.bean; import java.util.arraylist; import java.util.date; import java.util.hashset; import java.util.list; import java.util.set; import javax.persistence.entity; import javax.persistence.sequencegenerator; import javax.persistence.table; import javax.persistence.column; import javax.persistence.fetchtype; import javax.persistence.generatedvalue; import javax.persistence.id; import javax.persistence.temporal; import javax.persistence.temporaltype; 2.1. Laboratório Persistência 15

import javax.persistence.cascadetype; import javax.persistence.onetomany; import javax.persistence.generationtype; import br.gov.framework.demoiselle.core.bean.ipojo; @Entity @Table(name="aluno") @SequenceGenerator(name="AlunoSequence", sequencename="aluno_seq", allocationsize=1) public class Aluno implements IPojo { private static final long serialversionuid = 1L; @Id @GeneratedValue(generator="AlunoSequence", strategy=generationtype.sequence) @Column(name="id_aluno") private Long id; @Column(name="nome", length=100) private String nome; @Column(name="pai", length=100) private String pai; @Column(name="mae", length=100) private String mae; @Column(name="nascimento") @Temporal(value=TemporalType.DATE) private Date nascimento; @OneToMany(cascade=CascadeType.ALL, fetch=fetchtype.lazy) private Set<Endereco> enderecos; public Aluno() { enderecos = new HashSet<Endereco>(); public Aluno(long id) { this(); this.id = id; public Long getid() { public void setid(long id) { return id; this.id = id; public String getnome() {return nome; public void setnome(string nome) {this.nome = nome; public String getpai() {return pai; public void setpai(string pai) {this.pai = pai; public String getmae() {return mae; public void setmae(string mae) {this.mae = mae; 16 Chapter 2. Persistência

public Date getnascimento() {return nascimento; public void setnascimento(date nascimento) {this.nascimento = nascimento; public Set<Endereco> getenderecos() { return enderecos; public List<Endereco> getlistaendereco() { return new ArrayList<Endereco>(enderecos); public void setenderecos(set<endereco> enderecos) { this.enderecos = enderecos; 1. No mesmo pacote implemente o Pojo de Endereço: package br.gov.demoiselle.escola.bean; import javax.persistence.column; import javax.persistence.entity; import javax.persistence.fetchtype; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import javax.persistence.joincolumn; import javax.persistence.manytoone; import javax.persistence.sequencegenerator; import javax.persistence.table; import br.gov.component.demoiselle.common.pojo.extension.description; import br.gov.component.demoiselle.common.pojo.extension.equalsfield; import br.gov.component.demoiselle.common.pojo.extension.pojoextension; import br.gov.framework.demoiselle.core.bean.ipojo; @Entity @Table(name="endereco") @SequenceGenerator(name="EnderecoSequence", sequencename="endereco_seq", allocationsize=1) public class Endereco extends PojoExtension implements IPojo { private static final long serialversionuid = 1L; @EqualsField @Id @GeneratedValue(generator="EnderecoSequence", strategy=generationtype.sequence) @Column(name="id_endereco") private Long id; @EqualsField @Description @Column(name="logradouro", length=100) private String logradouro; @Description @Column(name="numero", length=100) private String numero; @Description 2.1. Laboratório Persistência 17

@Column(name="complemento", length=100) private String complemento; @Description @Column(name="bairro", length=100) private String bairro; @Description @Column(name="cep", length=100) private String cep; @Column(name="municipio", length=100) private String municipio; @Description @Column(name="tipo") private Integer tipo; @Description @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="aluno") private Aluno aluno; public Endereco() { public Endereco(String logradouro, String numero, String complemento, String bairro, String cep, String Municipio, Integer tipo) { super(); this.logradouro = logradouro; this.numero = numero; this.complemento = complemento; this.bairro = bairro; this.cep = cep; this.municipio = Municipio; this.tipo = tipo; public Long getid() { return id; public void setid(long id) { this.id = id; public String getlogradouro() { return logradouro; public void setlogradouro(string logradouro) { this.logradouro = logradouro; public String getnumero() { return numero; 18 Chapter 2. Persistência

public void setnumero(string numero) { this.numero = numero; public String getcomplemento() { return complemento; public void setcomplemento(string complemento) { this.complemento = complemento; public String getbairro() { return bairro; public void setbairro(string bairro) { this.bairro = bairro; public String getcep() { return cep; public void setcep(string cep) { this.cep = cep; public Integer gettipo() { return tipo; public void settipo(integer tipo) { this.tipo = tipo; public String getmunicipio() { return municipio; public void setmunicipio(string Municipio) { this.municipio = Municipio; public Aluno getaluno() { return aluno; public void setaluno(aluno aluno) { this.aluno = aluno; 1. Agora os beans foram criados será necessário fazer o mapeamento deles no arquivo persistence.xml. Para isso clique com o botão direito em cima do projeto e em seguida clique em Demoiselle -> Configurar Projeto. 2.1. Laboratório Persistência 19

Figura 4: Configurar Projeto Na aba JPA, clique em cima da Persistence Unit criada com o nome de EscolaPU e em seguida clique em Editar. Figura 5: Editar Persistence Unit No lado direito da tela aparecerá as configurações feitas anteriormente e aparecerá também um botão chamado Adicionar Pojo. Clique nesse botão. 20 Chapter 2. Persistência

Figura 6: Adicionar Pojo Em seguida aparecerá as classes que já foram criadas. Selecione os dois beans (Aluno e Endereço) conforme a figura abaixo e clique em Finish. 2.1. Laboratório Persistência 21

Figura 7: Selecionar Pojos Verifique que os dois beans foram mapeados no aquivo persistence.xml conforme abaixo: <?xml version="1.0" encoding="utf-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd" version="1.0" <persistence-unit name="escolapu" transaction-type="resource_local"> <provider>org.hibernate.ejb.hibernatepersistence</provider> <class>br.gov.sample.demoiselle.escola.bean.aluno</class> <class>br.gov.sample.demoiselle.escola.bean.endereco</class> <properties> <property name="hibernate.connection.username" value="sa" /> <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcdriv <property name="hibernate.format_sql" value="false" /> <property name="hibernate.connection.password" value="" /> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.use_sql_comments" value="false" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.dialect" value="org.hibernate.dialect.hsqldialect" <property name="hibernate.connection.url" value="jdbc:hsqldb:." /> </properties> </persistence-unit> </persistence>... 22 Chapter 2. Persistência

CHAPTER THREE INDICES AND TABLES Index Module Index Search Page 23