Saturday Classes Java OCBCD/EJB 3.1 Certification Workshop – Aug 2014

2014-06-19 Alta
Java / J2EE Business Component Developer for ORACLE Certification (OCBCD) 

Prerequisites 
You should be at the Advanced Java Programmer level.
Intended Audience
This course covers EJB 3.0 required to use on a practical Java project and also to pass the SUN exam. We not only try to help you to pass the exam, but teach it in a way you can use it in the real world.
After this course you should be able to Pass the Sun Certified Business Component Developer Exam and also be able to use EJB’s in the way it was intended for your projects at work.
Further Training
Further Java Certification courses.
Course Material
Included in the course price.

Course Info

The EJB 3.0 Standard

1. Introduction

  • The Problem Domain
  • Breaking Up Responsibilities
  • Code Smart, Not Hard
  • The Enterprise JavaBeans™ 3.1 Specification

2. Component Types

  • Server-Side Component Types
  • Session Beans
  • Message-Driven Beans (MDBs)
  • Entity Beans
  • The Java Persistence Model
  • The Model Isn’t Everything

3. Container Services

  • Dependency Injection (DI)
  • Concurrency
  • Instance Pooling/Caching
  • Transactions
  • Security
  • Timers
  • Naming and Object Stores
  • Interoperability
  • Lifecycle Callbacks
  • Interceptors
  • Platform Integration
  • Bringing It Together

4. Developing Your First EJBs

  • Step 1: Preparation
  • Definitions
  • Naming Conventions
  • Conventions for the Examples
  • Step 2: Coding the EJB
  • The Contract
  • The Bean Implementation Class
  • Out-of-Container Testing
  • Integration Testing

5. The Stateless Session Bean

  • The XML Deployment Descriptor
  • SessionContext
  • EJBContext
  • The Lifecycle of a Stateless Session Bean
  • The Does Not Exist State
  • The Method-Ready Pool
  • Example: The EncryptionEJB
  • The Contract: Business Interfaces
  • Application Exceptions
  • Bean Implementation Class
  • Accessing Environment Properties (Injection and Lookup)
  • Asynchronous Methods

6. The Stateful Session Bean

  • The Lifecycle of a Stateful Session Bean
  • The Does Not Exist State
  • The Method-Ready State
  • The Passivated State
  • Example: The FileTransferEJB
  • The Contract: Business Interfaces
  • Exceptions
  • Bean Implementation Class
  • POJO Testing Outside the Container
  • Integration Testing

7. The Singleton Session Bean

  • Concurrency
  • Shared Mutable Access
  • Container-Managed Concurrency
  • Bean-Managed Concurrency
  • Lifecycle
  • Explicit Startup
  • Example: The RSSCacheEJB
  • Value Objects
  • The Contract: Business Interfaces
  • Bean Implementation Class

8. Message-Driven Beans

  • JMS and Message-Driven Beans
  • JMS as a Resource
  • JMS Is Asynchronous
  • JMS Messaging Models
  • Learning More About JMS
  • JMS-Based Message-Driven Beans
  • @MessageDriven
  • The Lifecycle of a Message-Driven Bean
  • The Does Not Exist State
  • The Method-Ready Pool
  • Connector-Based Message-Driven Beans
  • Message Linking
  • Session Beans Should Not Receive Messages
  • The JMS APIs
  • Example: The StatusUpdateEJBs

9. Persistence: EntityManager

  • Entities Are POJOs
  • Managed Versus Unmanaged Entities
  • Persistence Context
  • Packaging a Persistence Unit
  • The Persistence Unit Class Set
  • Obtaining an EntityManager
  • EntityManagerFactory
  • Obtaining a Persistence Context
  • Interacting with an EntityManager
  • Example: A Persistent Employee Registry
  • A Transactional Abstraction
  • Persisting Entities
  • Finding and Updating Entities
  • Removing Entities
  • refresh()
  • contains() and clear()
  • flush() and FlushModeType
  • Locking
  • unwrap() and getDelegate()

10. Mapping Persistent Objects

  • The Programming Model
  • The Employee Entity
  • The Bean Class
  • XML Mapping File
  • Basic Relational Mapping
  • Elementary Schema Mappings
  • Primary Keys
  • @Id
  • Table Generators
  • Sequence Generators
  • Primary-Key Classes and Composite Keys
  • Property Mappings
  • @Transient
  • @Basic and FetchType
  • @Lob
  • @Temporal
  • @Enumerated
  • @Embedded Objects

11. Entity Relationships

  • The Seven Relationship Types
  • One-to-One Unidirectional Relationship
  • One-to-One Bidirectional Relationship
  • One-to-Many Unidirectional Relationship
  • Many-to-One Unidirectional Relationship
  • One-to-Many Bidirectional Relationship
  • Many-to-Many Bidirectional Relationship
  • Many-to-Many Unidirectional Relationship
  • Mapping Collection-Based Relationships
  • Ordered List-Based Relationship
  • Map-Based Relationship
  • Detached Entities and FetchType
  • Cascading
  • PERSIST
  • MERGE
  • REMOVE
  • REFRESH
  • ALL
  • When to Use Cascading

12. Entity Inheritance

  • Single Table per Class Hierarchy
  • Advantages
  • Disadvantages
  • Table per Concrete Class
  • Advantages
  • Disadvantages
  • Table per Subclass
  • Advantages
  • Disadvantages
  • Mixing Strategies
  • Nonentity Base Classes
 13. Queries, the Criteria API, and JPA QL

  • Query API
  • Parameters
  • Date Parameters
  • Paging Results
  • Hints
  • FlushMode
  • JPA QL
  • Abstract Schema Names
  • Simple Queries
  • Selecting Entity and Relationship Properties
  • Constructor Expressions
  • The IN Operator and INNER JOIN
  • LEFT JOIN
  • Fetch Joins
  • Using DISTINCT
  • The WHERE Clause and Literals
  • The WHERE Clause and Operator Precedence
  • The WHERE Clause and Arithmetic Operators
  • The WHERE Clause and Logical Operators
  • The WHERE Clause and Comparison Symbols
  • The WHERE Clause and Equality Semantics
  • The WHERE Clause and BETWEEN
  • The WHERE Clause and IN
  • The WHERE Clause and IS NULL
  • The WHERE Clause and IS EMPTY
  • The WHERE Clause and MEMBER OF
  • The WHERE Clause and LIKE
  • Functional Expressions
  • The ORDER BY Clause
  • Bulk UPDATE and DELETE
  • Native Queries
  • Scalar Native Queries
  • Simple Entity Native Queries
  • Complex Native Queries
  • Named Queries
  • Named Native Queries

14. Entity Callbacks and Listeners

  • Callback Events
  • Callbacks on Entity Classes
  • Entity Listeners
  • Default Entity Listeners
  • Inheritance and Listeners

15. Security 

  • Authentication and Identity
  • Authorization
  • Example: A Secured School
  • The Business Interface
  • Assigning Method Permissions
  • Programmatic Security
  • The RunAs Security Identity

16. JNDI, the ENC, and Injection

  • Global JNDI
  • The JNDI ENC
  • What Can Be Registered in the JNDI ENC?
  • How Is the JNDI ENC Populated?
  • How Are Things Referenced from the ENC?
  • Reference and Injection Types
  • EJB References
  • EntityManagerFactory References
  • EntityManager References
  • Resource References
  • Resource Environment and Administered Objects
  • Environment Entries
  • Message Destination References

17. Transactions

  • ACID Transactions
  • Example: The BlackjackEJB
  • Helper EJBs for Testing Transactions
  • Is the BlackjackEJB Atomic?
  • Is the BlackjackEJB Consistent?
  • Is the BlackjackEJB Isolated?
  • Is the BlackjackEJB Durable?
  • Declarative Transaction Management
  • Transaction Scope
  • Transaction Attributes
  • Transaction Propagation
  • Isolation and Database Locking
  • Dirty, Repeatable, and Phantom Reads
  • Database Locks
  • Transaction Isolation Levels
  • Balancing Performance Against Consistency
  • Optimistic Locking
  • Programmatic Locking
  • Nontransactional EJBs
  • Explicit Transaction Management
  • Transaction Propagation in Bean-Managed Transactions
  • Heuristic Decisions
  • UserTransaction
  • Status
  • EJBContext Rollback Methods
  • Exceptions and Transactions
  • Application Exceptions Versus System Exceptions
  • Transactional Stateful Session Beans
  • The Transactional Method-Ready State
  • Conversational Persistence Contexts

18. Interceptors

  • Intercepting Methods
  • Interceptor Class
  • Applying Interceptors
  • Interceptors and Injection
  • Intercepting Lifecycle Events
  • Custom Injection Annotations
  • Exception Handling
  • Aborting a Method Invocation
  • Catch and Rethrow Exceptions
  • Interceptor Lifecycle
  • Bean Class @AroundInvoke Methods

19. Timer Service

  • Example: A Batch Credit Card Processing System
  • The Business Interface
  • javax.ejb.ScheduleExpression and @javax.ejb.Schedule
  • The Bean Implementation Class
  • The TimerService
  • The Timer
  • Transactions
  • Stateless Session Bean Timers
  • Message-Driven Bean Timers

20. EJB 3.1: Web Services Standards

  • Web Services Overview
  • XML Schema and XML Namespaces
  • XML Schema
  • XML Namespaces
  • SOAP 1.1
  • Web Services Styles
  • Exchanging SOAP Messages with HTTP
  • Now You See It, Now You Don’t
  • WSDL 1.1
  • The <definitions> Element
  • The <portType> and <message> Elements
  • The <types> Element
  • The <binding> and <service> Elements
  • UDDI 2.0
  • From Standards to Implementation

21. EJB 3.1 and Web Services

  • Accessing Web Services with JAX-RPC
  • Generating JAX-RPC Artifacts from WSDL
  • Calling a Service from an EJB
  • The <service-ref> Deployment Element
  • The JAX-RPC Mapping File
  • Defining a Web Service with JAX-RPC
  • The WSDL Document
  • The Service Endpoint Interface
  • The Stateless Bean Class
  • The Deployment Files
  • Using JAX-WS
  • The @WebService Annotation
  • The @WebMethod Annotation
  • The @SOAPBinding Annotation
  • The @WebParam Annotation
  • The @WebResult Annotation
  • The @OneWay Annotation
  • Separating the Web Services Contract
  • The Service Class
  • The Service Endpoint Interface
  • The @WebServiceRef Annotation
  • Other Annotations and APIs
  • JAXB
  • Taking JAXB Further
  • Conclusion

 

SCBCD Example

Open SCBCD Example

 

Duration and pricing
  • Full-time over 5 days (R8995 excl VAT)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R11995 excl Vat) or 8 Saturdays, 3 hour sessions) (R11995 excl Vat)
  • Distance-learning over up to 6 months (R9995 excl Vat)

Certificate

 
Upon successfully completion of this course we will issue you with an attendance certificate.
You may write our Mock exam which, if you pass will qualify you for the competency certificate.

Schedule

On the calender on this page below. This course is repeated approximately once every 6 weeks, unless a customised specific booking is requested via email.
If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our ‘Contact Us’ page.


Bookings

 

You can download the course registration form on our home page or by clicking here

 

Print Friendly, PDF & Email
Tags: , , , ,
Categories: Java