University of Cincinnati logo and link  
So what are EJBs?
 
  UC ingot In a nutshell, EJB is a framework for writing distrubuted programs.
  • EJB saves time by providing the 'plumbing' needed for developing an enterprise application.
  • By maintaining standards, EJBs allow you to re-use your components.  
    • Further, you can buy (or lease) and integrate third party components into your own applications.
    • This can save you money as well.  Instead of writing a credit card authorization module from the ground up that you use for a selected audience, you can buy a module that is used by a much larger audience.  Thus, the costs (and the testing) are shared among many more users.  Further, the logic behind this credit card authorization module is handled by the experts - the people who write and sell the module.  All you need to do is install it.
    • Or, you can be in the business of writing these modules and selling them to other companies.  Once again, the ease of integration is a true benefit over a product that has a proprietary interface.  (Ask me about my personal experience with this.)
  • But there are some consequences.
    • EJBs must be deployed in an EJB container, such as Oracle 9iAS, BEA WebLogic, or IBM Websphere.  These are both expensive and complicated to set up.
    • Indeed, laying the framework for EJBs is not for ametures.  Some companies lack the expertise required to set up an EJB server and simply don't do it.  Others will hire consultants, again for a fee.
    • So how popular are EJBs?  Good question.  I know many experienced developers and companies who simply do not see the benefit given the costs.  Other companies are too deep already in proprietary programs to make the switch. 


 The alternative - proprietary middleware