DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo Java Magazine 58 - JBoss Seam

Artigo publicado pela Java Magazine edição 58.

Esse artigo faz parte da revista Java Magazine edição 58. Clique aqui para ler todos os artigos desta edição

JBoss Seam

Simplicidade e produtividade no desenvolvimento de aplicações Web

Aprenda a desenvolver aplicações Web utilizando a integração perfeita entre JSF e EJB 3

Fábio Augusto Falavinha

O JBoss Seam é um framework para desenvolvimento de aplicações Java EE que integra, facilmente, tecnologias como Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence API (JPA), Enterprise Java Beans (EJB 3.0) e Business Process Management (BPM).

O Seam foi desenvolvido para eliminar a complexidade em níveis de arquitetura e API. Oferece aos desenvolvedores total controle sobre a implementação da lógica de negócio sem se preocupar com a exposição das informações e/ou configuração excessiva de arquivos XML, dispondo de anotações para classes Java e componentes bem definidos para a camada de apresentação.

Gavin King, líder do projeto Seam e líder da especificação da JSR 299: Web Beans escreveu a proposta que visa padronizar e simplificar a forma de desenvolvimento sugerida pelo Seam, conforme citado no parágrafo anterior, promovendo assim, uma API para criação de aplicações web de fácil manutenção e ótima produtividade.

Iniciando no JBoss Seam

A principal funcionalidade do framework JBoss Seam é integrar JSF e EJB3 (veja a Figura 1). O Seam permite esta integração através de componentes gerenciados (managed components), sem exceder em lookups na árvore JNDI (acesso a recursos do servidor de aplicação, components EJBs, etc), declaração maçante de componentes JSF (backing beans) via arquivo faces-config.xml ou controlar a passagem de objetos entre as camadas de apresentação e negócio (utilização em excesso do pattern Value Object).

 


  Figura 1. Integração do framework JBoss Seam em uma arquitetura Java EE

 

Desenvolver uma aplicação utilizando Seam é uma tarefa simples, mas deve seguir os seguintes conceitos:

l        Data Model: Entidades (Entity) devem representar os objetos de negócio a serem persistidos e utilizados nas regras de negócio. Pode-se utilizar entidades gerenciadas via JPA ou POJOs (Plain Old Java Objects) mapeados via Hibernate;

l        User Interface (UI): As páginas JSF exibem a interface gráfica, capturando os dados enviados via formulário e mostrando os resultados. Os campos, na interface gráfica, são mapeados aos objetos de negócio, acessado via JSF EL (Expression Language);

l        Handle Web Events: A camada de negócio pode ser implementada utilizando EJB 3 session beans ou apenas classes Java anotadas. Esta camada atuará como controller para os eventos disparados pelas páginas JSF.

Desenvolvendo uma Agenda de Contatos

Vamos implementar uma Agenda de Contatos utilizando o framework Seam, obtendo uma aplicação web que contém funcionalidades de inclusão, remoção, alteração e pesquisa dos dados, o famoso CRUD.

Antes de começar a trabalhar, vamos criar o ambiente de desenvolvimento. Neste exemplo vamos usar a IDE NetBeans 6 com a plataforma Java 5 e o servidor de aplicação Glassfish (integrado com o NetBeans). A forma mais fácil de obter e instalar todos esses itens é ir em http://download.netbeans.org/netbeans/6.0/final/ e baixar uma das distribuições que inclui o Glassfish.

Baixe também o framework JBoss Seam 2.0.0.GA (download em http://www.jboss.com/products/seam).

O download do código-fonte deste exemplo pode ser feito no site da revista.

Criando o Data Model

Vamos desenvolver o modelo de dados que será a base para as regras de negócio a serem implementadas. Para isso criaremos uma classe Contato contendo os seguintes atributos: Nome, Número do Celular, Telefone Comercial, Telefone Residencial, E-mail e observações (veja a Listagem 1).

 

Listagem 1. Implementação da classe Contato.java e Telefone.java, utilizando anotações Seam e EJB 3 Entity Bean

package br.jm.seam.agendacontatos.entity;

 "



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    3 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Sandro Araújo Dantas
Olá pessoal... posso afirmar com certeza que o Jboss seam funciona muito bem com grandes acessos simultâneos. Participei do desenvolvimento das inscrições do ENEM 2009 e foram 4 milhões e meio de inscritos e não tivemos nenhuma correção de erro no software. Vale a pena investir no seam...
[há +1 ano] - Responder

 

Infoway Tecnologia E Gestão Em Saúde Ltda
Olá, parabéns pelo artigo. Mas ele não me ajudou muito, pois meu principal impedimento com o jboss seam é a configuração do projeto: eu preciso saber como organizar um projeto, seja no eclipse ou no net beans, onde colocar cada arquivo de forma que eu possa exportar tudo em um arquivo .ear e fazer deploy em um servidor de aplicações. Não tenho experiência com jee e quando crio os projetos no eclipse ou no net beans e vejo aquele monte de pastas fico totalmente perdido. Só queria saber onde colocar os arquivos de forma que eu possa fazer um buid, exportar o ear e pronto! Simples assim.
[há +1 ano] - Responder

 

Cassio Cunha Noronha
Amigo, dê uma olhada neste tutorial(em ingles) que deve te ajudar...


http://czetsuya-tech.blogspot.com/2011/01/create-new-seam-web-project-in-eclipse.html


[há +1 ano] - Responder
 



Publicidade
Autor
Fábio Augusto Falavinha

Fábio Augusto Falavinha é Arquiteto de Software/Desenvolvedor pela ZBRA Solutions, atuando há mais de 10 anos com Java/Java EE. Bacharel em Ciência da Computação pela Faculdade Sumaré e pós-graduado em Gestão de Qualidade de Software pela faculdade Senac. Torcedor fanático do Corintinhas.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
1   1
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03