Part 3. Seam’s state management
Part 1 presented the motivation for why Seam was created and demonstrated ways it simplifies development of web applications. You used seam-gen to quickly put together a Seam-based application and agile development environment. Part 2 got into the guts of Seam by teaching you to define and configure components and getting them to communicate. What sets Seam apart from other web-oriented frameworks is its focus on state management. This term may not mean much to you right now, but trust that it plays a key role in what you’ll learn to master in the next three chapters: conversations, page flows, the extended persistence context, application transactions, and entity home components.
Chapter 7 introduces conversations as a way to effectively string together requests. You define conversation boundaries using a familiar declarative approach. You also learn to orchestrate a conversation with a page flow and to let the user multitask using workspaces.
Chapter 8 puts conversations aside initially to cover Java persistence, the ORM mechanism that translates Java objects to and from database records. The end of the chapter sees a return to state management when the extended persistence context in EJB 3 is introduced. This construct ensures persistent objects remain managed so that updates to the database require no programming, related objects can be fetched on demand, and database reads are kept to a minimum.