17.6. Summary

In this chapter, we looked at JSF, EJB 3.0, and how a web application that utilizes these standards can be improved with the JBoss Seam framework. We discussed Seam's contexts and how components can be wired together in a contextual fashion. We talked about integration of Seam with Hibernate Validator, and you saw why a Seam-managed persistence context is the perfect solution for LazyInitializationExceptions.

If you found this excourse into the Seam world interesting, much more is waiting to be discovered:

  • The Seam component model also supports an event/listener concept, which allows components to call each other with a loosely coupled (wired through expressions) observer/observable pattern.

  • You can enable a stateful navigation flow for a conversation with a pageflow descriptor, replacing the stateless JSF navigation model. This solves any problems you may have with the user clicking the Back button in the browser during a conversation.

  • Seam has a sophisticated concurrency model for asynchronous processing on the server (integrated with JMS), as well as concurrency handling in conversations (Seam protects conversations from double-submits).

  • Seam allows you to tie conversations and business process management tasks together easily. It integrates the workflows and business process context of JBoss jBPM (http://www.jboss.com/products/jbpm).

  • Seam integrates JBoss Rules (http://www.jboss.com/products/rules). You can access policies in Seam components and Seam components from rules.

  • A JavaScript library is bundled with Seam. With this Remoting framework, you can call Seam components from client-side code easily. Seam can handle any Ajax requests to your server.

  • The Seam Application Framework provides out-of-the-box components that enable you to write an easily extendable CRUD database application in minutes.

  • Seam components are easily testable, with or without an (embeddable) container. Seam makes integration and functional testing extremely easy with the SeamTest superclass for TestNG; this class allows you to script interactions that simulate a web browser.

If you want to continue with Seam and explore other features that didn't make it into this list, continue with the tutorials in the Seam reference documentation.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.109.4