> Hi ,
>
> Can anyone suggest on the debate going on, that EJB is an
> overhead since its actual features are rarely used and for
> the purpose which we use EJB,we can always use some other
> things also.Your opinion on this.
>

That debate isn't going on anymore :-).

Using EJBs depends on the purpose. If you have to code stuff that solves
problems that the EJB container solves for you if you use EJBs, then
you're reinventing the wheel. If you get sick and need to be replaced,
instead of calling in a guy with EJB skills, you'll need a guy that is
familiar with your kind-of-EJB code. Best of luck finding them.

The debate isn't going on anymore because EJBs will never "improve
performance" per se. Assembler and C++ will improve performance.
Usually, what you care about is scalability, and while performance has a
close relationship to scalability, under a number of situations improved
performance might have a negative impact on scalability or zero impact.
It doesn't boil down to performance, but to TCO. With EJBs, performance
overhead is minor, and scalability doesn't involve coding... It's more
of an administrative matter. Buy a new box, jack in, configure the load
balancer. You've scaled. You've got code that's simpler to maintain. You
can port your application to a different app server with only so much
effort, in case your support has run out, or parts of your deployed
application have reached "EOL".

Nowadays I use EJBs for almost anything that needs to call a DB, not
because of performance, but because of speed of development and ease of
use. I code with IntelliJ IDEA, and the app server usually is Orion.
Under these, coding an CMP-EJB bean is faster than coding direct JDBC.
I'd only revert to JDBC if very specific performance optimizations are
needed. Of course, if I was to use, say, Websphere, I'd be stuck with
writing DAO's. This isn't Sun's fault, but IBM's. That said, the J2EE
compliance test suite should make them NOT to endorse Websphere. Orion
makes it really easy in practice to have DB-transparency, so I guess
that different deployment scenarios may make EJBs more or less
desirable.

There's a lot about EJBs that I'd like to be changed. But the bottom
line is: it's very existence makes MY life easier. If you want
performance, drop Java altogether and learn some Assembler. Best of luck
going about it.


My 2c,

Juan Pablo Lorandi
Chief Software Architect
Code Foundry Ltd.
[EMAIL PROTECTED]

Barberstown, Straffan, Co. Kildare, Ireland.
Tel: +353-1-6012050  Fax: +353-1-6012051
Mobile: +353-86-2157900
www.codefoundry.com

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to