Days of EJB are numbered -EJB’s Memoirs-
In the darker middle ages of distributed computing I came as a revolutionary solution. People were struggling with CORBA; CORBA was/is one of those amazing technologies from the nineties and brought distributed Object technology to projects that could otherwise never have used it. It made distributed computing more feasible, a lot easier and with a lot more in the box. I can’t remember exactly how many services there were (just under 30? Do you know, please tell me): COS naming, -transactions, -security, -trader, etc. But it wasn’t all that easy to use. It was still API based, meaning developers had to call my services and for example demarcate transaction from their code using the Transaction API.
And after CORBA introduced Object By Value (OBV) i was able to come along: I provided a framework which is an API turned inside out. No longer did code have to call my API, no I called theirs. Making it possible for every (Java) developer to program highly advanced distributed architecture without needing the knowledge of concepts such as IDL, GIOP/IIOP, IORs, Naming, Security, Transactions, distributed object life-cycle management. I ended the careers of many CORBA consultants, because it became a child’s-game to program distributed solutions. I took the “plumbing” out of the “project” and into a “product”; from “programming” to “configuring”. Project teams could focus on their responsibility: automate the business process; program business logic and no longer all the necessary plumbing code.
That was my objective: make distributed computing easier> You have to excuse my ex-husband, Entity Beans for a second. That was never a good marriage-he was only taking care of persistence in a horrible way. Mostly because we were targeting problems in a distribute environment, so what on earth was i thinking marrying him. We tried to patch things up by introducing local interfaces, which only confused the world more.
Now suddenly this solution for distributed architectures was cable of being accessed locally. This confused the IT world even more. My original rational became blurred. A new IT generation came along, a generation that never new the challenges of a distributed environment. They found me difficult. Especially because may people seemed that when choosing J2EE/Java EE, EJB was the required/best option to implement the business tier. Everybody thought Ihad to be used (together with my Entity Beans). This led to many developers having a hard time understanding me; they never experienced the problems i was solving, in fact they did not need a distributed architecture in the first place. This led on its turn to bad performance and other quality problems. People forgot what my intent was: i solved problems in a distributed world, not in the general application world. They started hating me, also because of the habits of my ex-husband. I especially say how bad things had become, and how bad people understood my intentions, when I overheard IT projects were spending days/weeks of valuable project time trying to answer the fundamentally wrong question “to ejb or not to ejb?”. That question should always be answered with “yes”. Because the question should have been: “do we need a distributed architecture”. If that was answered with “yes”, then of course you should use me.
Luckily some people starting helping showing my position better: courses/whitepapers by Trivera Technologies EMEAA and other training companies, consultants and a book by Rod Johnson (“J2EE Development without EJB“). People starting to respect me again; people in need of distributed component architecture reached out for me again and people who did not left me in peace. I was happy and not happy. People came to me for who i am, but not many people needed me. So i picked up some bad habits, i started using market share again-this time even more than before. I not only lost to .Net my original antagonist, but i had now also my best friend Spring to worry about. I started forgetting who i was and tried to change my position from a distributed component framework to a general application framework, very much like my girlfriend. I envied her so much. I also tried dependency injections, went back to trying to be local and so on. But i should have known better. I should be proud for what i am: a solution for distributed component architecture. I also would like to say sorry to my new boyfriend JPA (Java Persistence API). I am dragging you into something bad. I am really asking you to leave me and have a life on your own! You target general applications, not merely distributed applications. I am sorry for the damaged I might have caused you already.
So I’m back at who I am. However, I see more dark clouds for my life. Many of the systematic qualities I address (for example scalability and availability) can now be solved by Virtualization. (Virtual) computers can scale on themselves (I suddenly recall what my bright godfather used to tell me when I was young: “the network is the computer”). I know I am still needed for vertical scaling; a (JVM) process cannot cope well with a lot of memory and many CPUs, so for inter-process communication I am still a solution. But my days are numbered….
I thank you all; it was a pleasure serving you…
March 2009
About this entry
You’re currently reading “ Days of EJB are numbered -EJB’s Memoirs- ,” an entry on Sirius ICT
- Published:
- 3.15.09 / 9am
1 Comment
Jump to comment form | comments rss [?] | trackback uri [?]