my dog learned polymorphism*
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes Exam Details Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "Exam Details" Watch "Exam Details" New topic
Author

Exam Details

Kathy Sierra
Cowgirl and Author
Ranch Hand

Joined: Oct 10, 2002
Posts: 1572
OK, here's the scoop on the new exam
Beta test:
June (see the other post about the 'beta opportunity')
Final release:
August (probably late August)
Number of questions:
Not sure until beta, but probably around 65 - 70 (a little longer than the SCJP).
Time:
We won't know until the beta, but probably a little over two hours. Time shouldn't be a problem for this exam.
Type of questions:
1) Multiple choice, like SCJP
2) Drag-and-drop! (more on that in another topic)
Will you know how many answers to choose?
For multiple choice, YES.
For drag-and-drop, it gets a little more complicated.
Resources:
Virtually everything on the exam is from the EJB 2.0 Specification. Why 2.0 and not 2.1? Because this is meant to be a *practical* exam for developers working on EJB projects, and it will be a long time before most developers are using 2.1. The exam will be upgraded to the 2.1 specification sometime in the future, but not for a LOOONG time.
Objectives:
(Note: these are slightly different from the ones on the survey that many of you have seen. Also, these may change again, but only very, very slightly. I have typed these in from scratch, so forgive my typos )
========================
1) EJB OVERVIEW
1.1 Identify the use, benefits, and characteristics of EJB technology, version 2.0 of the specification.
1.2 Given a list of technology specifications, identify which are requirements for an EJB 2.0 container.
1.3 Identify correct and incorrect statements or examples about EJB programming restrictions.
1.4 Match EJB roles with the corresponding description of the role's responsibilities, where the description may include deployment descriptor information.
1.5 Given a list, identify which are requirements for an ejb-jar file.
========================
2) CLIENT VIEW OF A SESSION BEAN
2.1 Identify the interface methods provided to the client in a session bean's local and remote home interfaces.
2.2 Identify correct and incorrect statements or examples about the client view of a session bean's local and remote home interfaces, including code used by a client to locate a session bean's home interface.
2.3 Identify correct and incorrect statements or examples about the client view of a session bean's local component interface.
2.4 Identify correct and incorrect statements or examples about the client view of a session bean's remote component interface.
===========================
3) SESSION BEAN CONTRACT
3.1 Identify correct and incorrect statements or examples about session beans, including conversational state, the SessionBean interface, and create methods.
3.2 Identify the use of, and the behavior of, the ejbPassivate method in a session bean, including the responsibilities of both the container and the bean provider.
3.3 Identify the interface and method for each of the following: retrieve the session bean's remote home interface, retrieve the session bean's local component interface, determine if the session bean caller has a particular role, allow the instance to mark the current transaction as a rollback, retrieve the UserTransaction interface, prepare the bean instance for re-use following passivation, release resources prior to removal, indentify the invoker of the bean instance component interface, and be notified that a new transaction has begun and completed.
3.4 Match correct descriptions about purpose and function with which session bean type they apply to: stateless, stateful, both.
3.5 Given a list of responsibilities related to session beans, identify those which are the responsibility of the session bean provider, and those which are the responsibility of the container provider.
3.6 Given a list of requirements, identify those which are the requirements for a session bean class, remote component interface, remote home interface, create methods, business methods, local component interface, remote component interface.
==========================
4) SESSION BEAN LIFECYCLE
4.1 Identify correct and incorrect statements or examples about the lifecycle of a stateful or stateless session bean.
4.2 Given a list of methods of a stateful or stateless session bean class, determine which of the following operations can be performed from each of those methods: SessionContext interface methods, UserTransaction methods, JNDI access to java:comp/env environment naming context, resource manager access, and other bean access.
4.3 Given a list of scenarios, identify which will result in ejbRemove method not being called on a bean instance.
============================
5) CLIENT VIEW OF AN ENTITY
5.1 Identify correct and incorrect statements or examples about the client view of an entity bean's local and remote home interface, including the code used to locate an entity bean's home interface, and the home interface methods provided to the client.
5.2 Identify correct and incorrect statements or examples about the client view of an entity bean's local component interface.
5.3 Identify correct and incorrect statements or examples about the client view of an entity bean's remote component interface.
5.4 Identify the use, syntax, and behavior of the following entity bean home methods for CMP: finder, create, remove, home business methods.
==============================
6) COMPONENT CONTRACT FOR CMP
6.1 Identify correct and incorrect statements or examples about the entity bean provider's view and programming contract for CMP, including requirements for a CMP bean.
6.2 Identify correct and incorrect statements or examples about persistent relationships, remove protocols, and about the abstract schema type of a CMP bean.
6.3 Identify correct and incorrect statements or examples about the rules and semantics for relationship assignment, and relationship updating, in a CMP bean.
6.4 Match the name with a description or purpose of functionality, for each of the following DD elements:
ejb-name, abstract-schema-name, ejb-relation, ejb-relationship-role, cmr-field, cmr-field-type, and relationship-role-source.
6.5 Identify correctly-implemented DD elements for a CMP bean (including container-managed relationships).
6.6 Identify the interface(s) and methods a CMP bean must and must not implement.
===========================
7) CMP ENTITY BEAN LIFECYCLE
7.1 Identify correct and incorrect statements or examples about the lifecycle of a CMP bean.
7.2 From a list, identify the purpose, behavior, and responsibilities of the bean provider for a CMP bean, including (but not limited to) setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActivate, ejbPassivate, ejbRemove, ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect.
7.3 From a list, identify the responsibility of the container for a CMP bean, (including but not limited to):
setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActivate, ejbPassivate, ejbRemove, ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect.
=========================
8) ENTITY BEANS
8.1 From a list of behaviors, match them with the appropriate EntityContext method responsible for that behavior.
8.2 Identify correct and incorrect statements or examples about an entity bean's primary key and object identity.
===========================
9) EJB-QL
9.1 Identify correct and incorrect syntax for an EJB QL query including SELECT, FROM, and WHERE clause.
9.2 Identify correct and incorrect statements or examples about the purpose and use of EJB-QL.
9.3 Identify correct and incorrect conditional expressions, between expression, in expression, like expressions, and comparison expressions.
===========================
10) MESSAGE-DRIVEN BEAN COMPONENT CONTRACT
10.1 Identify correct and incorrect statements or examples about the client view of a message-driven bean, and the lifecycle of a message-driven bean.
10.2 Identify the interface(s) and methods a JMS MDB must implement.
10.3 Identify the use and behavior of the MessageDrivenContext interface methods.
10.4 From a list, identify the responsibility of the bean provider, and the responsibility of the container provider for a message-driven bean.
=============================
11) TRANSACTIONS
11.1 Identify correct and incorrect statements or examples about EJB transactions including BMT and CMT.
11.2 Identify correct and incorrect statements about the Application Assembler's responsibilities including the use of DD elements related to transactions, and the identification of methods of a particular bean type for which a transaction attribute must be specified.
11.3 Given a list of transaction behaviors, match them with the appropriate transaction attribute.
11.4 Given a list of responsibilities, identify those which are the container's with respect to transactions, including handling setRollbackOnly, getRollbackOnly, getUserTransaction, SessionSynchronization callbacks, for both CMT and BMT.
=======================
12) EXCEPTIONS
12.1 Identify correct and incorrect statements or examples about exception handling in EJB.
12.2 Given a list of responsibilities related to exceptions, identify those which are the bean provider's and those which are the responsibilitiy of the container provider. Be prepared to recognize responsibilities for which neither the bean or container provider are responsible.
12.3 Identify correct and incorrect statements or examples about application exceptions and system exceptions, for Session, Entity, and MessageDriven beans.
12.4 Given a particular condition, identify the following: whether an exception will be thrown, the type of exception thrown, the container's action, and the client's view.
12.5 Identify correct and incorrect statements or examples about the client view of exceptions received from an enterprise bean invocation.
======================
13) ENTERPRISE BEAN ENVIRONMENT
13.1 Identify correct and incorrect statements or examples about an enterprise bean's environment JNDI naming.
13.2 Identify correct and incorrect statements or examples about the purpose and/or use of DD elements for environment entrys, ejb references, resource manager connection factory references, including whether a given code listing is appropriate and correct with respect to a particular DD element.
13.3 Given a list of responsibilities, identify which belong to the deployer, bean provider, app assembler, container provider, sys admin, or any combination.
=======================
14) SECURITY
14.1 Identify correct and incorrect statements about the EJB support for security including security roles, security role references, and method permissions.
14.2 From a list of responsibilities, identify which belong to the app assembler, bean provider, deployer, container provider, or sys admin.
14.3 Given a code listing, determine whether it is legal and or appropriate for programmatically accessing a security context of a caller.
14.4 Given a security-related DD tag, identify correct and incorrect statements and/or code related to that tag.
=====================
Whew! That's it
In other topics, we can discuss exactly what is meant by some of those objectives. ALL are from the EJB 2.0 specification.
cheers,
Kathy
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
Nope I'll pass this year, but who knows I need objetives for 2004
Al Newman
Ranch Hand

Joined: Mar 30, 2003
Posts: 716
One answer omitted, Kathy. Pass percentage?
Or hasn't that been decided yet?


SCJP1.4, SCWCD
Theodore Casser
Ranch Hand

Joined: Mar 14, 2001
Posts: 1902

Wow. Looks like a lot to study.
Drag and drop questions... Didn't they have one or two of these on the SCWCD exam? Any chance we can get partial credit for those?


Theodore Jonathan Casser
SCJP/SCSNI/SCBCD/SCWCD/SCDJWS/SCMAD/SCEA/MCTS/MCPD... and so many more letters than you can shake a stick at!
Kathy Sierra
Cowgirl and Author
Ranch Hand

Joined: Oct 10, 2002
Posts: 1572
Howdy!
The pass percentage is decided as a result of the beta. In other words, if the beta turns out to be REALLY hard, the pass percentage will be lowered. If the beta is *easy* (which I doubt ) the pass percentage will be raised. That's one of the main purposes of the beta, and it's also why you won't know if you passed right away... the beta results are analyzed and some questions are thrown out, the pass percentage is decided, and then we can tell if you passed or not.
(of course, we're going to make sure that most of you -- if not all of you here -- will PASS
cheers,
Kathy
Kathy Sierra
Cowgirl and Author
Ranch Hand

Joined: Oct 10, 2002
Posts: 1572
Sorry, no partial credit for the drag-and-drops
But boy are they FUN. (At least *we* think so, right Kimberly? )
There are quite a few on this exam, and we'll post some examples to give you a feel for what they're like. A lot of them are more about matching -- for example, "Match the activities on the right with the EJB Role responsible for that activity" So on the right side you might have slots for things like, "Ensure that all environment entrys have valid values." or "Map security role references to security roles", and then on the left, boxes for "Deployer", "Bean Provider", "Application Assembler", etc. and you drag the activity and place it on to the Role most likely to be performing that activity.
Or another example might be a list of deployment descriptor elements, and you match up which role would be filling out those elements. Another one might be a lifecycle question, where you have six things you have to rearrange to put in the order in which they occur...
"Place these steps in the order in which they occur for a stateful session bean..."
And then you see things like, "Client calls create on a Home" "Container calls setSessionContext" "Container makes a new instance of the bean" "Container calls ejbCreate" "Container creates an EJBObject for the bean..." things like that.
There might be one where you have to place the EJB-QL in the right order to achieve a certain result. For example, you might see a table representing part of a database table, and then you might see a particular query return of, say, three out of the four names in the table. Then you have to compose the EJB-QL that would give you exactly that result (returning those three, and not two or four, of the names in the table, based on other values for columns in that table).
You'll like them
cheers,
Kathy
Kimberly Bobrow Jennery
Greenhorn

Joined: May 20, 2003
Posts: 13
Oh, *I* think they're the most fun, absolutely!
And no, unfortunately, no partial credit.
Yes ... yes ... you might see any of those that Kathy mentioned. For some quantity of "might" greater than zero
--Kimberly
Aaron Anders
Ranch Hand

Joined: Dec 30, 2002
Posts: 39
thanks for posting the exam details!
i've a few questions regarding the exam objectives
- does the exam leave out BMP implementations? (or will the exam contain any BMP based code listing?)
- will the exam cover CMP 1.1 (EJB Spec chapter 14)? or solely on CMP 2.0?
Ashish Sarin
author
Ranch Hand

Joined: Nov 20, 2000
Posts: 432
    
    5
Hello Kathy,
Does that mean the scenario is like :
1) 400 candidates take exam
2) The results of Beta is analyzed and a pass % is decided
3) Out of 400 candidates some pass and some fail
5) The pass ones get Certification and the failed ones get nothing
6) effectively less than 400 Certificates will be distributed (because a few candidates failed)
----------------------
if what i have written is true then it means that pass % depends only upon the performance of the first 400 candidates who take the exam ?
regards
ashish sarin


Author of
Getting started with Spring Framework
Portlets in Action
Spring Roo 1.1 Cookbook
Portlets blogSpring Roo blog
Kimberly Bobrow Jennery
Greenhorn

Joined: May 20, 2003
Posts: 13
Regarding earlier questions:
BMP is OUT.
CMP 1.1 is not covered in anyway. CMP 2.0 is assumed or expressly stated.
Hope that helps!
Kathy Sierra
Cowgirl and Author
Ranch Hand

Joined: Oct 10, 2002
Posts: 1572
Originally posted by Ashish Sarin:
Hello Kathy,
Does that mean the scenario is like :
1) 400 candidates take exam
2) The results of Beta is analyzed and a pass % is decided
3) Out of 400 candidates some pass and some fail
5) The pass ones get Certification and the failed ones get nothing
6) effectively less than 400 Certificates will be distributed (because a few candidates failed)
----------------------
if what i have written is true then it means that pass % depends only upon the performance of the first 400 candidates who take the exam ?

I think that's exactly right
But I expect that more than just a *few* will fail. It is not uncommon to have a fairly high failure rate for the betas, because people do not know what to expect. That's why we have just a few weeks here to get moving on this!
cheers,
Kathy
Dani Mazzuca
Ranch Hand

Joined: May 21, 2003
Posts: 70
Dear Kathy/Kimberly/Bert,
Reading the objectives of the SCBCD I noticed there is no mention to EJB patterns!
I know, I know, this subject is more related to the Architect exam. However, even the Web Developer certification exam includes 3 or 4 questions of a few Core J2EE patterns, and it has them included in the objectives.
Don’t you think that it would be important to include some of the Core J2EE patterns, like Business Delegate, Session Facade, Service Locator, Composite Entity, VO, etc, in the exam objectives, like the SCWCD do?
After all, it is very important to write a good EJB component code, but it is also very important to know how it will be interacting with the rest of the components in a "big picture".
Daniel
Kathy Sierra
Cowgirl and Author
Ranch Hand

Joined: Oct 10, 2002
Posts: 1572
Excellent point!
I suspect that this *will* happen in a future version of the exam... we did talk about it, and the patterns you mentioned could be the most likely candidates. But we had other reasons for sticking to only the specification this time (one of which is that the use and reasons for *some* of the patterns is changing as more folks shift to CMP 2.0)
Once the exam is out, feedback will tell us to what extent we might want to include patterns, recognizing that in the real world, the component developer is often playing the role of Application Assembler as well as Bean Provider, and may be designer (and architect!) as well.
For now, though, we're hoping that if you know the technology and the implications of the EJB programming model well enough to pass the exam, and you're a good OO programmer, you probably either *know* these patterns already or you'd come up with them yourself anyway. The relevant J2EE patterns are pretty intuitive once you know the technology -- for example, session facade is what most people end up doing anyway, once they understand transaction scoping in EJB, etc., even if they've never heard of the pattern. And Service Locator and Business Delegate make sense for most distributed services. Same with Value Object... we found most people reaching the same conclusion about the pros and cons of using something like a VO whether they'd heard of it or not.
But... that doesn't help ensure that everyone is speaking the same language, and I agree that it would be nice to know that a certified component developer was already familiar with specific patterns from the J2EE patterns group.
This would be very helpful feedback for you to put into your comments if you take the beta!
cheers,
Kathy
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8904

You have mentioned in your SCJP book that SCJP is one of toughest exam. How do you copmare it with the beta?
Originally posted by Kathy Sierra:
Howdy!
The pass percentage is decided as a result of the beta. In other words, if the beta turns out to be REALLY hard, the pass percentage will be lowered. If the beta is *easy* (which I doubt ) the pass percentage will be raised. That's one of the main purposes of the beta, and it's also why you won't know if you passed right away... the beta results are analyzed and some questions are thrown out, the pass percentage is decided, and then we can tell if you passed or not.
(of course, we're going to make sure that most of you -- if not all of you here -- will PASS
cheers,
Kathy


Groovy
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
thanks for the details , Kathy. Can you pleas ehighlight upon the point that how the sample of 400 beta testers will be sufficient for arriving at conclusions ? what thoughts you people have put with the figure 400 ?
regards
Kathy Sierra
Cowgirl and Author
Ranch Hand

Joined: Oct 10, 2002
Posts: 1572
Howdy
It is difficult to compare the SCJP and this SCBCD exam, because they are so different. To *me* the SCJP exam is harder, because of the way the questions are written. There are very subtle (and sometimes tricky) code examples throughout the exam. The SCBCD questions are more straightforward, and do not have nearly as much code as the SCJP. But... the SCBCD is hard because of the AMOUNT of information that you need to not only *know* but also *understand*. So it is the quantity that makes it tough, and the quality of that knowledge must go across all objectives.
But among the exam developers, there was much debate about whether the exam was hard or easy. Most of the developers believe it will be difficult. I started out thinking that it was *not* going to be that hard of an exam, but by the end I changed my mind. The beta will really be the deciding factor!
Now, as for the 400 number, that number comes from the independent psychometric evaluation company that analyzes not only the questions, but also all of the beta exam information. They do a huge amount of statistical analysis of the beta results to determine pass percentage, and difficulty level of each question, in order to make sure that everyone who takes the real exam has the same level of difficulty even though exam takers will see different questions.
Also, the psychometric evaluation determines which questions in the beta will be thrown out completely. For example, if people who are qualified, and doing well on the exam suddenly all seem to get one answer wrong, while people are are NOT qualified all get the answer RIGHT, then we know that the question is somehow leading the qualified people down the wrong path, so the answer is thrown out.
Apparently 400 is the number the psychometricians need to get a valid result. But this whole process is still somewhat of a mystery to me.
Meanwhile, I'm going to post a few more mock questions in another topic, and you can judge for yourself
cheers,
Kathy
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
thank you very , very much kathy for the explaination. you are right in saying that SCJP is more difficult. i am also thankful for your exlaination on pshycometrics. it would have been interesting to know abt. the sampling process.
in all , congrats to you and all the people at sun for this exercise.
manasa teja
Ranch Hand

Joined: May 27, 2002
Posts: 325
When actually, you guys are planning to take the exam.. and whats teh best date to give the exam ( i do nt want to miss the 400 number..)
thoughts?


MT
Ashik Uzzaman
Ranch Hand

Joined: Jul 05, 2001
Posts: 2370

I'll carefully observe responses here and if eveerything goes well, appear arounf 15th June. Will that be too late?


Ashik Uzzaman
Senior Member of Technical Staff, Salesforce.com, San Francisco, CA, USA.
Manish Hatwalne
Ranch Hand

Joined: Sep 22, 2001
Posts: 2578

Originally posted by Ashik uzzaman:
I'll carefully observe responses here and if eveerything goes well, appear arounf 15th June. Will that be too late?

I would say - YES! There are far too many people who've been doing EJB for quite some time now and I think they'd be rushing to the prometric on 6th itself.
- Manish
Ashik Uzzaman
Ranch Hand

Joined: Jul 05, 2001
Posts: 2370

Well, Manish. That's why I'll keep eye on here. In any case, I can't appear prior to 10th June!
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Exam Details
 
Similar Threads
Some doubts on - Mikalai Zaikin study material - Entity beans
SCBCD 5 - Exam Objectives
Mock Questions
Cleared SCBCD last week.. some notes
SCBCD Objectives