By Mikalai Zaikin
The purpose of this document is to help in preparation for exam CX-310-090 (Sun Certified Business Component Developer for the Java 2 Platform, Enterprise Edition 1.3). This document should not be used as the only study material for SCBCD test. It covers all objective topics, but it is not enough. I tried to make this document as much accurate as possible, but if you find any error, please let me know.
Following are the exam objectives covered in this SCBCD guide
The purpose of this document is to help in preparation for exam CX-310-090 (Sun Certified Business Component Developer for the Java 2 Platform, Enterprise Edition 1.3). This document should not be used as the only study material for SCBCD test. It covers all objective topics, but it is not enough. I tried to make this document as much accurate as possible, but if you find any error, please let me know.
Following are the exam objectives covered in this SCBCD guide
- EJB Overview: Identify the use, benefits, and characteristics of Enterprise JavaBeans technology, for version 2.0 of the EJB specification. Identify EJB 2.0 container requirements. Identify correct and incorrect statements or examples about EJB programming restrictions. Match EJB roles with the corresponding description of the role's responsibilities, where the description may include deployment descriptor information. Given a list, identify which are requirements for an EJB-jar file.
- Client View of a Session Bean: Identify correct and incorrect statements or examples about the client view of a session bean's local and remote home interfaces, including the code used by a client to locate a session bean's home interface. Identify correct and incorrect statements or examples about the client view of a session bean's local and remote component interfaces.
- Session Bean Component Contract: Identify correct and incorrect statements or examples about session beans, including conversational state, the SessionBean interface, and create methods. Identify the use and the behavior of the ejbPassivate method in a session bean, including the responsibilities of both the container and the bean provider. 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's caller has a particular role, allow the instance to mark the current transaction as a rollback, retrieve the UserTransaction interface, prepare the instance for reuse following passivation, release resources prior to removal, identify the invoker of the bean instance's component interface, be notified that a new transaction has begun, and be notified that the current transaction has completed. Match the correct description about purpose and function to which session bean type they apply: stateless, stateful, or both. 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 EJB container provider. Given a list of requirements, identify those which are the requirements for a session bean class, a remote component interface, a remote home interface, create methods, business methods, a local component interface, and a local home interface.
- Session Bean Life Cycle: Identify correct and incorrect statements or examples about the life cycle of a stateful or stateless session bean instance. Given a list of methods for a stateful or stateless session bean class, define which of the following operations can be performed from each of those methods: SessionContext interface methods, UserTransaction methods, Java Naming and Directory Interface API (JNDI API) access to java:comp/env environment naming context, resource manager access, and other enterprise bean access. Given a list of scenarios, identify which will result in an ejbRemove method not being called on a bean instance.
- Client View of an Entity: Identify correct and incorrect statements or examples about the client of an entity bean's local and remote home interface, including viewing the code used to locate an entity bean's home interface and the home interface methods provided to the client. Identify correct and incorrect statements or examples about the client view of an entity bean's local component interface (EJBLocalObject). Identify correct and incorrect statements or examples about the client view of a entity bean's remote component interface (EJBObject). Identify the use, syntax, and behavior of, the following entity bean home method types, for Container-Managed Persistence (CMP); finder methods, create methods, remove methods, and home methods.
- Component Contract for Container-Managed Persistence (CMP): Identify correct and incorrect statements or examples about the entity bean provider's view and programming contract for CMP, including the requirements for a CMP entity bean. Identify correct and incorrect statements or examples about persistent relationships, remove protocols, and about the abstract schema type of a CMP entity bean. Identify correct and incorrect statements or examples about the rules and semantics for relationship assignment and relationship updating in a CMP bean. Match the name with a description of purpose or functionality, for each of the following deployment descriptor elements: ejb-name, abstract-schema-name, ejb-relation, ejb-relationship-role, cmr-field, cmr-field-type, and relationship-role-source. Identify correctly-implemented deployment descriptor elements for a CMP bean (including container-managed relationships). Identify the interfaces and methods a CMP entity bean must and must not implement.
- CMP Entity Bean Life Cycle : Identify correct and incorrect statements or examples about the life cycle of a CMP entity bean. From a list, identify the purpose, behavior, and responsibilities of the bean provider for a CMP entity bean, including but not limited to: setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActivate, ejbPassivate, ejbRemove, ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect. From a list, identify the responsibility of the container for a CMP entity bean, including but not limited to: setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActivate, ejbPassivate, ejbRemove, ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect.
- Entity Beans: From a list of behaviors, match them with the appropriate EntityContext method responsible for that behavior. Identify correct and incorrect statements or examples about an entity bean's primary key and object identity.
- EJB-QL: Identify correct and incorrect syntax for an EJB QL query including the SELECT, FROM, and WHERE clauses. Identify correct and incorrect statements or examples about the purpose and use of EJB QL. Identify correct and incorrect conditional expressions, BETWEEN expressions, IN expressions, LIKE expressions, and comparison expressions.
- Message-Driven Bean Component Contract: Identify correct and incorrect statements or examples about the client view of a message-driven bean, and the life cycle of a message-driven bean. Identify the interfaces and methods a JMS message-driven bean must implement. Identify the use and behavior of the MessageDrivenContext interface methods. From a list, identify the responsibility of the bean provider and the responsibility of the container provider for a message-driven bean.
- Transactions: Identify correct and incorrect statements or examples about EJB transactions, including bean-managed transaction demarcation and container-managed transaction demarcation. Identify correct and incorrect statements about the Application Assembler's responsibilities, including the use of deployment descriptor elements related to transactions and the identification of the methods of a particular bean type for which a transaction attribute must be specified. Given a list of transaction behaviors, match them with the appropriate transaction attributes. Given a list of responsibilities, identify whose which are the Container's with respect to transactions, including the handling of getRollbackOnly, setRollbackOnly, getUserTransaction, SessionSynchronzation callbacks, for both container and bean-managed transactions.
- Exceptions: Identify correct and incorrect statements or examples about exception handling in EJB. Given a list of responsibilities related to exceptions, identify those which are the bean provider's, and those which are the responsibility of the container provider. Be prepared to recognize responsibilities for which neither the bean provider or the container provider are responsible. Identify correct and incorrect statements or examples about application exceptions and system exceptions in entity beans, session beans, and message-driven beans. Given a particular method condition, identify the following: whether an exception will be thrown, the type of exception thrown, the container's action, and the client's view. Identify correct and incorrect statements or examples about the client's view of exceptions received from an enterprise bean invocation.
- Enterprise Bean Environment: Identify correct and incorrect statements or examples about an enterprise bean's environment JNDI API naming. Identify correct and incorrect statements about the purpose and use of the deployment descriptor elements for environment entries, EJB references, and resource manager connection factory references; including whether a given code listing is appropriate and correct with respect to a particular deployment descriptor element. Given a list of responsibilities, identify which belong to the deployer, bean provider, application assembler, container provider, system administrator, or any combination.
- Security Management: Identify correct and incorrect statements about the EJB support for security management including security roles, security role references, and method permissions. From a list of responsibilities, identify which belong to the application assembler, bean provider, deployer, container provider, or system administrator.Given a code listing, determine whether it is a legal and appropriate way to programmatically access a caller's security context. Given a security-related deployment descriptor tag, identify correct and incorrect statements and code related to that tag.