Your privacy matters: This site uses cookies to analyze site usage and provide social media features. Learn More.

Beginning and Advanced EJB3

EJB-105 (5 Days)

Request Pricing

Enterprise JavaBeans 3 (EJB3) Training Overview

This EJB3 training course gives the experienced Java developer a thorough grounding in Enterprise JavaBeans -- the Java EE standard for scalable, secure, and transactional business components. EJB 3.1 has reinvigorated this area of Java enterprise development, with dramatic improvements in ease of use and smooth integration with servlet-based or JSF web applications. This EJB3 training course treats the 3.1 specification, with a few notes on 2.1 compatibility but an emphasis on doing things the 3.1 way.Students get an overview of the EJB rationale and architecture, and then dive right into creating session beans and entities. The new dependency-injection features of EJB3 cause perhaps the most confusion, so we work through a chapter devoted explicitly to DI and JNDI, and basically how components find each other to make an application. We study entities and the Java Persistence API in depth, and get a look at message-driven beans as well. The latter phase of this EJB3 training course covers advanced topics including transactions, security, and interceptors.

Location and Pricing

Most Accelebrate courses are delivered as private, customized, on-site training at our clients' locations worldwide for groups of 3 or more attendees and are custom tailored to their specific needs. Please visit our client list to see organizations for whom we have delivered private in-house training. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor's or students' travel expenses. To receive a customized proposal and price quote for private training at your site or online, please contact us.

In addition, some courses are available as live, online classes for individuals. See a schedule of online courses.

Enterprise JavaBeans 3 (EJB3) Training Objectives

  • 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.
  • Declare and/or program transaction boundaries, persistence contexts, and exception handling to properly control persistence logic.
  • Apply role-based authorization policies to EJBs
  • Build interceptors to perform generic processing before, after, or around EJB business-method invocations
  • Use EJB timers to defer processing or establish regularly scheduled tasks

Enterprise JavaBeans 3 (EJB3) Training Outline

Expand All | Collapse All | Printer-Friendly

Overview
Enterprise Applications
Containers and Objects
Three Containers
Remote Connectivity
Scalability and Availability
Security
Transaction Control
Architecture
What is an EJB?
Types of Beans
Inversion of Control
The Bean-Type Annotations
Dependency Injection
The @EJB Annotation
The GlassFish Application Server
The Administration Console
Deploying EJB Applications
Configuring Data Sources
Development Cycle and Roles
Session Beans
Interface/Implementation Split
Stateful vs. Stateless
The @Stateless Annotation
Lifecycle and State Transitions
Session Context
The @Stateful Annotation
State Transitions
Singletons and Pools
Entities
The Java Persistence API
Persistence Annotations
Configuration by Exception
ORM Annotations
The EntityManager
Acquiring and Using the EntityManager
persistence.xml
@Enumerated and @Temporal Types
Associations
Associations, Cardinality, and Ownership
Annotations
Unidirectional vs. Bidirectional
The @Embedded Annotation
Java Persistence Query Language
OO Query Languages
The FROM Clause and Directionality
The WHERE Clause
The SELECT Clause
Joins
Aggregates and Grouping
Ordering
Dependency Injection
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
Message-Driven Beans
Asynchronous Messaging
The Java Message Service
Message-Driven Beans
Message Types
Injecting JMS Queues
JMS Configuration in GlassFish
Transactions
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
Exception Handling
Java Exceptions
Remote Exceptions
EJB Exception Handling
System Exceptions
Application Exceptions
Transaction Control
Security
Authentication and Authorization
Declarative Authorization
Abstract Roles
Concrete Realms
Configuring User Realms in GlassFish
Programmatic Authorization
Run-As Identity
Interceptors
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
Timers
The EJB Timer Service
The TimerService Interface
The Timer Interface
Timeout Methods
Timer Handles
Transactions and Timers
Conclusion
Request Pricing

Related Topics

Lecture percentage

40%

Lecture/Demo

Lab percentage

60%

Lab

Course Number:

EJB-105

Duration:

5 Days

Prerequisites:

All EJB3 training students should have solid Java programming skills and an understanding object-oriented Java and Java 5/6 language features. Experience with developing Java web applications is very helpful for this course, but not strictly required.

Training Materials:

All EJB3 training students receive a copy of EJB 3 in Action, related courseware, and copies of all files developed during the class.

Software Requirements:

  • Windows XP or later, or Mac OS X 10.6 or later (Linux or Solaris accommodated upon request)
  • JDK 1.7 or later (1.6 can be accommodated upon request)
  • JBoss 5.1.x or Glassfish 3 or later; WebLogic, WebSphere, and other containers can be accommodated upon request
  • Development IDE of your choice; Eclipse recommended

Contact Us:

Accelebrate’s training classes are available for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us.

Contact Us

Toll-free in US/Canada:
877 849 1850
International:
+1 678 648 3113

Toll-free in US/Canada:
866 566 1228
International:
+1 404 420 2491

925B Peachtree Street, NE
PMB 378
Atlanta, GA 30309-3918
USA

Subscribe to our Newsletter:

Never miss the latest news and information from Accelebrate:

Microsoft Partner

Please see our complete list of
Microsoft Official Courses

Recent Training Locations

Alabama

Huntsville

Montgomery

Birmingham

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

San Francisco

Oakland

San Jose

Orange County

Los Angeles

Sacramento

San Diego

Colorado

Denver

Boulder

Colorado Springs

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Miami

Jacksonville

Orlando

Saint Petersburg

Tampa

Georgia

Atlanta

Augusta

Savannah

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Ceder Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

Banton Rouge

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Hagerstown

Frederick

Massachusetts

Springfield

Boston

Cambridge

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Saint Paul

Minneapolis

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Reno

Las Vegas

New Jersey

Princeton

New Mexico

Albuquerque

New York

Buffalo

Albany

White Plains

New York City

North Carolina

Charlotte

Durham

Raleigh

Ohio

Canton

Akron

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Tulsa

Oklahoma City

Oregon

Portland

Pennsylvania

Pittsburgh

Philadelphia

Rhode Island

Providence

South Carolina

Columbia

Charleston

Spartanburg

Greenville

Tennessee

Memphis

Nashville

Knoxville

Texas

Dallas

El Paso

Houston

San Antonio

Austin

Utah

Salt Lake City

Virginia

Richmond

Alexandria

Arlington

Washington

Tacoma

Seattle

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Edmonton

Calgary

British Columbia

Vancouver

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2019 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.