Bert Ertman's Transactional Programming using EJB 3.1

Topics covered at EJB31-01-04

Dates coming soon

Bert Ertman's Transactional Programming using EJB 3.1 is a lab-intensive four day course that teaches you how to benefit from the new EJB programming model. You will learn to deal with complex issues like concurrency and state management, exception handling, interacting with messaging systems, persistence, offloading long running operations to asynchronous processes, and integration with web services. We will not only focus on technical features, but also on architectural aspects like non-functional requirements, dependency management, design considerations, and testability.

Java EE 6 is a greatly simplified programming model and it now has all the ingredients that make for a successful lightweight component based implementation. At last a decent implementation of a server-side component framework as part of the Java EE specification! No longer are you dependent on non-standard, proprietary, frameworks such as the Spring framework.

EJB 3.1 continues down the path where EJB 3.0 left off - to further simplify the EJB architecture by reducing its complexity from the developer's point of view, while also adding new functionality in response to the needs of the community.

Delegates will also receive a copy of the O'Reilly book Java EE 6 Pocket Guide during the course.

Learn how to:

  • Develop Transactional Java Enterprise Applications
  • Use the Java Persistence API for Persisting Data into a Relational Database
  • Leverage Contexts and Dependency Injection to Benefit from a Decoupled Programming Model
  • Apply Messaging Techniques for Asynchronous Transactional Processing
  • Expose Endpoints as SOAP or RESTful Web Services
  • Integration Test Enterprise Java Applications using Arquillian

About the Author

Bert Ertman

Bert Ertman is a Fellow at Luminis in the Netherlands. Besides his day job he is a Java User Group leader for NLJUG, the Dutch Java User Group (~4000 members). A frequent speaker on Java and Software Architecture related topics as well as a book author and member of the editorial advisory board for Dutch software development magazine: Java Magazine.

  • Course introduction

  • About Java EE 6 - History & background

  • Enterprise JavaBeans Basics

    • EJB Programming Model
    • Stateless Sessions Beans
    • Stateful Sessions Beans
    • Dependency Injection
    • Interceptors
    • Life-cycle Methods
    • Transactions
    • EJB Configuration
    • Hands-on labs
  • Enterprise JavaBeans Advanced

    • Deployment Revisited
    • EJB Lite and the Web Profile
    • Portable Global Naming
    • Component Testing using the Embeddable API
    • Singleton Beans and Concurrency Management
    • Application Hooks
    • Timer Service
    • Asynchronous Computation
    • Hands-on labs
  • Java Persistence API Basics

    • Object Relational Mapping Introduction
    • Entity Life-cycle
    • Basic Mapping
    • Relationships
    • Eager vs Lazy Loading
    • Cascading Operations
    • Embeddables and Collections
    • Life-cycle Events
    • Deployment and Configuration
    • Hands-on labs
  • Java Persistence API Advanced

    • Inheritance
    • Queries and JPQL
    • Criteria API
    • Locking Strategies
    • Caching
    • EJB/JPA Integration
    • Extended Persistence Context
    • Bean Validation
    • Hands-on labs
  • Contexts and Dependency Injection

    • Introduction to Contexts and Dependency Injection
    • Qualifiers
    • Scopes
    • Conversations
    • Stereotypes
    • Producer Methods
    • Mocking Services using Alternatives
    • Interceptors
    • Decorators
    • Firing and Observing Events
    • Resources
    • Hands-on labs
  • Message Driven Beans and the Java Messaging Service

    • Introduction to Messaging
    • Messaging Architectures
    • Messaging Domains
    • Enterprise JavaBeans and the Java Messaging Service
    • Life-cycle of a Message Driven Bean
    • Hands-on labs
  • Web Services

    • SOAP and WSDL in a nutshell
    • Exposing EJB Endpoints as SOAP Web Services using JAX-WS
    • Deployment
    • Consuming SOAP based Web Services
    • Introduction to REST
    • Resource Oriented Architecture
    • Introduction to JAX-RS
    • Exposing EJBs as Resources using JAX-RS
    • Deployment
    • Consuming REST based Web Services
    • Hands-on Labs
  • Integration Testing using Arquillian

    • Unit Testing Container
    • Bound Services
    • What to Test?
    • Unit Testing vs Integration Testing
    • Introduction to Arquillian
    • Hands-on labs


If you are an experienced Java Developer and you need to learn how to use the latest Java EE APIs to create transactional business applications, this course is for you!


To get the most out of Bert Ertman's Transactional Programming using EJB, you should have a firm understanding of the Java programming language. Prior experience with Java EE, J2EE or the Spring framework helps but is not required.

Bring your own hardware

Important- Please note: Delegates are requested to bring their own laptop to this course. If you are unable to bring a laptop for the course, please contact us.