JBoss Forge
Introdução ao JBoss Forge
Hoje vamos aprender um pouco sobre JBoss Forge 🙂
JBoss Forge é um framework para criação de projetos baseado em padrões utilizando linha de comando. Por exemplo, você foi designado para criar um pequeno projeto para o cadastro de novos funcionários utilizando JSF para a camada de apresentação e como provider de persistência o Hibernate. Com JBoss Forge podemos escrever um CRUD em questão de minutos. Pedemos criar aplicações baseadas em Java EE 6 em poucos instantes. A idéia é realmente facilitar a vida do desenvolvedor. Mais informações podem ser encontradas na página do projeto.
O primeiro passo é realizar o download do forge no seguinte link . Baixe o pacote forge-distribution-1.1.2.Final.zip. Para utilizar o JBoss Forge é necessário que você já tenha o JDK 6 ou superior instalado e devidamente configurado com a variável de ambiente JAVA_HOME. Também é necessário ter instalado o JBoss Application Server 7 pois vamos utilizá-lo para rodar as nossas aplicações.
Descompacte o pacote forge-distribution-1.1.2.Final.zip em um diretório de sua preferência.
D:\Desenvolvimento\jboss-org\forge-distribution-1.1.2.Final
O proxímo passo é configurar a variável FORGE_HOME apontando para o diretório em que o Forge foi descompactado.
Adicione a variável FORGE_HOME ao Path.
Abra o cmd e verifique se o forge foi corretamente configurado executando: forge . Você verá algo como a imagem abaixo:
Pronto!! A instalação está finalizada.
Uma das grandes facilidades do JBoss Forge é a instalação de plugins. Se for necessário criar uma aplicação utilizando JSF, JPA, entre outras tecnologias basta utilizar um plugin que facilite essa tarefa. Se não existir é possível criar novos plugins com novas funcionalidades tornando essa ferramenta muito extensível. Para procucar um plugin é bem simples, basta executar na linha de comando: forge find-plugin exemplo . Veja abaixo:
Se você observar perceberá que encontramos alguns plugin como RichFaces, PrimeFaces, etc. Basta escolhermos qual atende a nossa necessidade e instalar. Vamos instalar o plugin PrimeFaces. Para execute: forge install-plugin primefaces .
Como vimos acima o plugin foi instalado com sucesso. Instale também o plugin do JBoss AS 7, isso nos dará a possibilidade de realizar os deploys e undeploys diretamente no servidor. Execute: forge install-plugin jboss-as-7 .
Esse plugin também foi instalado com sucesso.
Agora vamos criar uma aplicação web para realizarmos os primeiros testes no Forge. Para criar a aplicação web mystore execute o seguinte comando: new-project –named mystore –topLevelPackage com.jbossdivers.store –projectFolder D:\Desenvolvimento\jboss-org\workspace .
Veja que toda a estrutura do projeto foi criada “mavenizada”. O Forge nos ofereçe uma funcionalidade que já é conhecida por todos o Scaffold.
Assim como o Scaffold do Ruby on Rails podemos utilizar o Forge para gerar um pequeno esqueleto para a criação de um CRUD básico. Para isso execute: scaffold setup e respondas as perguntas que forem aparecendo no terminal.
Perceba que ele nos guia pela criação da estrutura e nos mostra as opções.
A estrutura básica do projeto está criada. Vamos agora configurar a parte de persistência do nosso projeto. Execute: persistence setup –provider HIBERNATE .
Perceba que novamente ele nos guiou por toda configuração na parte de persistência. Observe o arquivo persistence.xml.
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="forge-default" transaction-type="JTA"> <description>Forge Persistence Unit</description> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.transaction.flush_before_completion" value="true"/> </properties> </persistence-unit> </persistence>
Vamos criar uma entidade para o nosso projeto. Execute: entity –named Book.
Agora vamos adicionar campos na entidade Book. Execute: field string –named name e field string –named author.
Veja o código gerado na entidade Book.
@Entity public class Book implements Serializable { @Id private @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", updatable = false, nullable = false) Long id = null; @Version private @Column(name = "version") int version = 0; @Column private String name; @Column private String author; //getters e setters
Agora vamos gerar o “UI scaffolding” que se refere ao Managed Bean e outras classe que fazem a “ligação” com a enteidade. Execute: scaffold from-entity .
Chegou o grande momento. Vamos fazer o build da aplicação e realizar o deploy diretamente no JBoss AS 7. Execute: mvn clean package . Existe uma versão embarcada do Maven no JBoss Forge que nos permite fazer esse build.
Execute as7 setup para configurar o plugin do JBoss 7 em nosso projeto e execute as7 deploy para realizar o deploy da nossa aplicação. Acesse a url http://localhost:8080/mystore/ e veja a aplicação funcionando.
Eu achei bem legal toda a facilidade que o JBoss Forge oferece.
Para mais informações veja a página do projeto: JBoss Forge.
Espero que tenham gostado 🙂
Abraços