Assume the following:
Missing package and import statements: If sample code do not include package
or import statements, and the question does not explicitly refer to these missing
statements, then assume that all sample code is in the same package, or import
statements exist to support them.
No file or directory path names for classes: If a question does not state the file
names or directory locations of classes, then assume one of the following,
whichever will enable the code to compile and run:
o All classes are in one file
o Each class is contained in a separate file, and all files are in one directory
Unintended line breaks: Sample code might have unintended line breaks. If you
see a line of code that looks like it has wrapped, and this creates a situation where
the wrapping is significant (for example, a quoted String literal has wrapped),
assume that the wrapping is an extension of the same line, and the line does not
contain a hard carriage return that would cause a compilation failure.
Code fragments: A code fragment is a small section of source code that is
presented without its context. Assume that all necessary supporting code exists
and that the supporting environment fully supports the correct compilation and
execution of the code shown and its omitted environment.
Descriptive comments: Take descriptive comments, such as "setter and getters
go here," at face value. Assume that correct code exists, compiles, and runs
successfully to create the described effect.
TOPICS
Introduction to Java EE
Gain an understanding of the Java Platform, Enterprise Edition (Java EE)
Examine the Java EE application architecture
Examine Java EE container services
Examine the EJB component types
Evaluate the EJB Lite Container
Compare Java EE application development with traditional enterprise application
development
Implementing Session Beans
Examine session beans
Identify the three types of session beans
Choose the correct session bean type given a business constraint
Create session beans Package and deploy session beans
Accessing Session Beans
Understand the purpose and role of JNDI in relation to EJB components
Configure JNDI environment properties
Use JNDI to look up a resource
Write code that receives a resource reference through injection
Create a session bean client
Create a session facade
Use dependency injection to locate an EJB
Advanced Session Bean Concepts
Understand the relationship between the EJB container and an EJB component
Describe the life cycle for stateless and stateful session beans
Implement session bean life cycle methods
Use a session bean to perform asynchronous communication
Have fine-grained control over packaging and deployment
Singleton Session Bean
Understand the advantages and disadvantages of using a singleton session bean
Create a singleton session bean
Describe the life cycle of a singleton session bean
Implement singleton session bean life cycle methods
Describe singleton concurrency access
Implement a concurrency management strategy
Developing Java EE Applications Using Messaging
Review JMS technology
Describe the roles of the participants in the JMS API messaging system
Create a queue message producer
Create a synchronous message consumer
Developing Message-Driven Beans
Understand the short-comings of using session beans as messaging consumers
Describe the properties and life cycle of message-driven beans
Create a JMS message-driven bean
Create life cycle event handlers for a JMS message-driven bean
Configure a JMS message-driven bean
Using Timer ServicesObjectives
Describe timer services
Create a timer notification callback
Process a timer notification callback Manage timer objects
Implementing Interceptor Classes and Methods
Describe interceptors and interceptor classes
Create a business interceptor method in the enterprise bean class
Create an interceptor class
Associate multiple business interceptor methods with an enterprise bean
Include life cycle callback interceptor methods in an interceptor class
Implementing Transactions
Describe transaction demarcation management
Implement CMT
Interact programmatically with an ongoing CMT transaction
Implement BMT Apply transactions to messaging
Implementing Security
Understand the Java EE security architecture
Authenticate the caller Examine Java EE authorization strategies
Use declarative authorization
Use programmatic authorization Examine the responsibilities of the deployer
Using EJB Technology Best Practices
Define best practices and state the benefits of using EJB technology best practices
Select and apply known patterns to Java EE application design
Incorporate effective exception handling into your Java EE application design
Package and Deploy EJB applications
Perform EJB Exception Handling