JavaBeat FAQs
JAVABEAT
Home
Articles
Tips
QnA
Forums
FAQs Topics Books Topic
Java Java Books
Struts Struts Books
Spring Spring Books
Hibernate Hibernate Books
JBoss Seam Seam Books
J2EE J2EE Books
EJB EJB Books
JSF JSF Books
Servlets Servlets Books
JDBC JDBC Books
RMI RMI Books
JMS JMS Books
JNI JNI Books
Design Patterns Patterns Books
Exception Exception Books
Apache Ant Ant Books
Groovy
Cobertura
Quartz

Jboss Seam Interview Questions

Seam FAQs - 1 | Seam FAQs - 2

Q: What's so special about Seam's "state management"?


A: Most other web frameworks store all application state in the HTTP session, which is inflexible, difficult to manage and a major source of memory leak. Seam can manage business and persistence components in several stateful scopes: components that only need to live across several pages are placed in the conversation scope; components that need to live with the current user session are placed in the session scope; components that require interactions from multiple users and last extended period of time (i.e., survive server reboots) are placed in the business process scope. The advanced state management facilities allow us to develop web application features that are previously not possible, or very difficult, to implement.


Q: Does Seam support multiple browser windows or tabs?


A: Yes. Seam supports fine-grained user state management beyond the simple HTTP session. It isolates and manages user state associated with individual browser window or tab (in contrast, HTTP session is shared across all windows of the same browser). So, in a Seam application, each browser window / tab can become a separate workspace that has independent history and context. Multiple user "conversations" can be supported for the same browser. This behavior is similar to that in rich client applications. To see this feature in action, just run the booking example application and try to book several hotels via several browser tabs in parallel -- you can see that each tabs retains its own progress in the booking conversation.


Q: Can Seam handle back-button navigation?


A: Seam's nested conversation model makes it really easy to build complex, stateful applications that tolerate use of the back button.


Q: Does Seam support REST style bookmarkable URLs?


A: Yes, it is very easy to expose REST style bookmarkable URLs in a Seam application. In addition, the Seam application can initialize all the necessary backend business logic and persistence components when the user loads that URL. This way, the RESTful URL is not only an information endpoint but also an application interaction start point.


Q: I heard Seam conversations are propagated through JSF POST request. Can I do redirect-after-post or even GET in the same conversation?


A: Yes, on both accounts! To use redirect-after-post, you just need to enable the SeamRedirectFilter in web.xml. To propagate a conversation through a GET request, pass the conversation id in a request parameter named conversationId. By default, GET (non-faces) requests always occur in a new conversation.


Q: Can I use Seam in a portal?


A: Seam 1.0 features full integration with JSR-168 compliant portals such as JBoss Portal.


Q: Does Seam have something like the Ruby on Rails "flash" object?


A: No, Seam has something much more powerful: a conversation context. The Seam conversation context is propagated across redirects (even when no long-running conversation is in progress), so you can use the conversation context to store success messages and the like.


Q: Does Seam have continuations?


A: A jBPM "wait state" is a continuation. Each node in a pageflow definition or node in a business process definition is a jBPM wait state. Speaking more approximately, you might like to think of the conversation state as a continuation. (We do not usually talk in this kind of language because it is too mysterious-sounding and obfuscates simple concepts to make them seem more impressive.)


Q: Does Seam support internationalization?


A: Seam includes several extensions to JSF that make it super-easy and super-elegant to create internationalized user interfaces.

Q: Are there any development tools that support Seam?


A: Seam 1.1 includes a Ruby on Rails style command line tool that makes it easy to set up a new Seam project, create some simple actions, and even reverse engineer a data driven application from an existing database.

IDE integration is also a major focus for us. JBoss Eclipse IDE provides a sophisticated, template-driven database reverse engineering tool which can generate an entire Seam application in minutes and a graphical jPDL editor for editing Seam pageflows and workflow definitions. More to come, stay tuned.

Bookmark This Page : | | | | | | | | | | |
Related Articles
Liferay Portal Enterprise Intranets
ZK Developer’s Guide : Online Media Library
The BIRT Environment and Your First Report
AJAX - The Complete Reference
The Java 6.0 Compiler API
Spring Web Flow - Introduction
Introduction to Spring Web Framework
Integrating Struts With Spring
What's new in Struts 2.0? - Struts 2.0 Framework
Introductiion to Jakarta Struts
more articles
java6 ejb3 jsf hibernate eclipse ajax groovy spring seam java struts webservice j2me guice java5 jca tapestry soa linux ria

Sponsors
Webmaster Hosting Forum
Java Jobs
Latest in DLinks
http://javawave.blogspot.com/2008/04/quartz-job-scheduler-part-ii-example.html
Quartz Job Scheduler -- Part 1 (Setting up development project in Netbeans 6.1 beta)
Flex Messaging with BEA Workshop Studio
SOA and Virtualization: How do They Fit Together?
Introduction to Enterprise Portals - Why they Benefit IT and the Business
BEA WebLogic Operations Control: Application Virtualization for Enterprise Java
Best Practices for Building Production Quality EAR Files
BEA's SOA Reference Architecture - A Foundation for Business Agility
Blueprint for Successful SOA Integration
Guardian - What a tool!

JavaBeat Media (2004-2008), India
javabeat home | About Us
our network : opensource softwares
Copyright © 2007 JavaBeat