Day two is over, as I sit here on the morning of the third, despite my best intentions. It was a long day for me, but a good one, overall.
Despite my two talks scheduled for that afternoon, I took the time to attend one of the JSFOne sessions presented by Ted Goddard of ICEsoft on "Ajax Push/ICEFaces." Ajax Push is the term ICEsoft prefers for what others call Comet (Ajax…Comet… get it? : ) or Reverse Ajax. It’s a technology that has interested me for quite a while, so I figured this was a good chance to learn from an expert, and I was completely blown away with how easy it is with ICEfaces. I was expecting to have to add a lot of mark up to the template to use Ajax Push, and maybe a lot of plumbing on the server as well, but I was wrong. The template remains completely unchanged — it has no idea that Ajax Push is being used. In fact, Ted suggested that we write our app as Web 1.0 app, and THEN add the push features. It sounded crazy until I saw the changes on the server side: two lines of code. I don’t have the code handy, but you basically subscribe a session to a group (I believe that’s the term they use) with one line of code, and then, anywhere you want to notify interested clients of an update, you use another line of code. That’s it. It’s basically a very simple subscribe/notify mechanism. Very impressive. The Infragistics guys are here as well. Someday, I’ll have to play with both of those frameworks and see if I can cook up a compare and contrast of some of the major frameworks. We’ll see if that ever happens ; ).
After lunch, I gave my first presentation of the day, "JSF 2-Style Component Development in a 1.2 World." This is the talk I gave at the Oklahoma City JUG, and it went much better the second time around. The attendance was pretty good, with lots of good discussion. I changed the presentation a bit, based on the feedback from the first go 'round, and spent more time in the code than on the slides, using a print out of the slides as my outline. I think it flowed better and seemed to be well appreciated by the audience.
After that, I attended Kito Mann’s presentation on Shale Test, a JSF testing framework from the Apache Shale group. Having attended Stan’s BOF on JSFUnit the night before, I wanted to see what Shale Test offered. Kito seems to like it a lot, so there must be something there. Overall, it seems like a pretty nice tool. While it does seem to support in-container testing, all we looked at was out-of-container, JUnit-style tests, which I tend to lean toward. Stan made a good point in his BOF, though, that out-of-container testing isn’t often as complete as in-container, as any Servlet Filters, etc. that the app may have aren’t every applied. Of course, that approach to testing, as Stan quickly notes, blurs the line between unit and integration testing. That debate aside, both Shale Test and JSFUnit offer very functional ways to test JSF apps, though, to be honest, I’m inclined toward JSFUnit, for what that’s worth.
In the last slot of the day was my presentation on JSFTemplating, which was also well attended and received. From a presentation perspective, I felt it flowed pretty well (especially since that was the first time I’ve given that talk) with no major hiccups (or minor, from what I can remember : ). The audience seemed really engaged, asking a lot of good questions. I was initially afraid it wouldn’t fill the whole time slot, but we actually went the full 90 minutes.
With all of my presentations done, I headed to dinner, where I got to have a fun chat with a native Virginian, a Bostonian, and a German. All nice, sharp guys, which made for good conversation. After dinner was the JSFOne/Rich Web Experience 2008 Party. I don’t drink, so that part didn’t appeal to me much, but I made the mistake of heading back to my room to drop off my backpack, at which point I got comfortable and wasn’t able to force myself to get back out. :) I spent the rest of the evening, then, watching the hotel’s TV system trip and fall and finally basically quit working altogether. With no wifi in the hotel room, that made for an interesting evening.
Day 3 will be a short one, and I will be heading to the airport before things are done, so I won’t have much to say. In fact, I’m typing this as sessions are going on, so I won’t have much to report. This, then, will likely be my last post from/about the conference. One quick note about Day 3, though. I got to meet David Chandler, a fellow JSF enthusiast and JSFOne speaker, and a fellow Believer, and we had a very good discussion over breakfast, which was an unexpected, but very welcome surprise. He has a neat project going on, which I may discuss in a more appropriate forum at some point (if you’re interested in what that is or where that might be discussed, feel free to email me : ).