Posted by on October 29, 2009
At Rivet Logic we do quite a bit of work with the JBoss Seam framework, specifically with our Content Management System integration we call Crafter rivet.
Seam can be used with the Spring bean factory framework, a popular “IoC” or Inversion of Control / Dependency injection framework. Spring enables developers to create instances of java objects known as beans and then to wire them to other java objects. Most people working in J2EE today are familiar with this so I won’t spend any time going in to further detail here. Seam also supports the ability to use java annotations to declare a class as a bean and to specify how it should be wired through what they call out-jection and injection. Check out the Seam website for more details on how the Seam bi-jection mechanics work.
One question that has come up for me many times on consulting engagements is: “which approach to use, Spring or Seam bi-jection?” My experience shows me that the answer is not one or the other. Both approaches have significant benefits and can be used together to create a stronger approach than either one can provide on its own.
Here are some very simple guidelines
When to use Spring beans:
Infrastructure components and services are great candidates for Spring beans
- Such services are generally singletons within the system. Spring has excellent support for managing and wiring these objects
- Such service classes are often packaged in separate more commonly used libraries. Hard coding a bean name and wiring within the class definition or strongly coupling to Seam is less desireable.
- You want a very simple way to override the implementation at deployment time. Consider a scenario where you want to override a DAO. By managing the bean in Spring it is extremely easy to override the bean definition to use an alternate class and configuration in a given environment simply by placing an additional xml file in the classpath
When to use Seam annotations:
Domain specific components are good candidates for bi-jection.
- They are often fine grained application specific components.
- Explicitly stating how the component will be wired in the the class file has little impact on its re-usability because its scope is limited to the application at hand.
- Such components really benefit from one of Seams strongest features in its bean framework: Conversation Scoping. This is the ability to define a life-cycle which is shorter than a session. By limiting the lifetime of a object to its true life-cycle it’s possible to free memory up for other needs within the system. On large, high troughput applications the benefits here cannot be overstated.
By using a combined approach you get the reusability and flexibility of Spring framework with the performance orientation of conversation scoping and ease of development associated with Seam annotations.
Posted by on September 08, 2009
Last week was Red Hat Summit and JBoss World. We participated as a sponsor of JBoss World and also gave a few presentations during the breakout sessions. Below are some highlights from our trip:
JBoss World at the downtown Chicago Hilton:
Our booth at the partner pavilion:
Museum of Science & Industry party:
Although we didn’t walk away with the overall JBoss Innovator of the Year Award, we still have our category award for Optimized Systems to display in our trophy case….
Until next year!!
Posted by on August 19, 2009
Last year, Rivet Logic won the 2008 JBoss Innovator of the Year Award with our Kaplan implementation utilizing Alfresco and JBoss. Can we do it again this year?
JBoss notified us earlier this month of the terrific news that we had been selected as the category winner for the 2009 JBoss Innovation Awards for Optimized Systems for an Alfresco/JBoss implementation we performed for Harvard Business Publishing. But can we repeat what we did last year and take the overall Innovator of the Year Award again? The judge of that will be left up to the voters, so place your vote for Rivet Logic!!
The winner for the 2009 Innovator of the Year Award will be announced at this year’s JBoss World held in Chicago from September 1 – 4. We will be participating, so if you find yourself there, drop by and say hi!!
Posted by on June 10, 2009
Today eXo Platform, a leading European open source company, announced the merger of its eXo Portal project with JBoss Portal to create an open source portal platform.
The goal of the new project is to forge a strong portal solution by bringing together the technical strengths of the two projects through the open source community.
According to eXo Platform CEO, Benjamin Mestrallet, “What has always been a challenge for any portal community or vendor is providing the right balance of robust infrastructure and engaging usability features. This collaborative project will strive to strike that balance and will work to create an enterprise-grade, open source alternative to expensive, bloated closed source portals.”
“The eXo portal has some impressive functionality in terms of ease of use, UI flexibility and straightforward management administration; JBoss.org’s current portal project has a robust engine, performance and security features, combined this collaboration project will help drive portal capabilities forward,” said Dr. Mark Little, Sr. Director of Engineering, Middleware at Red Hat.
What does this new portal product mean for other open source portal platforms like Liferay and Plone? Should they be worried? They may want to keep an eye out as eXo is contributing a new project to the JBoss community, eXo JCR, which is a “robust cluster-ready Java Content Repository that is standards based and a key component for the project”. Could this be seen a threat to other portal platforms which lacks the robust content management features that eXo JCR will bring?
It would be interesting to see how the new JBoss eXo portal platform fares with enterprises in their choice of portal and collaboration software.
Posted by on March 16, 2009
Last week, Red Hat launched their third annual Innovation Awards, which will be presented at the 2009 Red Hat Summit and JBoss World held in Chicago later this year in September.
“The Innovation Awards were created to honor individuals and companies who have forged new ground to demonstrate innovative solutions through the use of Red Hat and JBoss products and technologies.”
There are a total of six categories, including Management Excellence, Optimized Solutions, Superior Alternatives, Extensive Ecosystem, Carved out Costs, and Outstanding Open Source Architecture.
“Five categories will each recognize two winning submissions, one from Red Hat and one from JBoss, and the Outstanding Open Source Architecture category will recognize one winner who is deploying both Red Hat and JBoss solutions. From these category winners, a Red Hat Innovator of the Year and a JBoss Innovator of the Year will be selected by the community through online voting and announced at the awards ceremony.”
Last year, Rivet Logic was honored with the JBoss Innovator of the Year Award for our Kaplan Test Prep and Admissions implementation, www.kaptest.com.
We look forward to participating in the Innovation Awards again this year!
Posted by on February 13, 2009
JBoss just announced the JBoss Migration Assistance program, of which we’re a founding partner. The primary goal of the project is to provide a collection of open source tools and resources that will enable enterprises to more easily migrate from closed source, proprietary application servers to open source JBoss platforms. We’re happy to bring our experience with application and portal migration to this new JBoss.org project.
As Matt Asay points out, this is a community effort that will combine Red Hat’s efforts with that of its most experienced JBoss system integrators, as no one tool or process can cover the gamut of app server/portal/content migration. This type of communtiy effort represents the essence of collaborative open source development.