Will Harris

Return to Main Page


Java for Enterprise Systems Development

Course Description:

Enterprise JavaBeans (EJB) is a unique technology that leverages Java's architecture neutrality and APIs for accessing backend resources, allowing developers to encapsulate business logic into reusable components. These components can be easily integrated to create scalable, transactional, high-performance intranet or Internet services.

In this hands-on course, you gain experience developing EJBs and combining them into robust enterprise-level applications. You learn how to create Entity, Session and Message-driven EJBs. This course is valuable for those involved in designing and developing large, complex, distributed applications, such as developers, analysts, engineers and managers.

You Will Learn How To

  • Build reusable component-based distributed applications with EJB
  • Register and locate objects using Java Naming and Directory Interface (JNDI)
  • Integrate stateless and stateful Session EJBs
  • Develop and deploy Entity and Message-driven EJBs for your applications
  • Implement container-managed and Bean-managed persistence
  • Manage transactions in different types of EJBs

COURSE OUTLINE

This 5-day workshop provides extensive hands-on exercises to give you practical experience in creating, deploying and maintaining component-based applications with EJBs.

Exercises include:

  • Developing enterprise applications using various EJBs
  • Deploying EJBs on an application server
  • Providing business logic with Session and Entity EJBs
  • Creating a shopping cart using EJB persistence
  • Building EJB transaction support in an enterprise system
  • Building asynchronous processes with JMS and EJB
  • Restricting permissions with Access Control Lists (ACLs)
  • Integrating Web interaction with EJB

ROLE OF EJB IN ENTERPRISE DEVELOPMENT

Component-based applications

  • Multitier architecture
  • Motivation for component technology

EJB architecture

  • EJB framework
  • Different types of EJBs
  • Basic steps for writing a simple bean
  • Accessing a simple bean from a client application

ACCESSING ENTERPRISE RESOURCES WITH JAVA APIs

Locating remote objects

  • Registering objects with JNDI
  • Integrating JNDI with EJB
  • Dissecting the Remote Method Invocation (RMI) model
  • Incorporating RMI with EJB

Java database connectivity (JDBC)

  • Connecting to a database
  • Querying a database with SQL
  • Integrating JDBC with EJB

DEPLOYING ROBUST APPLICATIONS WITH EJBs

EJB server options

  • Exploring different application servers
  • Functionality of EJB-compliant servers

XML deployment descriptors

  • Controlling EJB features with descriptors
  • Creating descriptors with application server deployment tools
  • Analyzing deployment JAR files

BUILDING SESSION BEANS

Stateless and stateful Session EJBs

  • Differences between stateless and stateful
  • Determining when stateless and stateful Session EJBs are used
  • Implementing home and object interfaces
  • Encapsulating business logic in Session beans

Client-side interaction

  • Locating beans with JNDI
  • Referencing beans with EJB APIs
  • Applying the new connector interface

Life cycle management

  • Different states of a bean's life cycle
  • Achieving concurrency
  • Pooling
  • Activation
  • Access control

DEVELOPING ENTITY BEANS

Entity bean structure

  • Evaluating Entity bean features
  • Comparing and contrasting container-managed and bean-managed persistence

Container-managed persistence (CMP)

  • Delegating EJB persistence to the application server
  • Discovering available functionality with EJB-QL (query language)
  • Handling life cycle management issues

Bean-managed persistence (BMP)

  • Writing an EJB to achieve persistence
  • Synchronizing the bean with a relational database

MANAGING TRANSACTIONS

Declarative transaction management

  • Basic transaction properties
  • Defining transaction scope and attributes
  • Isolating and locking databases

Monitoring transactions from EJB

  • Explicit transaction management
  • Adding transaction support at deployment

IMPLEMENTING MESSAGE-DRIVEN EJBs

Asynchronous messaging

  • Sending messages with Java Messaging Service (JMS)
  • Building Message-driven EJBs with JMS

Container services

  • Life cycle management
  • Threading
  • Concurrency
  • Transactions

DESIGN AND PERFORMANCE STRATEGIES

  • Basic security options for EJB
  • Configuring roles and access control
  • Implementing security using the XML deployment descriptor
  • Designing EJBs to increase performance
  • Accessing EJBs via the Web

www.willharris.com