Pular para o conteúdo principal

Aplicação de Vendas com JBoss Seam - Parte I (Instalando o JBoss)


Pensando recentemente em como fazer alguma coisa de mais útil para a galera que lê meu blog, me deparei com uma situação nova: o novo curso que estou ministrando no CEPEP de Java Avançado.

E o objetivo central do curso é desenvolver a aplicação referida utilizando tecnologias web recentes e estáveis como EJB para a camada de negócio, JPA para persistência, a dupla JSF e Ajax integrados ao JBoss Seam como visão. Então estarei aqui postando pra vocês o resultado deste trabalho que servirá também como forma de incentivo à revisão dos meus alunos. :)

Antes de mais nada temos de fazer a configuração do nosso servidor JBoss. Pra quem ainda nunca ouviu falar do JBoss, este é um servidor corporativo J2EE robusto, com suporte a EJB e você pode encontrar mais detalhes neste link.

Atualmente estamos na versão 7.0 do JBoss AS (Application Server), mas iremos trabalhar com a versão 6.0 por questão de conveniência, abrangência e aceitação geral. Usaremos também a versão Helios do Eclipse (também não é a mais recente, estamos com o Eclipse Indigo, mas a usaremos pelo mesmo motivo do servidor).

Resumindo, o que precisaremos para o projeto:
  1. Eclipse Helios IDE, que você pode baixar aqui (Instale a versão de acordo com seu Sistema Operacional; Aqui vamos utilizar a versão para Windows 7);
  2. JBoss Tools 3.2 (plugin para o Eclipse). Link para instalação e configuração do plugin aqui;
  3. JBoss AS 6.0 (Servidor JEE), download aqui (Não esqueça de descompactar);
Obs.: Também precisaremos fazer o download do pacote do Seam, mas isso ficará para o momento específico.

Descompacte o Eclipse em um diretório de sua preferência e execute-o. Selecione seu workspace e saia da tela de apresentação. Verifique se está na Perspectiva Java EE e com a aba Servers selecionada, tal como na Figura 1.

Figura 1. Tela inicial do Eclipse

Para trabalhar com versões do servidor JBoss superiores à 5 no Helios, temos de instalar o JBoss Tools, pois é nele que se encontra a adesão à versão 6 do JBoss. Para isso, vamos no menu "Help > Install New Software > Add" e adicione a seguinte URL: http://download.jboss.org/jbosstools/updates/stable/helios/ tal como na figura 2.

Figura 2. Adicionando URL JBoss Tools
Aguarde até ele carregar a lista de dependências e selecione a última opção "Web and Java EE Development". Clique em "Next", aceite os termos de licença e por fim clique em "Finish" e aguarde ele fazer a instalação. No final, irá ser solicitada o restart do Eclipse.

Feito isso, nosso Eclipse já está apto a portar um servidor JBoss As 6. Para tanto, vá até a aba "Servers", clique com o botão direito, "New > Server > JBoss As 6.0". Clique em "Next" e na próxima janela em "Home Directory" selecione "Browse..." e procure o diretório do JBoss As que você fez download há pouco (Figura 3).

Figura 3. Configurando JBoss AS
Clique em "Finish". Inicie seu servidor: Botão direito no servidor > Start.

Prontinho, servidor instalado e pronto pra usar! =)

  • Erros Comuns
    • Na instalação do JBoss Tools, é necessário que você esteja conectado à internet (e sem proxy), uma vez que a mesma faz a instalação do plugin via download. Se não tiver acesso, faça o download do plugin e instale-o manualmente, tal como é mostrado neste link;
    • É comum tomar o seguinte erro quando se inicia o JBoss: Error installing to Start: name=jboss.web.deployment:war=/invoker state=Create mode=Manual requiredState=Installed: java.net.URISyntaxException:. Este erro acontece porque você instalou o JBoss em um diretório que tem "espaços em branco". Ex.: C:/Users/Diogo Souza/Teste tem um espaço em branco no meio dele, e isso ocasiona quebra de URL location para o server. Para resolver, coloque o JBoss em um diretório sem quebras e reinstale o servidor - Algumas vezes pode ser necessário fechar o Eclipse para renomear o caminho do servidor.

Comentários

  1. Olá Anônimo, continua sim... rsrs

    Estou mudando de empresa agora e irei trabalhar diretamente com JBoss seam, o que facilitará minha continuação dos posts!

    Só aguardar um pouco! :-)

    ResponderExcluir
  2. Olá Diogo tambem mudei de empresa e aqui é jboss Help us ! T+
    Paulo Camargo.

    ResponderExcluir
  3. Olá Paulo, nem vi teu comentário... Qual a dificuldade exatamente?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Como acessar um iframe e seus elementos via jQuery?

Recentemente tive  um problema no projeto pois sentiu a necessidade de acessar um valor de um input que estava dentro de um iframe. Esse tipo de situação não é tão comum, uma vez que geralmente acessamos os valores do iframe para fora. Para acessar, de dentro de um iframe, um valor externo, utilizamos o seguinte código: $('#idDoElementoExterno', parent.document).val(); Entretanto, nunca tínhamos passado pela situação contrária. Pesquisando um pouco descobrimos uma alternativa, porém em JavaScript. Para ficar melhor o entendimento, vamos simular uma situação aqui. Temos uma página html "A.html" e dentro da mesma existe um iframe que aponta (src) para uma página "B.html": <!-- A.html --> <html> <head> <title>Testando iframe - jQuery</title> <script language="JavaScript"> function exibeValor() { // alert aqui! } </script> </head> <body> <input typ...

"Content is not allowed in prolog" - Entendendo exceção no Seam

Recentemente tive um problema de edição em um arquivo .xhtml utilizando JBoss Seam, Richfaces e afins. A princípio a mensagem de erro não dizia muito a respeito da causa do mesmo: com.sun.facelets.FaceletException: Error Parsing /consulta.xhtml: Error Traced[line: 1] Content is not allowed in prolog. "O conteúdo não é permitido no prólogo". Mas que conteúdo? Em qual prolog? Depois de dar uma pesquisada descobri que o erro acontece em vista de terem sido colocados alguns caraceteres inválidos antes da declaração de documento xml na página xhtml. Em outras palavras, a primeira coisa que deve constar em um documento xml (afins) deve ser: <?xml version="1.0" encoding="utf-8"?> Qualquer coisa antes disso, até mesmo um simples espaço em branco, pode gerar o erro em questão. Por fim, lembre-se de que a declaração de documento xml segue o padrão de encoding definido. Logo temos: <!-- Inc...

Como configurar a flag allow-file-access-from-files no Google Chrome

Se você já tentou desenvolver ou testar alguma aplicação no Google Chrome usando apenas páginas HTML estáticas sem hospedá-las em um servidor local qualquer, provavelmente já passou pelo impasse de não conseguir que seus códigos JavaScript, jQuery ou Ajax funcionem. Vários tipos de implementação enfrentam esse tipo de problema: tentar enviar um request via API Ajax do jQuery, acessar uma página dentro de um iframe/embed , dentre outras. O que acontece é que o Chrome não carrega arquivos localmente por padrão em função de restrições de segurança internas. Essa é uma discussão de muito tempo, mas já temos soluções para solucioná-la. Através da opção de flag --allow-file-access-from-files você consegue forçar o browser a reconhecer esse recurso como antes. Vejamos os passos necessários: Acesse o prompt cmd e acesse o diretório de instalação do seu Chrome (atente que para cada tipo de instalação - usuário ou global - temos um diretório diferente). Ex:  cd C:\Pr...