JavaOne 2006, Friday
Come to JavaOne and stand in lines. The good people at Sun seemed to have taken full advantage of the programmer’s natural love of queueing and put huge freaking lines in front of every class. This is amusing, because the bigger classes hold upwards of 1,000 people. Those are some long freaking lines.
The way around this, I’ve found, is to just skip out on the line and wander in to the “overflow” room. They had them for every session with lines, and there was always easy and available seating. You could hear just as well, and honestly, given the stage presence of most technical presenters, you’re probably better off not seeing them in person.
By today I was pretty burnt. No way in hell was I going to sit through another EJB session. No sir, thank you kindly. I rather unfortunately missed my first session on account of schedule confusion — it started at noon while I thought it started at 1:00 — so I only had two talks on the day.
Supercharging SOA Registries with XML Persistence and Registries and yada yada yada
I was monstrously unexcited about going to this, but all the other talks were booked up or as boring. I briefly considered ditching it entirely, but when I got to the room, they were playing Rage Against the Machine on the loudspeakers — “Wake Up” off of their self-titled album — so I felt compelled to attend.
Big. Mistake.
First off: SOA. What a 2003 buzzword. Even better is that the sales droids insist on pronouncing it. “Sew-ah.” It made me want to punch them all right in the face. Perhaps I should have.
The talk was a pitch for some product with a name I don’t recall. What it does, and I couldn’t possibly make this up, is “Enable Business Agility.” What in the hell does that even mean? If you need meaningless buzzwords to describe your product, it’s junk. Period.
The talk was amazingly tragic. The two presenters were sales droids with a canned banter built in to their talk. “Great. Thanks, Ash. It sounds like SOA architectures really need….” Yeah. That’s some amazing shit right there. The very best part was that they didn’t really have their schtick down, so they were reading it off of note cards. It was like a freshman year forensics class on quaaludes.
What I learned is that I want nothing to do with “business agility.” I’m pretty sure that it’s the corporate equivalent of syphilis. The presenters certainly could have passed off as a couple of French Pox sufferers.
Something about Ajax because lord knows I can’t take any more EJB
OK, one more and then I get on a plane for Burbank and head home. I love San Francisco, and the conference has been generally informative, but I was pretty ready to see Stephanie and the kid and sleep in my own bed.
The talk was given by a couple of Sun grey beards who didn’t seem like they could possibly have been nicer. They had the cute old-man skepticism of new technologies, asking at one point “how many people want to sign up to maintain the Ajax applications being written today?” Only one person raised his hand, cleverly citing “job security.” Cute.
My one beef was that their thinking was orthogonal to that of many Ajax people. They were worrying about applications that need to have everything just so, managing cached objects in a controllable way, having all its interactions elaborately planned and in general be “enterprise” grade.
Most Ajax applications that I’ve seen shoot more for “good enough to use and get feedback on” rather than The Complete Enterprise Solution. So you’re going to rely on the perhaps-flaky browser cache. Oh well. It’ll work for most people. There’s some sort of bug? Oh, well, we’re super light-weight process- and tools-wise, so we’ll just patch it and move on. It’s getting things done Well Enough rather than spending the time and effort to build some pipe-dream perfect thing.
It’ll be interesting to see what the Java community does with tools like Ajax. No doubt they’ll build heavy components that require a cluster of Sun E420’s and $200,000 worth of portal server software to provide dynamic drop-down menus. Meanwhile, developers who aren’t held back by enterprise-think will actually be building useful applications.
Heading home
Wow, I sure have gotten snarky towards the Java world over the last few days. One too many hits off the EJB, I’d wager. Somehow, I don’t think that’s what Sun had in mind. Either way, it’s useful to know where the community is headed, given that I have to use their tools.
Amusing things that I learned more about and will probably check out:
- JAX
- JDK1.5’s Generics
- dojo
- Groovy
- Hibernate
Things that I’ll stay the hell away from as long as possible:
- EJB, 3.0 or otherwise
- Anything “SOA”
- NetBeans
Well, I’m glad at least the first group is heavier than the second. Good times.
May 22nd, 2006 at 1:35 pm
You know, I actually came away with a different opinion on EJB. I’ve always liked stateless session beans as the “entry point” or session facade if you will for my business logic.
Presentation and navigation stuff stays up in the web layer and anything business related happens in a session bean or below (DAO, etc). The reason I like them is that you get transactions for free and they are independent of the web layer. This is good for reuse.
With EJB3 they’ve basically peeled all the crap away that made EJB’s a pain to use. Now you just code a Java class and add maybe one or two annotations. For that small amount of work, you get container managed transactions, dependency injection, the ability to expose your bean as a web service (one more annotation), etc. They look pretty good to me. The only downside is (still) that the code must be run inside of a J2EE container. This can be a bit painful for testing but there’s Cactus to address that. If you don’t like this aspect, then maybe Spring is the way to go. I think the new EJB looks extremely good - better by leaps and bounds than previous versions.
As for annotations, just think of them simply as source code. Anything you would hardcode with source, annotations are appropriate for. Anything you would not hardcode, use a database instead - just like you always did.
Anyhow, I’ll just be glad to get on to Java 5. I would kill for auto-unboxing alone.
May 22nd, 2006 at 3:03 pm
I won’t argue that the patterns EJB supply could be useful. It’s just that the implementation seems so* heavy and *so aukward that I can’t see it providing anything worth the pain of using it. Now, had I actually used an EJB implementation prior to 3, perhaps I’d be singing a different tune. Who knows?
May 25th, 2006 at 2:39 pm
EJB is really only useful in the Complete Enterprise Solution type of app. Or stuff that absolutely needs to have someone else to blame should it break. I find it ironic that the guy raised his hand for job security on AJAX apps. EJB apps foster more job security than anything I’ve ever seen.
But for things like large transaction apps that absolutely have to work for absolutely everyone, and one screwed transaction can mean millions of renminbi (financial sector type stuff, meaning Citibank, not FQ), EJB3 looks nice. Of course they’re definitely not first movers and probably are still looking at EJB1.
Java 1.5 is much better than 1.4. Going back to 1.4 temporarily recently has been painful since it keeps bitching at me because I’ve gotten used to autoboxing and generics.
May 25th, 2006 at 2:40 pm
Back in the day I tried to migrate an EJB 1 app to EJB 2. Dear god, it was painful. Far more painful than migrating from Sybase to Oracle, which in itself says a lot.