Tuesday, November 21, 2006

Introduction to JBoss SEAM - Brian Leonard, Sun Microsystems

Brian is a Java Evangelist; see his Blog, see Joplin. He gave a demonstration about how JBoss SEAM could be integrated into a Java Server Faces (JSF) and EJB3 application.

Interestingly he gave a quick comparison between J2EE 4 and 5 before getting into the detail. Key statistical comparions for his demonstration application:

Java EE 4 Java EE 5
Java Files 17 7
Lines of Code 987 716
XML Files 9 1

He moved swiftly on before I could write the rest down unfortunately. Anyway it gives you a taste for the difference if you had ever been in doubt.

SEAM is being proposed as the reference for JSR 299: Web Beans, which is looking to unify JSF and EJB.

I could poke fun at the guy for writing all the code he did only to have problems launching the server because port 8080 was in use, followed by his random guess as to which java process to shut down (I wish Sun would sort that out), the fact is though he knew his stuff and had given me the most entertaining and comprehensible session of the day so far.

One point that was raised was that the use of SEAM implied tighter coupling of the code, and there appeared to be pollution of the code with responsibility for validation placed in the persistence layer. I would say that this was demonstration code so it should not be taken seriously. The JBoss team are extremely excited about SEAM and it may be worth investigating this further when more time is available. It's not clear to me from what I have seen whether it implies a move away from the current industry approach on internal application design.

The main point of the session was to show how easy it was to take a JSF + EJB application and bind it with SEAM rather than a ManagedBean. This the presenter achieved admirably, having to only really make configuration changes to achieve this. He pointed this out explicitly in his closing remarks, suggesting that tool support for SEAM would be simple enough to introduce given this fact. It should be interesting to see where JSR 299 goes from here, and indeed how JBoss develop SEAM to better integrate it with tools like Eclipse.

No comments: