Welcome!

Java Authors: Pat Romanski, Liz McMillan, Adrian Bridgwater, Sharon Barkai, Imran Akbar

Related Topics: Java, Websphere, Weblogic, AJAX & REA, Oracle

Java: Blog Post

OCE EJB Certification Boosts JEE 6 Design Skills

EJB certification Preparation Tips

The latest Java EE 6 Certification for business component developer is divided into two certifications - EJB and JPA. These two certifications are completely different from previous SCBCD/OCPJBCD certification.

The Java Designer's general principle to architecting high scale or low scale application is choosing between EJB Centric Design (with EJB) or Web Centric Design (without EJB). OCE EJB Certification covers all design/developer knowledge required to implement Enterprise Java Bean Components.

Difference between SCBCD 5 and OCE EJB Certification
Oracle Certified Professional, Java EE 5 Business Component Developer (Formerly Sun Certified Business Component Developer (SCBCD)) certification provides knowledge required to develop Java EE 5 EJB and JPA applications. However, OCE EJB only covers Java EE 6 EJB components and OCE JPA covers only Java EE 6 JPA API.

SCBCD 5 = Java EE 5 EJB + Java EE 5 JPA
OCE EJB = Java EE 6 EJB
OCE JPA = Java EE 6 JPA

Oracle introduced new level (Expert) for these certifications instead of regular professional level.

You can find complete info about OCE EJB certification from this article.
http://www.epractizelabs.com/blog2/?p=91

How OCE EJB exam improves your JEE 6 Design Skills?
The certification tests your design decision knowledge about choosing right EJB for the given business problem. Note that, Java EE Architect exam has similar type of questions to test architecture knowledge in business tier components. EJB certification is more focused on design and development of Stateless Session Bean, Stateful Session Bean, Singleton Session Bean and Message Driven Beans.

The exam may not cover questions about web services and it is beyond EJB certification topics, however it is covered on architecture and web services exams.

Introduction to Java EE 6 EJB Types Java EE 6 provides the following EJB components.

  • Stateful Session Bean
  • Stateless Session Bean
  • Singleton Session Bean (new bean introduced in Java EE 6)
  • Message Driven Bean

The exam will tests your applicability knowledge of these components in different business scenarios.  You may also need to have thorough knowledge in annotations to develop these EJB components with timer services, interceptor methods, transactions and security.

Note that Singleton bean is under session type introduced in Java EE 6.

EJB Design decision

Using Stateless Session Beans

You are developing a business component where it does not contain the data for a specific client. Your search component is the best example for this scenario. Note that search requires only one method invocation with search query among all the clients to perform the generic task (executing search query on server side).

Example: Google search, Yahoo search and MSN search.

The following contents are taken from Oracle:
When to use Stateful Session Bean:

  • If the bean does not contain the data for a specific client.
  • If there is only one method invocation among all the clients to perform the generic task.

Using Stateful Session Beans
You are developing a business component where it wants to hold information about the client across method invocation. The most common example ofthis type of implementation would be "Shopping Cart", where it needs to hold client specific information.

Example: Gmail, Yahoo Mail and Facebook.

The following contents are taken from Oracle:
When to use Stateful Session Bean:

  • What the bean wants to hold information about the client across method invocation.
  • When the bean works as the mediator between the client and the other component of the application.
  • When the bean have to manage the workflow of several other enterprise beans.

Using Singleton Session Beans
You can easily decide by the name itself, when you want to have exactly one instance of a session bean go for Singleton session bean. You are developing an application where you want to have some configuration parameters needs to be used across different modules and they needs to be available during your server startup. You can easily implement this scenario by using Singleton Session bean.

The following contents are taken from Oracle:
When to use Singleton Session Bean:

  • State needs to be shared across the application.
  • A single enterprise bean needs to be accessed by multiple threads concurrently.
  • The application needs an enterprise bean to perform tasks upon application startup and shutdown.
  • The bean implements a web service.

Using Message Driven Beans
Unless like regular Java method calls, MDBs are called asynchronously without blocking. Note that Java EE 6 Session beans allow you to send JMS messages and to receive them synchronously but not asynchronously. To avoid tying up server resources, do not to use blocking synchronous receives in a server-side component; in general, JMS messages should not be sent or received synchronously. To receive messages asynchronously, we should use a message-driven bean.

The certification tests coding/design knowledge in the following areas:
Java EE design choices about using different EJB components.

  • Implementing Session Beans with annotations.
  • How to access Session Beans from other components or clients.
  • Implementing Singleton Session Bean
  • The exam requires knowledge in developing Java EE Applications

Using Messaging and Message-Driven Beans.

Using Timer Services in EJB components.

The other topics you must have good knowledge are Interceptor Classes and Methods, Transactions and Security.

What is next?
Go and register for OCE EJB exam from Oracle.
Prepare for your exam with good EJB Study materials like Java EE 6 EJB OCE Training Lab.
Take exam and achieve your potential certification.
Cheers !!!

More Stories By Kenrick Freemen

Kenrick Freemen is a software architect doing consulting for banking and education domains. He has more than 6 years of experience in developing Java EE applications. He is a Sun Certified Java Programmer, Oracle Certified Professional, Java EE 5 Web Services Developer and Sun Certified Java EE Architect.