I'm the creator of Hibernate, a popular object/relational persistence solution for Java, and Seam, an application framework for enterprise Java. I'm also contributing to the Java Community Process standards as Red Hat representative for the EJB, JPA, JSF specifications and spec lead of the Web Beans specification. At Red Hat, I'm leading the effort to build a Unified development platform of programming model, frameworks and tooling.
|
Recent Entries |
|
18. Nov 2008
|
|||
|
17. Nov 2008
|
|||
|
12. Nov 2008
|
|||
|
10. Nov 2008
|
|||
|
09. Nov 2008
|
|||
|
03. Nov 2008
|
|||
|
21. Oct 2008
|
| Seam | (26) |
| Web Beans | (17) |
| Seam News | (7) |
| Web Beans Sneak Peek | (5) |
| EE6 Wishlist | (3) |
| Seam Wiki | (3) |
| Web Frameworks | (3) |
| JBoss Tools | (2) |
| Persistence | (1) |
| Photography | (1) |
| RichFaces | (1) |
|
Java Persistence with Hibernate
with Christian Bauer November 2006 Manning Publications 841 pages (English), PDF ebook |
|
Hibernate in Action
with Christian Bauer August 2004 Manning Publications 408 pages (English), PDF ebook |
I keep getting asked about the relationship between Seam and Web Beans. At a high level, the mission of the Seam project remains unchanged: to provide a fully integrated development platform for building rich Internet applications, based upon the Java EE environment. In Seam2, this platform consists of the following layers:
- the contextual lifecycle, configuration and dependency injection model that forms the essential
glue
that makes everything work together in a consistent way - a set of modules that integrate other technologies such as JSF, jBPM, Hibernate, Drools, Groovy, Wicket and GWT, or solve common concerns such as security, asynchronicity and rendering PDF, email, Excel, RSS
- tooling
The first layer is the part that is addressed by JSR-299. The spec defines a more elegant, more typesafe, more user-friendly, standard solution that is a huge improvement over Seam2 (and everything else out there). The value of this is more elegant, more typesafe, more loosely coupled application code. But for many people, the true value of Seam is that it provides a complete pre-built, pre-integrated stack of technologies, together with tool support. That's not the role of JSR-299.
So the goal of Seam3 is to take the second layer and port it to the Web Beans backbone. This will allow applications using the Web Beans programming model to take advantage of all the integrated technologies that make up Seam. A second immediate benefit is that Seam will integrate much more consistently and transparently with application servers that natively support Web Beans. Seam3 will probably be packaged in a more modular way than Seam2, allowing any Web Beans-based application to drop in
Seam security, jBPM integration, Drools integration, etc. And hopefully, Seam won't be the only project providing infrastructure based upon Web Beans.
Of course, we want to make it's easy for people with Seam2 applications to migrate to Web Beans. There's two possible approaches and I'm not sure exactly which path we will take. We could:
- reimplement the core of Seam as a layer over the Web Beans backbone, or
- simply allow Seam2 and Web Beans to run side-by-side, with advanced interoperability between Web Beans and Seam2 components.
The first option sounds like a lot more work, but I suspect it might be easier than you would think.
It's fun to see what people are using Seam for:
- http://www.cocompose.com/
- http://www.trendrr.com/
- http://www.javelincrm.com/
- http://www.bikelogger.de/
- http://www.easycity.com/
And many more here.
IntelliJ IDEA 8 has Seam support. Cool!
To celebrate the new release of JBoss Tools, I'm going to walk through some of the features of JBoss Tools that are interesting to Seam developers.
There are two perspectives that are of interest for people using Seam: the Seam perspective and the Hibernate perspective:
The Seam perspective features some very useful wizards in the New menu:
The first thing you'll want to do is create a Seam Web Project, by following the wizard:
Next, create a Seam Action:
All Seam components are easily accessible from the Seam Component View:
Even better, they're autocompleted whenever you start typing an EL expression:
Even property names are autocompleted (JBoss Tools is even smart enough to understand generic types!):
We can run our application from the Run menu, or from the Servers View. JBoss Tools automatically deploys changes incrementally, a /big/ improvement over the Ant-based solution used in seam-gen:
The most impressive feature of JBoss Tools is the visual page editor, which does a great job of previewing complex Facelets pages with RichFaces controls, standard JSF controls and even Facelets templating:
Of course, autocomplete and hyperlink/F3 navigation to Seam components and Seam component properties also works in the visual editor:
There is a visual editor for web.xml:
And one for components.xml:
Autocomplete and hyperlinking/F3 work here too:
If we use Seam Generate Entities, we can reverse engineer an application from a database schema, or from existing entities:
And, switching to the Hibernate Perspective, we can browse the entities via a treeview:
Or via a full visualization of the mapping:
| Showing 1 to 5 of 26 blog entries tagged 'Seam' |
|
|