Of late came to know about Seam by sneak-peeking peer’s PC. I have been in love with Spring all these 2 months and closely making my progress over it. As i was a Spring supporter, i laughed at Seam as it is just a combination of JSF, Ajax, EJB3 and Hibernate and not making anything on its own foot. But later recognized was the “ease in the tasks we do” by using Seam. Seam, absolutely is a opening seamer, it makes your development fast, need not learn anything new, it builds on your JSF, EJB3, Ajax, and Hibernate skills, thanks for Gavin King, the Seam lead, who also spearheaded Hibernate.
The claims of its faster development comes by the tool called Seam Skeleton Generator which can form a foundation for your development in minutes. I was forced to some extent to know its capabilities before grasping the complete idea of its component technologies (JSF, EJB3, Ajax et al). Okay, i am not giving up myself here, as learning these things (JSF, EJB3, Ajax..) are happening in parallel, yet i wanted to know the big picture from 35,000 ft. Now i have got one good reason to learn EJB3
Yes, Seam supports Spring too.
Following are some of the capabilities i came to know about Seam at first sight. Remember, it is not a complete list, yet it gives you some excitement and direction which you wanted to go.
- Seam Identity Management – an API for managing a Seam application’s users and roles at runtime.
- Seam Security API includes Authentication, Identity Management, Authorization, Permission Management, CAPTCHA support (preventing DDOS attacks) and many
- Seam uses Hibernate Search where Apache Lucene is the underlying indexer and full text search engine
- JBoss Seam tools to create Java Project Skeletons
- Seam has a Cache Aware State manangement for caching
- Seam integrates with JBossWS to allow standard JEE web services to take full advantage of Seam’s contextual framework, including support for conversational web services
- JBoss Seam supports JSR-168 compliant portals such as JBoss Portal
- JBoss Tools (starting from 3.0 Alpha) support the JSR-168 Portlet Specification (Portlet 1.0), JSR-286 Portlet Specification (Portlet 2.0)
Each and every one listed above is a topic in itself. What i would wish to do is to try and archive a POC on every one listed above and many others. Truly, i can see many more things are coming on my way now and i need to improve my learning quotient much much more.
I downloaded JBoss Seam 2.1 from here. Before turning up the first few pages, i wanted to see something in action, and i got myself over here. I wanted to run the examples shipped with the framework and i only had Tomcat installed on my 256MB RAM machine.
I did as per the steps and the build went fine giving me a fine war file. At this time, i am not aware of what’s in the war file. When i started Tomcat6 for the first time after its installation, it blew up an error saying “Could not start as it is not a service”. I uninstalled it and tried with a new installation, this time i was greeted with this error shown below.
Error says that “It failed to install Tomcat 6 service, Check your settings and Permission”. I tried installing it again and again even after reboot but fell desperately to Google to get an answer and yes! i got it!. I got it here. I had to simply do the following, i did and i succeeded.
- Open a command prompt [In Windows]
- Type sc delete tomcat5 and enter
- Reboot and install Tomcat 6 again
Earlier, Apache Tomcat5 was present when i opened up the services by typing services.msc in Run window (Ctrl+R). Now i started tomcat, continued the steps given in Seam link and what a surprise, i got a sample application application up and running. The app is basically about Hotels booking and search. You can register, login and search a hotel and book a room at your convenience. There are several examples to feed your curiosity, like Drools (Rule engine from JBoss), Hibernate example and many others. I got to learn a lot from here and these blogs, not so great in its originality and content, is just a start of all.
Links for help
- http://www.seamframework.org/Documentation/GettingStartedWithSeam
- http://www.seamframework.org/Documentation/RunningSeamExamplesWithApacheTomcat
- http://www.seamframework.org/Home/WhySeam
- http://www.intelligentedu.com/blogs/post/best_new_training_sites/3676/15-best-jboss-seam-tutorials

