EJB

Participants should have good knowledge of:

  • Core Java
  • XML
  • jboss server
  • Basic java security in java i.e. JAAS and security in web container
  • JMS

The EJB training course teaches Participants the skills they need to successfully develop all types of Enterprise JavaBeans, including session beans, entity beans, and message-driven beans.

By attending EJB workshop, Participants will learn to:

  • Understand the role of EJB in the broader Java EE platform
  • Describe the features that are implemented by an EJB container on behalf of application components
  • Build stateless session beans as part of a service layer or SOA
  • Build JPA entities to represent persistent data records within the Java application
  • Develop systems of entities to manage complex data models including 1:1, 1:N, and N:N associations
  • Manage transactional behavior of the application through declarative and programmatic techniques
  • Invoke EJB sessions from Java web applications
  • Use dependency injection and JNDI names to assemble complex web/EJB systems with minimal fuss and maximal flexibility
  • Implement message-driven beans to process queued messages asynchronously

COURSE AGENDA

  • ACID Transactions
  • The EntityTransaction Interface
  • EJB Transaction Attributes
  • Persistence Contexts
  • Extended Persistence Contexts
  • Isolation Levels
  • Application-Managed Persistence
  • The SessionSynchronization Interface
  • Impact on JMS and MDBs
  • Interface/Implementation
  • Split Stateful vs. Stateless
  • The @Stateless Annotation
  • Lifecycle and State Transitions
  • Session Context
  • The Stateful Annotation
  • State Transitions
  • Singletons and Pools
  • The Java Persistence API
  • Persistence Annotations
  • Configuration by Exception
  • ORM Annotations
  • The EntityManager
  • Acquiring and Using the EntityManager
  • persistence.xml
  • Enumerated and @Temporal Types
  • Asynchronous Messaging
  • The Java Message Service
  • Message-Driven Beans
  • Message Types
  • Injecting JMS Queues
  • Associations, Cardinality, and Ownership
  • Annotations
  • Unidirectional vs. Bidirectional
  • The Embedded Annotation
  • What is an EJB?
  • Types of Beans
  • Inversion of Control
  • The Bean-Type Annotations
  • Dependency Injection
  • The EJB Annotation
  • Development Cycle and Roles
  • Interdependent Systems
  • The Factory Pattern
  • The Service Locator Pattern
  • Dependency Injection
  • Injection by Magic?
  • Injection by Type
  • Injection by Name
  • The Component Environment
  • Deployment Descriptors
  • Impact on Stateful Session Beans
  • JNDI
  • Connecting to a Remote Bean
  • Using mappedName
  • Who Can Declare Dependencies
  • Java Exceptions
  • Remote Exceptions
  • EJB Exception Handling
  • System Exceptions
  • Application Exceptions
  • Transaction Control
  • Enterprise Applications
  • Containers and Objects
  • Three Containers
  • Remote Connectivity
  • Scalability and Availability
  • Security
  • Transaction Control
  • OO Query Languages
  • The FROM Clause and Directionality
  • The WHERE Clause
  • The SELECT Clause
  • Joins
  • Aggregates and Grouping
  • Ordering
  • The EJB Timer Service
  • The TimerService Interface
  • The Timer Interface
  • Timeout Methods
  • Timer Handles
  • Transactions and Timers
  • Authentication and Authorization
  • Declarative Authorization
  • Abstract Roles
  • Concrete Realms
  • Programmatic Authorization
  • Run-As Identity
  • EJB and AOP
  • The Intercepting Filter Pattern
  • EJB Interceptors
  • Annotating Interceptor Classes
  • The InvocationContext Interface
  • Binding Interceptors to Targets
  • Shared Lifecycle and Context
  • Interceptors and MDBs