Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

EJB's must?????

 
Priya Sri
Ranch Hand
Posts: 84
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi friends,

I have worked on 3 j2ee projects on tomcat and I am able to program servlets,jsps,jdbc,java well. I don't know EJB's right now. We didn't use WEBSPHERE/WEBLOGIC server for the applications I had done.

1) Is it mandatory to know EJB's for me to get a break in big IT company? If it is mandatory,What is the best approach to learn EJB's? Should I need to join any course outside for j2ee?

2)IS working on WEBSPHERE/WEBLOGIC server is needed to get a new job? OR
tomcat alone is sufficient?


Bye
priya
 
Grishma Dube
Ranch Hand
Posts: 275
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Priya,

EJB technology is in gr8 demand right now. So most of the big companies are giving preference to those people, who have worked on EJB.

You must be aware that, the Tomcat is just a servlet engine (or a web server), which is used to run your JSPs and servlets. But if you are going for Adv. J2EE Technologies such as JMS, EJB,etc. then you have to go for an Application Server i.e Weblogic, Websphere or Oracle Server, etc.

So in a way, you can say that EJB and one of the application server knowledge is must to get a job in big compnaies.

TIA

Grishma
 
Kj Reddy
Ranch Hand
Posts: 1704
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Priya

In a project every one wont get chance to work in devloping all components. So In a ejb project every one will be working with ejbs. I worked 3 J2EE projects. So either me or my PL used to work on EJBs as the work is very less.

And more over if you take companies like Oracle, SAP they do take people who just knows servlets, jsps also. So dont worry much that you didnt worked with EJB. But as Grishma pointed most of companies prefering people with knowledge of J2EE, EJBs. So try to gain some knowledge in J2EE, EJB, Design Patterns.

For EJB you read Ed Roman Mastering EJB which is best book, and even EJB by Oriely also very good. And to improve in other areas you can follow the forums in Javaranch and read Jguru FAQs too.

Regards
Jagdish Reddy
Bangalore
 
Jeroen Wenting
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've never needed EJB and don't intend to...
For most any purpose they're the wrong technology.
That doesn't mean people won't decide to use them, but usually they'll be making the wrong choice (same as a few years back when everything had to be XML, we even got an official requirement handed down from the CEO (this was a multinational) that stated the board had decided that every application MUST use XML within 2 years and all new applications MUST use it from that point on), EJB falls into the same category).

Problem might be selling that point, but the people that are smart enough that you want to work for them will understand your point...
 
Sonny Gill
Ranch Hand
Posts: 1211
IntelliJ IDE Mac
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I agree with Jeroen, EJBs are only suitable for a minority of applications where there is a real need for a distributed architecture. Rod Johnson's two books do a pretty good job of explaining the pro's and con's of using EJB's.

I personally am happy to stay away from EJB's as long as I can.

Using EJBs where they are not needed could be the worst decision made on a project. Unfortunately, EJB is still very glamourous (atleast in Singapre and India as I know it).

So if you must learn EJBs, I have heard that Ed Roman's book and Head First EJB are pretty good. If you are in India, dont waste your time and money on a course claiming to teach EJB's. Those places are full of BS. Anybody good enough to actually do a good job of teaching EJB's wont be hanging around in places like those.
 
Priya Sri
Ranch Hand
Posts: 84
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi friends,

Thanks for sharing ur thoughts with me ...

Bye...
Priya
 
Pradeep bhatt
Ranch Hand
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Those places are full of BS.


BS?
 
Mani Ram
Ranch Hand
Posts: 1140
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Pradeep Bhat:
BS?


Brilliant Students or Bull Shit, which ever you prefer!
 
Pradeep bhatt
Ranch Hand
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Mani Ram:


Brilliant Students or Bull Shit, which ever you prefer!





I am currently reading Expert One-on-One J2EE Development Without EJB
by Rod Johnson and Juergen Hoeller.
[ December 01, 2004: Message edited by: Pradeep Bhat ]
 
Frank Silbermann
Ranch Hand
Posts: 1406
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
EJBs were designed to be the better CORBA. When 2-tier client-server systems were proving to be unscalable to large user bases, people realized that we needed to put business logic on the server, which required some sort of application server to handle user connections, pooling of connections, etc. EJBs were designed for that.

The trouble is that around the time EJBs became available, the fashion shifted from distributed client-server PC applications to browser-based HTML web applications. The web server took so many of the responsibilities away from the application server that, for the responsibilities remaining, EJBs began to look like a sledge hammer being used against penny nails.
 
Tim Holloway
Saloon Keeper
Pie
Posts: 17989
47
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
EJBs provide about 5 very useful services. Let me see if I can remember all of them:

1. Componentized logic (Session EJBs)

2. Database independence and automated persistence (CMP)

3. Transaction Management

4. Remote Method Invocation

5. Role-based method access control

6. caching

7. Atomic access

Well, that's not my usual list, but it will do. As a rule, if I don't need at least 3 of the above, I'll probably avoid EJBs, but if I need 3 or more of those features, it's definitely better not to have to re-invent (and re-debug) them, so EJBs are worth considering.

The original EJB architecture was clumsy, slow, and rather vendor-dependent. A lot of work has been done since then, though I think a lot more can be done. In the meantime, JDO and Hibernate have become popular choices for EJB-like persistence where some of the more exotic EJB features aren't required.

A good toolbox has LOTS of tools in it!
 
Eric Lemaitre
Ranch Hand
Posts: 538
Eclipse IDE Hibernate Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi !

Yes and no.

EJB are not a must at all in a standard Java developper's role, for they remain a specialised tool for specific usage. You can consider it as a specific Java topic such as JMX, JINI, J2ME, JDO, ..., you won't be really disadvantaged if you don't know them. But you should be able to code a Servlet and deploy it in Tomcat, for this is so common now it will be considered as a basic stuff, like anyone should be able to write basic HTML code.

But if you want to make a further step to architecture, you must absolutely know them, as well as Web Services and probably basics of .Net too so as to be able to defend a Java project against $Soft. You should have to know many other things but they would be simple "nice to have" as JDO and J2ME.

Best regards.
 
soniya saxena
Ranch Hand
Posts: 300
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Priya, let me give u the practical answer to this question. This has got nuthing to do with whether or not EJB is a good technology. It is about the probability of EJB questions being asked in the interview and the interviewer's personal opinion or his team's opinion if EJB is a must have for that position. Given that EJB is still used in lots of companies and given that many people are still not aware of EJBs being a bad architectural choice in most cases, a strong probability exists that u cud be asked questions on EJB. And it would be a nice idea to prepare urself on the same atleast so that u know the basics.
 
Damian FRACH
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
EJB flaming is now very popular. Almost everybody does it ...

1) Check on jobserve.co.uk, how much is demanded EJB and e.g. Hibernate (320:25)

2) go for Session EJBs 2.1 if:
- distributed architecture
- container managed transactions
- container managed security
- message driven beans
- monitoring (you can see the EJB object statistics in container)
- XML description file (everything on one place)

3) disadvantages of the Session EJBs 2.1:
- 2 interfaces and 1 class
- bloated API
- big XML description file (big, difficult to find)

- with right design patterns (ServiceLocator, BussinesDelegate) and right IDE you can avoid it

- most popular competition: Spring
- - not very demanded now on JobServe
- - EJB 3 will be very similar and will be here in 2-3 years
- - EJB 3 will be implemented by 10-20 vendors; Spring is only one implementation

4) State full Session Bean has similar performance and scalability characteristics as HTTP session (theServerSide.com)

StateLess and Message Driven Beans do not have almost any minuses

5) for any bigger app (performance + scalability) you need object-relational mapping (entity EJB, hibernate, JDO, toplink, ...) for a DB caching

6) BEA CMP entity EJBs have better or same performance as Hibernate (theServerSide.com)

7) Entity EJB pluses :
- performance is same as Hibernate
- they are implemented by JDO (SUN) or TopLink (Oracle) anyway
- Hibernate 3 will implement the EJB3
- EJB are still 10 time more demanded then Hibernate on JobeServe.co.uk now
- EJB 3 as EJB 2.1 will be/are implemented by 10-20 vendors; Hibernate+Spring is only one implementation

8) Entity EJB minuses:
- bloated API
- EJB QL is weak especially for rich OO domain model
- rich OO domain model is not fully supported (e.g. inheritance)

- do you want to hit your relational DB (Oracle) by rich OO domain model?
I personally for a big scalable application NO.



So IMO the EJB flaming is little bit unjustified and very often is based on personal feelings then on facts.
 
Manish Hatwalne
Ranch Hand
Posts: 2591
Android Firefox Browser Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Jeroen Wenting:
I've never needed EJB and don't intend to...
For most any purpose they're the wrong technology.
That doesn't mean people won't decide to use them, but usually they'll be making the wrong choice (same as a few years back when everything had to be XML, we even got an official requirement handed down from the CEO (this was a multinational) that stated the board had decided that every application MUST use XML within 2 years and all new applications MUST use it from that point on), EJB falls into the same category).

Problem might be selling that point, but the people that are smart enough that you want to work for them will understand your point...


I wholeheartedly agree with Jeroen is saying!!
Not many ppl realize it though....

- Manish
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic