Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
Slideshow Transcript
- Slide 1: Seam framework An application framework for Enterprise Java Alejandro Montenegro, JBoss Solution Architect Red Hat Latinoamérica Junio 2008
- Slide 2: Agenda – What is Seam – Actual Problems – Core Concepts of Seam – Small Demo :) – Features & Benefits – Not so small Demo :D – JBoss Developer Studio
- Slide 3: JBoss Seam Framework ● JBoss Seam (Seam)... ● Seam is a powerful open source development platform for building rich Internet applications ● Seam is a standards-based framework that has been submitted for the JSR-299 (Web Beans) Specification. ● Seam is NOT “simply another” integration framework. ● Seam is NOT JBoss answer to Spring Framework.
- Slide 4: Actual problems • adapt architecture/layers to the framework you are using • Java EE 5 specification provides no standard way to integrate JSF & EJB3 • No support for concurrent asynchronous requests • J2EE applications implement state management manually – Back & refresh buttons? double submits • multi tab browsing • XML configuration • Integration testing has traditionally been a messy and difficult task
- Slide 5: Actual problems There's more to a web application than serving HTML pages
- Slide 6: Core Concepts (Context) • Additional contexts for better web applications – Event – Page – Conversation – Session – Business Process – Application
- Slide 7: Core Concepts (Components) • One kind of stuff – Stateful pojos – Uniform component model for all business logic in your application. – Components are associated with one of several well defined contexts – No distinction between presentation tier components and business logic components – components may simultaneously access state associated with the web request and state held in transactional resources – You get to architect your own application and define layers and how they work together
- Slide 8: Features & Benefits • Integrate JSF with EJB 3.0 – JSF & EJB3 great component models – Eliminates glue code – Encourages you to use session beans as JSF action listeners
- Slide 9: Features & Benefits • Declarative state management – Seam takes the concept of declarative state management much further and applies it to application state – Seam extends the context model defined by the servlet spec — request, session, application— with two new contexts —conversation and business process
- Slide 10: Features & Benefits • Workspace management & multi-window browsing – Seam applications let the user freely switch between multiple browser tabs – also multi-window-like operation in a single window – Small demo!
- Slide 11: Features & Benefits • Integrated Ajax – Support for open source JSF-based AJAX solutions JBoss RichFaces ICEfaces – Add AJAX to the user interface without Javascript code – Built-in remoting layer for asynchronous component calls from client- side Java Script – Remoting layer without a need for an immediate action layer
- Slide 12: Features & Benefits • Powerful navigation – leverages JSF navigation rules – easy integration of security <page view-id=\"/reports.xhtml\"> <restrict>#{s:hasRole('admin')}</restrict> </page> – integration of event system <pages> <page view-id=\"/hello.jsp\" action=\"#{helloWorld.sayHello}\"/> </pages>
- Slide 13: Features & Benefits • Business process as a first class construct – Simple integration of business process definitions – Transparent business process management via Java Business Process Management (jBPM) – Presentation tier pageflow is defined via jBPM Process Definition Language (jPDL)
- Slide 14: Features & Benefits • Bijection – The notion of (IoC) or Depencency Injection(DI), where one object uses a second object to provide a particular – capacity, is supported in Seam Bijection differs from IoC in that its dynamic, contextual, and bidirectional – Bijection behaves as a mechanism for aliasing contextual variables to attributes of the component – Bijection allows auto-assembly of stateful components by the container – and allows components to manipulate the value of a context variable.
- Slide 15: Features & Benefits • Annotations over XML – JEE/EJB 3.0 annotations are embraced and extended Seam- annotations for declarative state management & context demarcation – Verbose JSF managed bean declarations are eliminated – Only the very essential as XML information
- Slide 16: Features & Benefits • Integration testing is easy – As POJOs, Seam classes are easily testable – thus exercising all parts of the system, apart from the view, is supported – TestNG or JUnit tests that reproduce whole users interactions are easily written – Tests can be run inside the IDE – Seam will automatically deploy EJB components via JBoss Embedded
- Slide 17: Get started now! • Works in any Java EE application server • Seam, JSF and EJB3 is the simplest way to write a complex web application

