Skip to main content

If you don't have an IBM ID and password, register here.

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

Web services programming tips and tricks: Is Enterprise JavaBeans (EJB) technology for you?

What to look for when evaluating EJB technology

Scott W. Ambler (scott_ambler@ca.ibm.com), Practice Leader, Agile Development, Rational Methods Group, IBM
Scott W. Ambler is President of Ronin International, a consulting firm specializing in object-oriented software process mentoring, architectural modeling, and Enterprise JavaBeans (EJB) development. He has authored or co-authored several books about object-oriented development, including the recently released The Object Primer 2nd Edition, which covers, in detail, the subjects summarized in this article. He can be reached at scott.ambler@ronin-intl.com and at his Web site at www.ambysoft.com.

Summary:  Although EJB technology is one of the leading platforms, along with DCOM and CORBA, for the development of mission-critical applications, it isn't the best fit for every project. This tip describes the factors that you want to consider when determining whether EJB technology is the right option for you.

Date:  09 Nov 2000
Level:  Introductory

Comments:  

At the start of a project, during the Unified Process's Inception Phase and into the Elaboration Phase, you will make important architectural decisions for your software project. The choice of programming languages, tools, and application servers are all made during these phases. With respect to application servers, Enterprise JavaBeans (EJB) technology is likely one of your leading candidates. EJB is an excellent technology, but it isn't the only option available to you. How do you know when it is a good fit for your project? For your organization? To determine if EJB technology is right for you, consider the following factors:

  • Multi-platform support
    EJB application servers are available for a wide variety of platforms, including Solaris, Linux, MVS, and Windows NT. This availability provides you with significant flexibility for deployment of EJB-based applications.

  • Multi-vendor support of EJB technology
    EJB application servers are offered by several vendors, including BEA Systems, IBM, Inprise Corporation, and Secant Technologies to name a few (see Resources for links). There is even an open-source initiative called jBoss for the development of an EJB application server. You are not dependent on the product line of a single vendor if you choose to go with EJB. It is true that you would have some rework to perform to port your EJB applications to a different vendor's server but this effort would be significantly less than the complete rewrite that would be required to port to a non-EJB environment.

  • Scalability
    EJB technology offers several strategies for developing scalable applications including stateless session beans and server farms. As your application grows, EJB technology will be able to support that growth.

  • Use of Java technology
    EJB technology uses the Java programming language, which is the de facto industry standard for portable, multi-platform development using component-based and object-oriented techniques.

  • Existing developer skills
    Your project will likely need people experienced in Java programming, object-oriented techniques, Web-based development, and component-based development to be successful using EJB technology. Although this seems like a daunting list, with the exception of substituting another language for Java, it is the same list that you would need for any of the other leading alternatives to EJB (such as Microsoft's DCOM/MTS, CGI and PERL, or C/C++). If your developers do not have these skills, you will need to either train them or hire from the outside.

    To gain the skills you need to develop mission-critical software using object-oriented and Java-based technology such as EJB, consult the resources listed in the "Further reading" section of Resources.

  • Ability to hire EJB developers
    Because EJB has now been in use for several years, developers with experience in the technology are now available. The demand still outstrips the supply (in the computer industry, when isn't this the situation?) but people with the right skills are definitely available.

  • Industry mindshare
    EJB technology, as well as Java and J2EE (Java 2 Enterprise Edition) products, have garnered significant attention within the information technology industry. These technologies are real, they've been proven in mission-critical applications, and they are here to stay. EJB technology is a safe bet.

  • EJB technology's true costs
    Like any new technology, EJB has a significant cost of adoption because you will need to purchase new technologies, such as application and Web servers, and train your staff in new techniques. However, once you have made this initial investment, your cost of development is significantly reduced because of EJB technology's use of component and object-oriented technology. Deployment is also easier, hence less costly, because you deploy EJB software, using the tools provided by your application server vendor, to a handful of application servers instead of hundreds or thousands of desktops. Maintenance of EJB-based applications can also be lower than that of traditional applications because of its use of object-oriented and component technologies.

  • Availability of reusable components
    There is a wide range of reusable components, both freely available as well as for charge. Examples include IBM's San Francisco, EJB and Java-based components at Component Source, and reusable business components available online at Flashline and Diamelle Technologies.

  • Support for e-commerce
    E-commerce applications are typically Web-based and transaction-oriented applications. JSP technology and servlets, part of J2EE, address Web-based development and EJB technology supports transactions via stateful and stateless session beans.

Resources

About the author

Scott W. Ambler is President of Ronin International, a consulting firm specializing in object-oriented software process mentoring, architectural modeling, and Enterprise JavaBeans (EJB) development. He has authored or co-authored several books about object-oriented development, including the recently released The Object Primer 2nd Edition, which covers, in detail, the subjects summarized in this article. He can be reached at scott.ambler@ronin-intl.com and at his Web site at www.ambysoft.com.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in

If you don't have an IBM ID and password, register here.


Forgot your IBM ID?


Forgot your password?
Change your password


By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)


By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and web services, Java technology
ArticleID=11454
ArticleTitle=Web services programming tips and tricks: Is Enterprise JavaBeans (EJB) technology for you?
publish-date=11092000
author1-email=scott_ambler@ca.ibm.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).