For the Sun Certified
Java Associate Exam, (SCJA), you need to know, at a high level, the difference between a BMP and a CMP. You don't need to know how to code them, although
you should know that they are some of those special, server managed resources that are initially accessed through a JNDI call. Again, don't worry about the code that does that - just know that they are managed by the application server, or more specifically, the
EJB container.
So, know the difference, and the benefits/drawbacks to each. I'm sure you can find a hundred posts on just that topic if you search the EJB message boards.
At a high level, CMPs are usually generated using a development tool, which relieves the developer from having to do all of the low level
JDBC stuff, and SQL calls, which Java developers are notoriously bad at doing.
BMPs require the developer to be much more involved, pretty much coding the database interactions from scratching, doing all sorts of PreparedStatements and CallableStatements, and using SQL to do crazy stuff. Of course, some developers are masochists, and they like doing that stuff.
You should also know some of the benefits and drawbacks to EJBs, and when it's a good idea to use them, and when it's not. Here's a really old article I wrote on the topic that is still pretty relevant today with EJB 2.0. EJB 3.0 isn't covered on the exam:
When to use EJBs, and when NOT to use EJBs Good luck on the exam!
-Cameron McKenzie