• Post Reply Bookmark Topic Watch Topic
  • New Topic

EJB sound & reliable?

 
Adam Hardy
Ranch Hand
Posts: 567
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
my situation is that I'm working for a big corporation doing lots of stuff for their intranet, all small, seperate websites which huge amounts of overlap in functionality from site to site.
I'm new to java and come from a microsoft n-tier background - i suggested conversationally to a colleage / manager that we should take this intranet to an n-tier level, and stop all this duplication of programming.
since many of the sites are written with JSP/oracle or coldfusion/access or php/mysql, and because i want java, i suggested EJB.
This idea was knocked back on the basis that EJB is according to my colleague, still problematic. is this in any way true? judging by a look through this forum, i'd have said not.
which is the truth? perhaps EJB was in its early stages unreliable, but now?
thanks
Adam
 
Kishore Dandu
Ranch Hand
Posts: 1934
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
EJB nowadays is extensively used industrially and is working allright.
There is a fine line with respect to using any J2EE server side technologies. You have to have good programmers who know how to use the EJBs etc the right way. ie some one with prior knowledge of J2EE patterns and problems with implementing/using EJBs the wrong way etc.
And price of a app server also comes into picture if you are going into a pure J2EE n-tier approach. Both WebSphere and WebLogic try to sqeeze a lot of money for what they are offering.
Following is suggested for companies with limited development budgets if money is not a concern go for WebLogic or WebSphere from the beginning)
Try a freeware app server like Joanas during your initial development cycle and get hold of one of the above two app servers for production purposes.(
 
Adam Hardy
Ranch Hand
Posts: 567
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
fortunately (or not I don't know) the corporation i'm working for has a monstrous content management system working on websphere, which we could also implement for the non-content-management intranet stuff.
so how seriously in-depth are you talking about in respect to this knowledge of "of J2EE patterns and problems with implementing/using EJBs the wrong way etc.
"?
how many years experience would you consider necessary? I can tell you that on this intranet, there's alot of tolerance of down-time etc.
but do you get big problems in the production environment that just don't arise on a test server? from a microsoft COM perspective, the main differences were the network, security, load, rather than the n-tier technology.
[This message has been edited by Adam Hardy (edited November 06, 2001).]
 
Tim Holloway
Bartender
Posts: 18413
58
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
EJBs aren't a "magic bullet". It's more important to consider J2EE as a whole. EJBs tend to be overused, when a regular JavaBean with JDBC connections might be simpler to code and more efficient. The main reasons for choosing EJBs are when you need their unique powers - ability to run distributed (think EJB as DCOM and JavaBean as COM), transaction support, and container caching.
While the J2EE platform is evolving, there are some very effective methodologies for large-scale systems, and in that area, they probably are better than something like ASP, which doesn't support container-managed DBMS services or transaction management.
At the moment, you might find the gently evolving nature of J2EE to be preferable to a Microsoft solution, where the whole present system will shortly be obsoleted by .NET. Microsoft hasn't the level of tolerance for supporting old products that IBM has long been noted for, nor do they have a deprecation mechanism like Sun's that allows code to be addressed gradually.
 
Adam Hardy
Ranch Hand
Posts: 567
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
container caching

what's that? Is that like database connection pooling?
something like ASP, which doesn't support (...) transaction management

actually ASP does, not even .NET ASP, but that's beside the point...
At the moment, you might find the gently evolving nature of J2EE to be preferable to a Microsoft solution,

the choice i've got at the moment is either JSP alone, with nothing but java script blocks and perhaps servlets, or the possiblility of going n-tier.
 
Tim Holloway
Bartender
Posts: 18413
58
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I thought you needed MTS to do transactions with IIS/ASP (?).
"Container caching" means that EJBs are cached automatically by their container/server. Keeps you from having to go all the way back to the database for frequently-referenced items. Or, in the case of Stateful Session EJBs, keeps you from having the overhead of passivation and re-activation. Slightly oversimplified.
You can use connection pools without EJBs - they just provide more granularity to the process.
 
Adam Hardy
Ranch Hand
Posts: 567
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I thought you needed MTS to do transactions with IIS/ASP (?).

MTS comes on the same CD as IIS, in fact IIS runs in MTS. I don't know the specifics anymore without looking it up. I never put ASP pages in a transaction anyway. (You might be right).
Well basically you've convinced me that my colleage was talking out of his place where the sun don't shine - EJBs and all that are something I'd like to get into, I've just got to get the message across as to why!
My main reason is so that when I write a piece of functionality, like say a search result list function or a shopping basket or navigation menu, I want to be able to re-use it whenever with the minimum of effort. I take it I'm on the right track here with EJB?
I'd also want to find the best way to write my data services layer classes, which provide the cached rowsets to the business layer.
Adam
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!