JBoss Seam
Sistemas de Informação - 2012 ©
O que é Jboss Seam?
Jboss seam é um framework Java de código aberto e totalmente gratuito que promove uma arquitetura de integração das tecnologias do Java Enterprise Edition(JEE).
Ele não foca em uma camada específica, Seam integra todas as camadas.
Sistemas de Informação - 2012 ©
Quem criou Jboss Seam? Criado por Gavin King (criador do Hibernate).
Sistemas de Informação - 2012 ©
Características do
Oferecer aos implementação.
Jboss Seam
desenvolvedores
um
controle
da
Não faz distinção entre componentes da camada de apresentação e camada de negócios.
Você cria sua arquitetura e define suas camadas.
Sistemas de Informação - 2012 ©
Características do
Jboss Seam
Evita abuso de XML No Seam, muita coisa é feita a partir de anotações, evitando uso excessivo de XML. Projetado para Teste Testes integrados em aplicações web Java têm sido difíceis e confusas Seam prevê testabilidade como um recurso interno do framework.
Sistemas de Informação - 2012 ©
Arquitetura e Funcionamento Arquitetura:
Sistemas de Informação - 2012 ©
Jboss Seam
Arquitetura e Funcionamento
Jboss Seam
O JBoss Seam foi projetado para aplicações 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 Informação - 2012 ©
Arquitetura e Funcionamento
Jboss Seam
Para desenvolver uma aplicação devem-se seguir os conceitos: Data Model: Entidades devem representar os objetos de negócio a serem persistidos e utilizados nas regras de negócio. Interface (UI): As páginas JSF (Java Server Faces são um framework MVC de aplicações Web) exibem a interface gráfica, capturando os dados enviados via formulário e mostrando os resultados. Handle Web Events: A camada de negócio pode ser implementada. Esta camada atuará como controller para os eventos disparados pelas páginas JSF.
Sistemas de Informação - 2012 ©
Jboss Seam
Exemplo de código:
@Entity @Name(“”) public class { private String name; private String telefone;
Sistemas de Informação - 2012 ©
Mapeando web
Modelo de dados
Jboss Seam
Exemplo de código: @Stateless @Name("manager") public class ManagerAction implements Manager { @In @Out private Person person; @Out private List
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 Informação - 2012 ©
Manipulação de eventos
Jboss Seam
Algumas Anotações: @Name Informa o nome do componente @Scope Informa o contexto do componente @ In Marca o atributo como injetável @Out Marca o atributo como ejetável @Logger Injetar instância do componente Log Sistemas de Informação - 2012 ©
Jboss Seam
Seam servlet e listener • Servlet que processa todas requisições Seam File: /WEB-INF/web.xml <servlet> <servlet-name>Faces Servlet <servlet-class>javax.faces.webapp.Fervlet
1
< servlet-mapping> <servlet-name>Faces Servlet
*.seam
Sistemas de Informação - 2012 ©
Jboss Seam
• Listener, responsável por “startar” o seam e destruir as sessões e contexto de aplicação <listener> <listener-class>org.jboss.seam.servlet.SeamListener
Sistemas de Informação - 2012 ©
Jboss Seam
Benefícios Precisamos de um framework que integre a vasta gama de tecnologias/frameworks da plataforma Java, em um modelo unificado de desenvolvimento, agregando questões como segurança, controle de o, geração de PDFs, gráficos, envio de emails, busca avançada de conteúdo, interface rica que se adapte a realidade atual da Web 2.0, com foco em produtividade, deixando o desenvolvedor se preocupar com o negócio e não com questões de arquitetura. O JBoss Seam é esse framework. Sistemas de Informação - 2012 ©
Jboss Seam
Integração com EJB (Enterprise JavaBeans) Gerenciamento de workspace: Seam possibilita o uso de conversações isoladas e seguras em diferentes abas do browser; Modelo de baixo acoplamento com uso de Injeção de Dependência e Bijeção; Facilidade de efetuar testes automatizados;
Sistemas de Informação - 2012 ©
Jboss Seam
Conclusão Hoje com a enorme variedade de frameworks para desenvolvimento web Java, o desenvolvedor se adéqua aquele que é mais favorável ao seu serviço, consegue fazer um trabalho mais consistente. O JBoss Seam veio como solução de simplicidade e produtividade para desenvolvimento de aplicações. Ele contribui efetivamente para ajudar nos desenvolvimento de aplicações de grande porte, com o objetivo de poupar trabalho aos desenvolvedores e diminuir o tempo de desenvolvimento do projeto. Sistemas de Informação - 2012 ©
Referências: • • • • •
Página principal do JBoss Seam. - www.jboss.com/products/seam JBoss. Org https://idoc-pub.sitiosdesbloqueados.orgle.com.br&u=http://www.jroller.com/seam/&usg=AL kJrhjMDQJxBbS0Vm15MNXnMy40H7FkFw
Sistemas de Informação - 2012 ©
End
Sistemas de Informação - 2012 ©