Você está na página 1de 18

JBoss Seam

Sistemas de Informao - 2012

O que Jboss Seam? Jboss seam um framework Java de cdigo aberto e totalmente gratuito que promove uma arquitetura de integrao das tecnologias do Java Enterprise Edition(JEE).

Ele no foca em uma camada especfica, Seam integra todas as camadas.

Sistemas de Informao - 2012

Quem criou Jboss Seam? Criado por Gavin King (criador do Hibernate).

Sistemas de Informao - 2012

Caractersticas do

Jboss Seam

Oferecer aos implementao.

desenvolvedores

um

controle

da

No faz distino entre componentes da camada de apresentao e camada de negcios.

Voc cria sua arquitetura e define suas camadas.

Sistemas de Informao - 2012

Caractersticas do

Jboss Seam

Evita abuso de XML No Seam, muita coisa feita a partir de anotaes, evitando uso excessivo de XML. Projetado para Teste Testes integrados em aplicaes web Java tm sido difceis e confusas Seam prev testabilidade como um recurso interno do framework.

Sistemas de Informao - 2012

Arquitetura e Funcionamento Arquitetura:

Jboss Seam

Sistemas de Informao - 2012

Arquitetura e Funcionamento

Jboss Seam

O JBoss Seam foi projetado para aplicaes web, e trabalha basicamente com contextos e componentes. Tipos de componentes Seam:

JavaBeans EJB 3.0:


Stateless Session Beans Stateful Session Beans Entity Beans Message-Driven Beans

Sistemas de Informao - 2012

Arquitetura e Funcionamento

Jboss Seam

Para desenvolver uma aplicao devem-se seguir os conceitos:


Data Model: Entidades devem representar os objetos de negcio a serem persistidos e utilizados nas regras de negcio. User Interface (UI): As pginas JSF (Java Server Faces so um framework MVC de aplicaes Web) exibem a interface grfica, capturando os dados enviados via formulrio e mostrando os resultados. Handle Web Events: A camada de negcio pode ser implementada. Esta camada atuar como controller para os eventos disparados pelas pginas JSF.

Sistemas de Informao - 2012

Jboss Seam

Exemplo de cdigo:

<h:form> <h:inputText value="#{user.name} /> <h:inputText value="#{user.telefone}" /> </h:form>

Mapeando web

@Entity @Name(user) public class User { private String name; private String telefone;

Modelo de dados

Sistemas de Informao - 2012

Jboss Seam

Exemplo de cdigo:
@Stateless @Name("manager") public class ManagerAction implements Manager { @In @Out private Person person; @Out private List <Person> fans; @PersistenceContext private EntityManager em; public String sayHello () { em.persist (person); person = new Person (); fans = em.createQuery("select p from Person p") getResultList(); return null; }
Sistemas de Informao - 2012

Manipulao de eventos

Jboss Seam

Algumas Anotaes:
@Name Informa o nome do componente @Scope Informa o contexto do componente @ In Marca o atributo como injetvel @Out Marca o atributo como ejetvel @Logger Injetar instncia do componente Log
Sistemas de Informao - 2012

Jboss Seam

Seam servlet e listener Servlet que processa todas requisies Seam File: /WEB-INF/web.xml
<servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> < servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.seam</url-pattern> </servlet-mapping>

Sistemas de Informao - 2012

Jboss Seam

Listener, responsvel por startar o seam e destruir as sesses e contexto de aplicao


<listener> <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> </listener>

Sistemas de Informao - 2012

Jboss Seam

Benefcios
Precisamos de um framework que integre a vasta gama de tecnologias/frameworks da plataforma Java, em um modelo unificado de desenvolvimento, agregando questes como segurana, controle de acesso, gerao de PDFs, grficos, envio de emails, busca avanada de contedo, interface rica que se adapte a realidade atual da Web 2.0, com foco em produtividade, deixando o desenvolvedor se preocupar com o negcio e no com questes de arquitetura. O JBoss Seam esse framework.
Sistemas de Informao - 2012

Jboss Seam

Integrao com EJB (Enterprise JavaBeans)


Gerenciamento de workspace: Seam possibilita o uso de conversaes isoladas e seguras em diferentes abas do browser; Modelo de baixo acoplamento com uso de Injeo de Dependncia e Bijeo; Facilidade de efetuar testes automatizados;

Sistemas de Informao - 2012

Jboss Seam

Concluso
Hoje com a enorme variedade de frameworks para desenvolvimento web Java, o desenvolvedor se adqua aquele que mais favorvel ao seu servio, consegue fazer um trabalho mais consistente. O JBoss Seam veio como soluo de simplicidade e produtividade para desenvolvimento de aplicaes. Ele contribui efetivamente para ajudar nos desenvolvimento de aplicaes de grande porte, com o objetivo de poupar trabalho aos desenvolvedores e diminuir o tempo de desenvolvimento do projeto.
Sistemas de Informao - 2012

Referncias:
Pgina principal do JBoss Seam. - www.jboss.com/products/seam JBoss. Org http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/index.html Pgina sobre o framework JBoss Seam. - www.seamframework.org YUAN, M. J.; HEUTE, T. JBoss Seam Simplicity and Power Beyond Java EE, Primeira Edio, Upper Saddle River: Prentice Hall, 2007 Seam Tutorial / Dicas - http://translate.googleusercontent.com/translate_c?hl=ptBR&langpair=en|pt&rurl=translate.google.com.br&u=http://www.jroller.com/seam/&usg=AL kJrhjMDQJxBbS0Vm15MNXnMy40H7FkFw

Sistemas de Informao - 2012

End

Sistemas de Informao - 2012