Criar a estrutura base, configurar as dependências dos frameworks e o acesso ao banco de dados nem sempre são tarefas triviais. Neste contexto, veremos que o JBoss Forge mostra a sua força realizando de forma simples e rápida todas as configurações básicas e necessárias de alguns frameworks web (ex.: JSF, AngularJS, SpringMVC), como também as configurações de acesso e persistência de dados (ex.: Hibernate, JPA), versionamento, gestão de versão dos frameworks, até a publicação do projeto.
Além de facilitar a criação de projetos, o Forge também oferece diversos plug-ins para uso durante todo o ciclo de desenvolvimento. Existem plug-ins para deploy integrado com o OpenShift, JRebel, além de plug-ins para ferramentas de qualidade, como PMD, Checkstyle e muitas outras.
Qual foi a última vez que você começou um projeto Java EE do zero, tendo que configurar o servidor de aplicação, os frameworks de front-end, os frameworks de persistência, as IDEs, os arquivos de controle de versionamento (SVN, Git) e configurar o Maven com todas as dependências necessárias? Considerando essa situação, a complexidade que já é grande, aumenta a cada novo item adicionado.
E se fosse possível fazer tudo isso em menos de um minuto, realizando todas essas configurações, efetuando o deploy no servidor de aplicação e ter toda a base necessária da aplicação pronta digitando apenas algumas linhas de comando através de um terminal?
Para quem chegou ao mundo Java há pelo menos dois anos e passou por esse desafio, sabe que todas essas tarefas levariam um bom tempo mesmo sendo um profissional com grande conhecimento sobre os frameworks e ferramentas, pois a quantidade de arquivos de configuração necessários para cada camada da aplicação geralmente é alta.
Frequentemente, para realizar todas as configurações, o profissional acaba gastando tempo realizando consultas em diversas referências. Com base nesse e em outros cenários e percebendo a carência de ferramentas que auxiliem nesse processo, a Red Hat desenvolveu o JBoss Forge.
Essa é uma ferramenta que promove a facilidade e agilidade, sendo extremamente simples criar a estrutura de novos projetos Java e resolver as situações não triviais descritas anteriormente. Sua instalação, configuração e utilização serão abordadas neste artigo para demonstrar o quanto produtiva e fácil ela pode ser.
O projeto JBoss Forge
O JBoss Forge nasceu em meados de 2011 e propõe uma ferramenta baseada em linha de comando que oferece facilidades no desenvolvimento desde a criação do projeto até o deploy. Uma grande vantagem do Forge, se comparado a outras ferramentas com propósitos parecidos, como o Spring Roo, é a possibilidade de estendê-lo através da criação de plug-ins.
Isto faz com que o desenvolvedor tenha mais flexibilidade e liberdade durante a construção do projeto.
Caso o desenvolvedor não encontre um plug-in que satisfaça suas necessidades, principalmente no modo como os projetos são criados, seja pela estrutura ou pelo código gerado, o mesmo pode criar seus próprios plug-ins. Com isto, é possível integrar diversos frameworks conhecidos na comunidade e que não estão disponíveis no Forge, auxiliando ainda mais o desenvolvedor em seu dia a dia.
Um exemplo de plug-in desenvolvido pelo time do Forge é o plugin-undo. Este plug-in oferece a possibilidade de reverter um comando executado anteriormente no console do JBoss Forge.
Outra característica importante que vale a pena destacar ao compararmos o Forge e o Spring Roo é que este utiliza massivamente o framework AspectJ. Já o Forge trabalha de forma tradicional e padrão, empregando a Java EE 6 na geração do código, o que facilita o entendimento e a evolução deste.
Mantido pela Red Hat como parte dos projetos JBoss, o JBoss Forge é open source e qualquer pessoa pode contribuir de diversas formas, seja complementando os manuais, corrigindo bugs ou criando novos plug-ins.
Instalação do JBoss Forge
Uma grande vantagem do Forge, conforme dito anteriormente, é que ele não amarra a criação da aplicação a um ambiente específico. Na verdade, o que você tem em mãos é uma poderosa ferramenta de simples instalação e uso que estende os recursos do Maven, permitindo a criação de aplicações Java EE que podem ser executadas em qualquer servidor que implemente as especificações desta plataforma.
Todo o pacote necessário para executá-lo pode ser encontrado no site do projeto (ver endereço na seção Links). Para que você possa acompanhar o exemplo deste artigo, efetue o download da última versão estável.
Na criação do projeto exemplo foi utilizada a versão 1.4.0, que era a versão mais atual durante a escrita deste artigo. Ao finalizar o download, execute os passos a seguir:
· Verifique se a versão do JDK é maior ou igual à versão 6;
· Descompacte o arquivo zip com os arquivos do Forge no diretório escolhido e adicione o caminho para este diretório no PATH do seu sistema operacional. Para isto, o caminho do diretório referente ao Forge deve estar mapeado dentro das propriedades do sistema no item Variáveis de Ambiente com o nome $FORGE_HOME.
(No caso do Mac OS, você poderá adicionar estas configurações dentro do arquivo .bash_profile de cada usuário. No caso do Linux, considerando as distribuições baseadas em Debian, você pode adicionar estas configurações em arquivos diferentes, como ~/.bashrc, ~/.profile e ~/.pam_environment.);
· Depois de criada a variável de sistema $FORGE_HOME, adicione ao PATH do sistema operacional o diretório dos executáveis do Forge com o conteúdo: $FORGE_HOME/bin;
· Por fim, abra o terminal ou o prompt de comando e execute o comando forge para verificar se as configurações funcionaram. Caso as mesmas estiverem certas, uma tela parecida com a Figura 1 será demonstrada e o JBoss Forge estará pronto para ser utilizado.
A Listagem 1 mostra como estas configurações podem ser incluídas para usuários com sistemas operacionais Mac OS e Linux.
Listagem 1. Configurações incluídas dentro do arquivo .bash_profile.
export FORGE_HOME="/develop/programs/forge-distribution-1.4.0.Final/"
export PATH="$FORGE_HOME/bin/:$PATH"
Para usuários de Mac OS, existe a facilidade de instalar o Forge através da ferramenta Homebrew utilizando o comando brew install jboss-forge. Ao final da instalação, execute o comando forge para verificar se a instalação ocorreu com sucesso.
Se isso ocorrer, você verá uma tela parecida com a Figura 1. Note que a versão demonstrada é a 1.3.1, pois era a versão liberada através da instalação via Homebrew durante a escrita deste artigo.
Figura 1. Tela com o JBoss Forge carregado no sistema operacional Mac OS.
Adicionalmente a este processo de instalação, o Forge faz integração com o GIT e com o Maven de maneira nativa, porém a instalação do Forge não vem com estes programas. Como o objetivo deste artigo é relacionado ao Forge, não iremos abordar a instalação destes dois programas. Para mais informações a respeito de como instala-los, procure em edições anteriores da Java Magazine ou na internet.
Além das formas de instalação descritas anteriormente, o JBoss Forge pode ser instalado como um plug-in da IDE Eclipse, já que o mesmo faz parte do plug-in JBoss Tools.
Desta forma, abra o Eclipse (utilizamos a versão 4.3, de codinome Kepler) e no menu Help selecione a opção Eclipse Marketplace. No campo de pesquisa, entre com a informação JBoss Tools e aguarde o resultado. Feito isso, localize o JBoss Tools (Kepler) e clique no botão Instalar. Este processo segue o fluxo tradicional e já conhecido para instalar plug-ins no Eclipse. Sendo assim, basta seguir os passos da instalação e aguardar o término do processo.
A Figura 2 mostra a pesquisa pelo plug-in dentro do Eclipse Marketplace e a Figura 3 mostra a lista resultante com todos os plug-ins contidos no JBoss Tools.
Figura 2. Processo de instalação do JBoss Forge através do Eclipse Marketplace.
Figura 3. Listagem dos plug-ins que incorporam o JBoss Tools.
Ao finalizar o processo de instalação é necessário abrir a pers ...