In the begining there were binary digits, then came assembler and to cut a long story short, today we have java, the epitome of productivity, ease of use and overall programming style and slickness.
I still remember the day I met java, the scenery was nothing much to talk about as we sat in a basement classroom, but I had a nice dream of riding a unicorn as I slept in bliss. Thankfully I managed to catch up on java about a couple of years later when I joined a software development company as a developer and my boss told I had to meet the deadline, with an impending threat of all the nasty things within my comprehension. Java was simple, clear and the community was exploding, making it a breeze to do almost anything. A platform of opportunity and promise. Tools flourished, Utilities popped up like mushrooms on a rainy Sunday. Like the master builder whose sole dream is to build the masterpiece to stand through all eternity, The architect's dream of the masterpiece framework, independent of everything, plugging in to anything, flexible, versatile and morphing in to anything on command. Jsps and servlets for breakfast, a good helping of EJBs, with framework salad for lunch and a quiet dish of design patterns for dinner comprised the healthy diet for most.But sometimes the so-called healthy diet can cause indigestion and obesity. The heavyweight programming model and architecture made it difficult to do even the simplest of things. Solutions were non-performant, Code was difficult to test, and the productivity gains seemed to vanish like a conjuror's trick. Needless to say, overall chaos broke out in wonderland, tipping the scales from dreams to nightmares.While the EJB programming model solved some very complex problems, the shortcoming was that it seemed to assume that all problems were inherently complex. This meant having complex solutions for simple problems, never a good thing as my mom used to say. Another inherent problem was the end result was always very heavy.Like evolution, which mandated the growth from assembler to C, the revolution was set in motion to move on from EJBs and salvage everything that could be saved in the process. Architects who built their masterpieces on the EJB programming model realized that their frameworks might not be as versatile as they once thought out to be, and the ones who had the foresight to decouple their frameworks from the programming models, breathed a sigh of relief.But hey, It's not as bad as all that ... No its not, and that’s because J2EE was much more than EJB. Out of these ashes rose the lightweight containers, most notably the spring framework. And on the persistence front Hibernate , Top link and the like shone. EJB3 seems to be no more than Sun's frantic effort to patch up the flawed programming model. Read an interesting take on EJB 3 by Bruce Tate. EJB3 includes a lot of ideas from the open source community like POJO based development, and support for annotations and metadata, making it very competitive indeed.The emergence of lightweight frameworks and better persistence models, and of course EJB3, may give Enterprise java another lease of life. But the keywords here are productivity, low learning curve, ease of use and performance. Java was the Holy Grail for all these once, too bad I was sleeping in the basement classroom then, and its these qualities that the developers and designers implicitly and reflexively look at. EJB3 seems to be focussed on these firmly, and for disbelievers, theres always the lightweight container, giving the best of both worlds. But unless EJB3 pulls it off, the industry standard backing of Sun will start to mean nothing for Enterprise java itself.
No comments:
Post a Comment