Chariot Training Classes

Training Courses

I run Chariot's training and mentoring services. We provide training in AngularJS, HTML5, Spring, Hibernate, Maven, Scala, and more.

Chariot Education Services


Chariot Emerging Tech

Learn about upcoming technologies and trends from my colleagues at Chariot Solutions.


Chariot Conferences


Entries in seam (3)


Interview with Dan Allen on Seam, Part 1 available on the TechCast

I just published an interview with Dan Allen on the Seam Framework on our Chariot Tech Cast.  Give it a listen if you're curious how Seam differs from other application frameworks.  If you're developing on Java EE 6, you should consider Seam alongside of other platforms such as Spring and Grails, due to the way it helps provide the glue to make developers more productive in various APIs.

One thing interesting that Dan said is that the approaches of Seam and Spring differ in one major way.  Seam essentially provides access to the APIs of interest, while putting together the plumbing to make it easy to use them the way they were intented.  Spring, on the other hand, simplifies access to most other APIs by wrapping them.  I thought this was a great way of contrasting the approaches.

Listen to Episode #23 here.  You can subscribe to the TechCast on iTunes or via the RSS Feed.

Chariot TechCast


Interesting Post: Java EE 6 Overview on TSS

I've been so engrossed in Spring and Grails that I have ignored Java EE and the movement to enhance and simplify it. Reza Rahman posted a great article on TheServerSide.COM on the coming changes to Java EE for version 6.  JSR-316 (the Java EE 6 Specificaion JSR) defines the changes being made. Apparently there will be some 'pruned' libraries, such as JAX-RPC, EJB CMP, and some deployment and management JSRs.

Also new in the platform will be profiles. The first non-full profile deployed will be the 'Web profile', which sacrifices JMS and a few other APIs so that an enterprise app will run within a web container (including a "Lite" version of EJB, but not including JMS).  

On first glance, the pending WebBeans 1.0 specification looks like a standardized web component framework, similar to the Seam Framework, and allows EJBs and associated JPA entities to exist and easily wire directly into the EL notation on the JSF page.  Reza claims that WebBeans is inspired by Seam and some DI frameworks (Google and Spring) but that it is not a mirror of them.  Should be interesting times once this is delivered for the Seam framework.

There is a call for participation at the bottom of the article, as well as a ton of well-placed links to more information in the JSR and other places.

Read the Java EE 6 Overview article at TSS


Emerging Tech Conference Day 1 Recap

What an entertaining day! Lots of fun sessions to attend, and attendance hit the 400 person cap, a record for ETE. I attended talks on Flex, OSGi, Hadoop, Seam, and gave a talk on Grails. At the end of the day everyone went to the World Cafe for drinks, and the guitar player actually whipped out Paranoid Android from O.K. Computer--what a riot.

Of the talks, the one that blew my mind a bit was Hadoop. Although I'm not 100% sure I get it yet, it looks like those LISP / AI Comp Sci geeks ended up working at Google, and Yahoo... Time for me to dust off that old engineering hat and start learning a completely different way of programming. For those of you not in the know (believe me, it includes myself), Hadoop is a massively parallel architecture for running queries against data. Think "how does Google manage search indexing and processing" and you get the idea that no software built by standard humans could keep up. It turns out Google runs that web index in MEMORY across many nodes. Wow.

My interest in Grails is still ongoing, and I have to say that you can only talk about so much in one hour. I'm wondering what other presenters end up doing for a one hour intro (and someone from G2One is doing another Grails talk tomorrow at ETE). Mine was mostly setting the stage (Groovy and what it offers, Grails as a platform) then I dove into a 25 minute demo. I ended up covering domains, (a simple domain, scaffold the UI, one to many) and showed them how to switch databases. But I pretty much ran out of time to do anything else. Hopefully in the future I can prepare a more advanced dive.

I liked what I saw from Seam, and have it in my Mac downloads folder to screw around with. I'm not sure I want to use JSF on the front end, although the speaker explained that Seam manages JSF a bit for you and simplifies it. What I don't get yet is the fact that you're constantly re-deploying an exploded WAR or EAR, and I'm wondering how that works in practice. (Then again, Grails re-deploys too, but it's a simple WAR without any EJBs, etc..) More on Seam in a later post.

Finally, I got to see the hubub on OSGi from two speakers--our own Dmitry Sklyut and Michael Redlich from ExxonMobil. Dmitry's was on Spring OSGi, and how you can essentially create a module per ApplicationContext. In the end, it's about injection in Spring, so essentially you can either publish a bean or reference it using Spring DI. Pretty cool. Michael's talk was more general (here is how OSGi works) with some great sample code. He was using Equinox as the container in the demo. I did like the comment made by Dmitry toward the end--he felt that OSGi in general is at least 5 months too early for general use. But he also said (and I COMPLETELY AGREE) that he's been waiting too long for application software that can be treated like pluggable Legos. Maybe OSGi is the answer, but I'm thinking it will take Spring to sort that one out.

I ran the MP3 audio recording of three sets of sessions (lightweight, agile and ruby) so between pulling off audio and making sure things got recorded it was a lot of running around. Hats off to the Drexel student helpers as they remembered to stop/start the audio recording gear. By the way, I'm using the iKey Audio plus, a little hardware box that takes any of three input types (line in, mic in, phono in) and directly records it to an USB memory stick as either an MP3 (128 - 320 kbit) or a full-out wav file. Pretty nifty. As long as the quality holds up, we'll be publishing various sessions on my Chariot Tech Cast podcast.