Yes, I know these last posts are boring as hell... Here's a quick update about what I'm doing now.
There's something very interesting about my new job. I'm can't go into super detail, but what I'm doing now relates a lot to James Stratchen's post last week about POJOs and Erik's post yesterday about Sun's Adventure Builder Blueprint. We're doing development here on a huge system that's been developed in Java using well thought out best practices throughout. I'm spending the week learning about it now and it seems very clean with a variety of powerful components including web services, business objects, a persistance layer, message queues, workflow and more.
And yet the system uses no public standard other than Servlets. No EJBs, no JMS, no XML-RPC or SOAP. It's got many of the same pieces as J2EE, but it's all been developed in an almost parallel world. They just figured out what they needed years ago, architected it, and developed it. Whereas a lot of the specs and APIs out there are bloated messes, trying to be all things to all people, the app I'm working on now is clean and lean. It does everything it needs to do and all the pieces are loosely coupled and very extensible, yet it's not so proprietary and involved that I would need months to understand it like some of the "open" specs out there.
There are definitely parts that need to be worked on and improved and where some of the pieces overlap the J2EE spec IMHO too much, it'd be nice to swap over to take advantage of collective effort in that space. But for much of the rest of the app, a full J2EE implementation wouldn't be any better than the code they have in place now.
It's very nice to see a live working example of what I've been screaming about for months now. That J2EE is overwhelming and that we're not gaining as much productivity as we should by using it all. Sun has been saying that you can pick and choose a-la-carte from the J2EE spec for a while now, but they've been out-shouted by companies like BEA which say to use EJBs for everything.