Seam - Contextual Components

A Framework for Java EE 5

1.0.0.GA


Table of Contents

Introduction to JBoss Seam
1. Seam Tutorial
1.1. Try the examples
1.1.1. Running the examples on JBoss AS
1.1.2. Running the examples on Tomcat
1.1.3. Running the example tests
1.2. Your first Seam application: the registration example
1.2.1. Understanding the code
1.2.1.1. The entity bean: User.java
1.2.1.2. The stateless session bean class: RegisterAction.java
1.2.1.3. The session bean local interface: Register.java
1.2.1.4. The Seam component deployment descriptor: components.xml
1.2.1.5. The web deployment description: web.xml
1.2.1.6. The JSF configration: faces-config.xml
1.2.1.7. The EJB deployment descriptor: ejb-jar.xml
1.2.1.8. The EJB persistence deployment descriptor: persistence.xml
1.2.1.9. The view: register.jsp and registered.jsp
1.2.1.10. The EAR deployment descriptor: application.xml
1.2.2. How it works
1.3. Clickable lists in Seam: the messages example
1.3.1. Understanding the code
1.3.1.1. The entity bean: Message.java
1.3.1.2. The stateful session bean: MessageManagerBean.java
1.3.1.3. The session bean local interface: MessageManager.java
1.3.1.4. The view: messages.jsp
1.3.2. How it works
1.4. Seam and jBPM: the todo list example
1.4.1. Understanding the code
1.4.2. How it works
1.5. Seam pageflow: the numberguess example
1.5.1. Understanding the code
1.5.2. How it works
1.6. A complete Seam application: the Hotel Booking example
1.6.1. Introduction
1.6.2. Overview of the booking example
1.6.3. Understanding Seam conversations
1.6.4. The Seam UI control library
1.6.5. The Seam Debug Page
1.7. A complete application featuring Seam and jBPM: the DVD Store example
1.8. A complete application featuring Seam workspace management: the Issue Tracker example
1.9. An example of Seam with Hibernate: the Hibernate Booking example
1.10. A RESTful Seam application: the Blog example
1.10.1. Using "pull"-style MVC
1.10.2. Bookmarkable search results page
1.10.3. Using "push"-style MVC in a RESTful application
2. The contextual component model
2.1. Seam contexts
2.1.1. Stateless context
2.1.2. Event context
2.1.3. Page context
2.1.4. Conversation context
2.1.5. Session context
2.1.6. Business process context
2.1.7. Application context
2.1.8. Context variables
2.1.9. Context search priority
2.2. Seam components
2.2.1. Stateless session beans
2.2.2. Stateful session beans
2.2.3. Entity beans
2.2.4. JavaBeans
2.2.5. Message-driven beans
2.2.6. Interception
2.2.7. Component names
2.2.8. Defining the component scope
2.2.9. Components with multiple roles
2.2.10. Built-in components
2.3. Configuring components
2.3.1. Configuring components via property settings
2.3.2. Configuring components via components.xml
2.4. Bijection
2.5. Logging
2.6. Seam interceptors
2.7. Seam events
2.7.1. Page actions
2.7.2. Component-driven events
3. Conversations and workspace management
3.1. Seam's conversation model
3.2. Nested conversations
3.3. Starting conversations with GET requests
3.4. Using <s:link>
3.5. Success messages
3.6. Workspace management
3.6.1. Workspace management and JSF navigation
3.6.2. Workspace management and jPDL pageflow
3.6.3. The conversation switcher
3.6.4. The conversation list
3.6.5. Breadcrumbs
3.7. Seam and AJAX
3.8. Seam and SOAP
4. Pageflows and business processes
4.1. Pageflow in Seam
4.1.1. The two navigation models
4.1.2. Seam and the back button
4.2. Using jPDL pageflows
4.2.1. Installing pageflows
4.2.2. Starting pageflows
4.2.3. Page nodes and transitions
4.2.4. Controlling the flow
4.2.5. Ending the flow
4.3. Business process management in Seam
4.4. Using jPDL business process definitions
4.4.1. Installing process definitions
4.4.2. Initializing actor ids
4.4.3. Initiating a business brocess
4.4.4. Task assignment
4.4.5. Task lists
4.4.6. Performing a task
5. Internationalization
5.1. Locales
5.2. Labels
5.3. Faces messages
6. Messaging in Seam
6.1. Configuration
6.2. Sending messages
6.3. Receiving messages using a message-driven bean
6.4. Receiving messages in the client
7. Remoting
7.1. Configuration
7.2. The "Seam" object
7.2.1. A Hello World example
7.2.2. Seam.Component
7.2.2.1. Seam.Component.newInstance()
7.2.2.2. Seam.Component.getInstance()
7.2.2.3. Seam.Component.getComponentName()
7.2.3. Seam.Remoting
7.2.3.1. Seam.Remoting.createType()
7.2.3.2. Seam.Remoting.getTypeName()
7.3. Client Interfaces
7.4. The Context
7.4.1. Setting and reading the Conversation ID
7.5. Batch Requests
7.6. Working with Data types
7.6.1. Primitives / Basic Types
7.6.1.1. String
7.6.1.2. Number
7.6.1.3. Boolean
7.6.2. JavaBeans
7.6.3. Dates and Times
7.6.4. Enums
7.6.5. Collections
7.6.5.1. Bags
7.6.5.2. Maps
7.7. Debugging
7.8. The Loading Message
7.8.1. Changing the message
7.8.2. Hiding the loading message
7.8.3. A Custom Loading Indicator
7.9. JMS Messaging
7.9.1. Configuration
7.9.2. Subscribing to a JMS Topic
7.9.3. Unsubscribing from a Topic
7.9.4. Tuning the Polling Process
8. Seam and JBoss Rules
8.1. Installing rules
8.2. Using rules from a Seam component
8.3. Using rules from a jBPM process definition
9. Configuring Seam
9.1. Basic Seam configuration
9.1.1. Integrating Seam with JSF and your servlet container
9.1.2. Integrating Seam with your EJB container
9.1.3. Enabling conversation propagation with redirects
9.2. Configuring Seam in Java EE 5
9.2.1. Packaging
9.3. Configuring Seam with the JBoss Embeddable EJB3 container
9.3.1. Installing the Embeddable EJB3 container
9.3.2. Configuring a datasource with the Embeddable EJB3 container
9.3.3. Packaging
9.4. Seam managed transactions
9.4.1. Enabling Seam-managed transactions
9.4.2. Using a Seam-managed persistence context
9.5. Configuring Seam with Hibernate in Java EE
9.5.1. Boostrapping Hibernate in Seam
9.5.2. Using a Seam-managed Hibernate Session
9.5.3. Packaging
9.6. Configuring Seam with Hibernate in Java SE
9.6.1. Using Hibernate and the JBoss Microcontainer
9.6.2. Packaging
9.7. Configuring jBPM in Seam
9.7.1. Packaging
9.8. Configuring Seam in a Portal
10. Seam annotations
10.1. Annotations for component definition
10.2. Annotations for bijection
10.3. Annotations for component lifecycle methods
10.4. Annotations for context demarcation
10.5. Annotations for transaction demarcation
10.6. Annotations for validation
10.7. Annotations for Seam Remoting
10.8. Annotations for Seam interceptors
10.9. Annotations for use with JSF dataTable
10.10. Meta-annotations for databinding
11. Built-in Seam components
11.1. Context injection components
11.2. Utility components
11.3. Components for internationalization
11.4. Components for controlling conversations
11.5. jBPM-related components
11.6. Security-related components
11.7. JMS-related components
11.8. Infrastructural components
11.9. Special components
12. Testing Seam applications
12.1. Unit testing Seam components
12.2. Integration testing Seam applications
13. Seam tools
13.1. jBPM designer and viewer
13.1.1. Business process designer
13.1.2. Pageflow viewer
13.2. CRUD-application generator
13.2.1. Creating a Hibernate configuration file
13.2.2. Creating a Hibernate Console configuration
13.2.3. Reverse engineering and code generation
13.2.3.1. Code Generation Launcher
13.2.3.2. Exporters
13.2.3.3. Generating and using the code