quarta-feira, 1 de abril de 2009

Eclipse Ganymede + JBoss Seam

Eis que acredito ter atingido o meu ápice em termos de utilização do maravilhoso framework Mentawai, muito embora esteja longe de ter utilizado todos os seus recursos. Digo isto porque minha capacidade em Java, J2EE, na verdade em desenvolvimento e projeto de softwares em geral, é bem limitada e isto que sou Analista de Sistemas graduado em Bacharelado em Sistemas de Informação.
Bem, mas não vem ao caso ficar denegrindo assim, veementemente minhas capacidades.
UM comportamento, sim, um único comportamento que na verdade é um suporte ao Mentawai está fazendo com que eu procure um framework alternativo e eis que explico o comportamento e o porquê desta procura.
Precisava de um campo em um formulário web simples que permitisse somente a entrada de números com casas decimais, prontamente recorri ao fórum e às excelentes páginas de apresentação do Mentawai e encontrei o que precisava, o inputMoney. Perfeito, rapidamente estava podendo digitar somente números com vírgulas naquele campo. O problema foi o comportamento deste componente. É comum e isto já está gravado no DNA de todo cidadão que usa interfaces gráficas esperar que uma vez um texto selecionado receba a entrada de algum caracter, seja via teclado, área de transferência, etc, este seja substituído por esta nova entrada, mas o inputMoney (que na verdade é um regido por javascript) simplesmente ignora a seleção e tudo que digito é acrescentado ao conteúdo original e isto é no mínimo irritante, pois o cidadão tem que primeiro atentar ao fato de apagar todo o conteúdo para depois digitar o novo, sem contar que as casas decimais deve ser entradas obrigatoriamente, ou seja, se preciso do valor 15 para um campo com duas casas decimais tenho que entrar 1500. Simplesmente não gostei nem um pouco disto e como disse acima, sou limitado (de agora em diante esqueçam isto por favor), restou-me pedir ajuda encarecidamente no fórum, mas como o pessoal eu sei que realmente é ocupado e fez um belo trabalho em nos disponibilizar este magnífico framework, eu já esperava que ficaria sem resposta.
Não pessoal, não estou reclamando de má vontade ou algo parecido por parte dos desenvolvedores do Mentawai e muito menos estou sendo irônico, pois sei que o inputMoney na verdade é um "plus" do projeto.
Pois bem, muito embora o Saoj tenha escrito que o Mentawai faz tudo que o JBoss Seam faz e de forma mais compacta e direta, foi justamente esta comparação que aguçou meus sentidos a estudar o JBoss Seam, pois nem ao menos sabia qual era seu propósito até aquele momento. Pelo que pude entender, superficialmente, tem a intenção de fazer a ligação do JSF com os demais framework normalmente utilizados em J2EE (EJB 3.0, JPA, Hibernate, Ajax) facilitando ou automatizando esta integração e diminuindo consideravelmente a quantidade de arquivos e/de configurações necessários.
É isto que sei até o momento e o que mais vou relatar agora é como instalar e configurar o JBoss Seam 2.1.1-GA com Eclipse Ganymede, tomando por base o ótimo post do nosso amigo Sílvio Netto.

Então vamos lá (e considerando que já tenhas o JDK 6 instalado)!
Criemos um diretório que será nossa base, por exemplo, c:\DevelopEnv e lá descompactemos (estou usando como ambiente no momento um Windows XP 32bits):

Eclipse Ganymede;
JBoss 5.0.1.GA-jdk6;
JBoss Seam 2.1.1.GA;
JBoss Tools All 3.0.0.GA;

Atente para que o JBoss Tools seja descompactado dentro da pasta onde foi descompactado o Eclipse, pois ele é um conjunto de plugins para este.

A partir de agora vou fazer um copy-paste do post do Sílvio, alterando somente o que mudou daquele ambiente para este:

1 - Configurar o Eclipse
Alterar a perspectiva para Seam.
Window → Open Perspective → Other → Seam.

2 – Configurar o JBoss AS
Window → Preferences → Server → Runtime Environments → Add
JBoss Community → JBoss 5.0 Runtime
Altere o home directory para: C:\DevelopEnv\jboss-5.0.1.GA
Configuration: default.

3 – Configurar a visualização do servidor
JBoss Server View → Clicar com o direito → New Server
JBoss AS 5.0 → Next → Next → Finish

4 – Configurar Conectividade
Window → Preferences → Data Management → Connectivity → Driver Definitions → Add
HSQLDB JDBC Driver 1.8
Jar List → Driver File(s) → Add Jar/Zip:
hsqldb.jar → Remove Jar/Zip
Add Jar/Zip C:\DevelopEnv\jboss-5.0.1.GA\common\lib\hsqldb.jar
OK

5 – Criar um projeto
File → New → Seam Web Project
Name: agenda
Configurations: Dynamic Web Project with Seam 2.0
Next → Next → Next
Seam runtime: Add
Home Folder: C:\DevelopEnv\jboss-seam-2.1.1.GA
Deploy as: WAR
Database Type: HSQL
Connection profile: → New...→ HSQLDB → Finish
Finish

(O passo de anexar a aplicação agenda ao servidor pra mim não foi necessário)

6 – Iniciar o JBoss
Clique com o direito em JBoss 5.0 Server → Start

4 – Acessar o sistema
Abra um browser e digite: http://localhost:8080/agenda

Era isto gurizada.

2 comentários:

WALL ROCHA disse...

O camarada muito doido o post, faltou aquele velho exemplo para os iniciantes.

Parabéns broder.

Flávio Menezes dos Reis disse...

Saudações Wall500. Certamente é de minha intenção dentro em breve propor um exemplo de trabalho para este framework. Estive afastado do desenvolvimento de software por estar focado em questões mais burocráticas em meu trabalho, mas acredito que logo estarei produzindo código.

Abraço