• Post Reply Bookmark Topic Watch Topic
  • New Topic

Do companies really use EJB?  RSS feed

 
prem saggar
Ranch Hand
Posts: 66
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To me, EJB's are expensive, only because I have heard that JBOSS is not ready yet. I have heard that Websphere is killing Weblogic and both of these app servers are very expensive. I mean very expensive. Are companies moving away from the free html to servlet to database attack, just for EJB's? I know there are advantages, but damn websphere will make you go broke quickly! So are companies actually shelling out cash for EJB's or are they using other technologies like servlets, perl, php, mts, or asp/asp.net? Thanks again, Prem
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, companies are actually using EJB's. Lots of companies are doing so. I probably work with 40 or so NEW customers using them every year, and have been doing so for the last four years... The costs of the software are FAR outweighted by the benefits that you can gain from EJB's when you really need them.
Kyle
 
prem saggar
Ranch Hand
Posts: 66
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Kyle, I was not sure due to an EJB's complexity. Is it me or is there a huge learning curve? I heard you can not understand EJB without understanding RMI in java very well. Is that true? Also, I'm wondering if using an EJB will solve common transaction problems?
The problem with transactions is that if some part of an operation fails, e.g., the server crases or a database crashes, will the system go into an inconsistent state? Can we be sure that a transaction will fully complete when using EJBs along with a good Application Server?
Lastly, what are your thoughts on JBoss? Can it compete with WebSphere or WebLogic? I spoke to a recruiter and he said that he gets more calls for WebSphere than any other application server. Does this mean that the other app servers are inferior and that JBoss is just no competition? Thanks, Prem
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Lots of questions; let's try answer each of them.
(1) Yes, a primary reason why you have an EJB container is to handle two-phase commit across multiple datasource (databases, JMS connections or JCA connections) properly. You can be assured that things will not be left in an inconsistent state when using them properly.

(2) EJB does require some understanding of RMI, but you don't need to be an expert by any means to write useful code.
(3) JBoss is a wonderful server for learning, for development, and for deploying small systems, but it simply can't compete as a deployment platform for large-scale, clustered environments. That is where WebSphere and Weblogic shine.
Kyle
 
Rick Portugal
Ranch Hand
Posts: 243
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Kyle - I love your book! I use it a lot.
I have also heard a lot of criticism about the complexity of EJB. My hunch is that companies will start to move away from entity beans, since they are the most complex.
I work on a system that uses stateless session beans. It's a nice architecture, and not too difficult to maintain. I am no RMI expert by any stretch of the imagination.
 
prem saggar
Ranch Hand
Posts: 66
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you Mr. Brown, and Rick for your timely, kind, and knowledgable replies. I appreciate your insight. Is it possible to hanlde 2 phase commit without EJB, and if so, is it generally very sloppy and hard to maintain? I'm a SCJP 1.4 who has written some servlets and dealt with some JDBC, but outside of that I am knew to J2EE. Could I learn J2EE and it's components from your book Mr. Brown? How does one get a trial copy of Websphere to work with? Thank you so much again, Prem
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It is possible to do 2PC without EJB (using, for instance JTA in a compatible servlet container), but it is (as you state) very complex, error-prone and difficult to manage. The way it is done in EJB's (declaritively) is much cleaner.
To get an eval copy of WebSphere (60-day trial license) simply go to www.ibm.com/websphere My book (unfortunately) is a bit out of date at the moment -- however, it should be possible to learn how to use WebSphere from the information available on the Web site and a good EJB book like Richard Monson-Haefel's.
Good luck.
Kyle
[ February 02, 2003: Message edited by: Kyle Brown ]
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Rick Portugal:
Kyle - I love your book! I use it a lot.
I have also heard a lot of criticism about the complexity of EJB. My hunch is that companies will start to move away from entity beans, since they are the most complex.
I work on a system that uses stateless session beans. It's a nice architecture, and not too difficult to maintain. I am no RMI expert by any stretch of the imagination.

Hi Rick! Thanks. While I too prefer a simple SSB & JDBC approach for many projects (and parts of nearly all others) there are many cases where Entity beans (especially in EJB 2.0) are in fact the simplest approach. I think that we'll actually see more people pick them up in WebSphere this year...
Kyle
 
Scott Duncan
Ranch Hand
Posts: 365
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It should be noted that EJB's, while extremely useful, are also extremely misused. Some companies are moving away from using them.
If its complexity you are trying to avoid, stay away from JBoss. For its scalability, ease of use and administation, easy deployment, etc. I think that Websphere is worth every penny. Besides, I thought that Websphere was less expensive that Weblogic. There is a reason why its on top of the heap (no pun intended).
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!