Enterprise JavaBeans

Preview:

DESCRIPTION

Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software. Objectives. Define client-server and multi-tier architecture Discuss the benefits and issues of distributed architectures Define software components - PowerPoint PPT Presentation

Citation preview

Copyright © 2002 ProsoftTraining. All rights reserved.

Enterprise JavaBeans

Copyright © 2002 ProsoftTraining. All rights reserved.

Lesson 1:Introduction to Server-Side Component

Software

Objectives

• Define client-server and multi-tier architecture• Discuss the benefits and issues of distributed

architectures• Define software components• Discuss server-side component architecture

and architecture solutions• Define J2EE technologies• Define EJB technology

Client-Server andMulti-Tiered Architectures

• Scalability• Extensibility• Security• Issues concerning distributed architectures

– Complexity– Communication/bandwidth– Maintenance costs

CentralizedMainframe Architecture

Two-TierArchitecture

Three-TierArchitecture

SoftwareComponents

• Component architectures– Component development tools– Container– Maintenance deployment tools

ComponentArchitecture Solutions

• .NET Enterprise Architecture• CORBA• J2EE

J2EETechnologies

• EJB• RMI/RMI-IIOP• JNDI• JDBC• JTA/JTS• JMS

• JSP• IDL• JavaMail• Connectors• XML

EnterpriseJavaBeans

• Differences between JavaBeans and Enterprise JavaBeans

• EJB development tasks– J2EE product provider– Bean developer– Application assembler– Deployer– System administrator– Tool provider

Summary

Define client-server and multi-tier architecture Discuss the benefits and issues of distributed

architectures Define software components Discuss server-side component architecture

and architecture solutions Define J2EE technologies Define EJB technology

Copyright © 2002 ProsoftTraining. All rights reserved.

Lesson 2:Overview of the Enterprise JavaBeans

Framework

Objectives

• Define an EJB server’s main components• Discuss EJB and client interaction• Identify EJB container services• Describe home objects and EJB objects• Compare session beans and entity beans• Define a deployment descriptor• Identify the EJB-JAR file

EJBArchitecture

• Primary components– EJB-compliant server– EJB-compliant container– Home object (bean factory)– EJB object (remote interface)– EJB

Example ofEJB Architecture

Client Interactionwith Enterprise JavaBeans

EJBContainer Services

• Distributed transaction management• Persistence• Security• Component resource and life cycle

management• Remote accessibility• Transparent location of components• Identification of components

The EJBHome Object

• Location transparency

TheEJB Object

Stubs

Skeletons

Types ofEnterprise JavaBeans

• Session beans– Stateful– Stateless

• Entity beans

DeploymentDescriptors

• An XML document that describes the properties of an EJB

TheEJB-JAR File

• Contains the class files for a bean, its home and remote interfaces, and the deployment descriptors

Summary

Define an EJB server’s main components Discuss EJB and client interaction Identify EJB container services Describe home objects and EJB objects Compare session beans and entity beans Define a deployment descriptor Identify the EJB-JAR file

Copyright © 2002 ProsoftTraining. All rights reserved.

Lesson 3:Creating Session Beans

Objectives

• Define the methods of the SessionBean interface

• Describe the EJBContext and the SessionContext interfaces

• Contrast stateful and stateless session beans• Explain how to write business methods for a

session bean• Discuss the enterprise bean’s life cycle

Objectives (cont’d)

• Create a session bean• Define the EJBHome and EJBObject interfaces

and their methods• Discuss the superclass for the home and

remote interfaces• Describe system and application exceptions• Deploy and connect to a session bean

Creating theEnterprise Bean Class

• ejbCreate methods• The SessionBean interface• The EJBContext interface• The SessionContext interface

Stateless andStateful Session Beans

• Stateless session beans– Do not keep track of any information from

one method call to the next• Stateful session beans

– Can change their state during a conversation with a client

Writing Business Methods for an Enterprise Bean

• Each EJB must declare the business methods that define the work that the EJB is designed to perform

The Home Interface

• Extends EJBHome• Provides mechanisms to create and remove

EJB components

The EJB Object

• Extends the EJBObject interface

Exceptions in EJB

• System exceptions• Application exceptions

Example:A Session Bean

• The Teller bean class• The Teller remote interface• The Teller home interface

The LibraryApplication

• The Book entity bean• The Patron entity bean• The CheckOutRecord entity bean• The CheckOut session bean• The CheckIn session bean

LibraryDBSchema

Introduction toEJB Deployment

• The deployment descriptor– DD XML tags

• Environment data– Environment property XML tags– Accessing environment data

• Using bean references– EJB reference XML tags– Using the EJB reference

• Using resource factories– Factory resource XML tags

AdditionalDeployment Concepts

• Assembler/deployer roles with the deployment descriptor

• EJB deployment in an EJB server

Summary

Define the methods of the SessionBean interface

Describe the EJBContext and the SessionContext interfaces

Contrast stateful and stateless session beans Explain how to write business methods for a

session bean Discuss the enterprise bean’s life cycle

Summary (cont’d)

Create a session bean Define the EJBHome and EJBObject interfaces

and their methods Discuss the superclass for the home and

remote interfaces Describe system and application exceptions Deploy and connect to a session bean

Copyright © 2002 ProsoftTraining. All rights reserved.

Lesson 4: Entity Beans

Objectives

• Discuss entity beans and their persistence management techniques

• Identify the methods of the EntityBean and EntityContext interfaces

• Define primary keys and their use• Describe the mechanics involved in entity

beans• Use finder methods• Write an entity bean and its required

interfaces

What Is an Entity Bean?

• The EntityBean interface• The EntityContext interface• Primary keys

Entity BeanArchitecture

• Creating entity beans• Invoking business methods on entity beans• Swapping entity beans• Invoking remove( ) on an entity bean• Life cycle of an entity bean instance

Life Cycle of anEntity Bean Instance

Bean-ManagedPersistence

• Using JDBC• Using a resource factory to connect to a

database

UsingResource Factories

Entity Bean Methods

• The ejbCreate( ) method• The ejbPostCreate( ) method• The ejbRemove( ) method• The ejbLoad( ) method• The ejbStore( ) method

UsingFinder Methods

• The ejbFindByPrimaryKey( ) method• Multiple row finders

The Remote Interface

• All remote interfaces extend javax.ejb.EJBObject

The Home Interface

• The Account entity bean

Summary

Discuss entity beans and their persistence management techniques

Identify the methods of the EntityBean and EntityContext interfaces

Define primary keys and their use Describe the mechanics involved in entity

beans Use finder methods Write an entity bean and its required

interfaces

Copyright © 2002 ProsoftTraining. All rights reserved.

Lesson 5:Enterprise JavaBeans Clients

Objectives

• Use JNDI to obtain a reference to the home object

• Instantiate an EJB instance using the home object

• Call an enterprise bean's business methods• Remove an enterprise bean• Write an EJB client

Using JNDI

Creatingan EJB Instance

• Invocation of business methods

Summary

Use JNDI to obtain a reference to the home object

Instantiate an EJB instance using the home object

Call an enterprise bean's business methods Remove an enterprise bean Write an EJB client

Copyright © 2002 ProsoftTraining. All rights reserved.

Lesson 6:Container-Managed

Persistence

Objectives

• Discuss entity beans and CMP• Explain the benefits and disadvantages of

using CMP• Describe the primary key as it relates to CMP• Define an ejbCreate() method that uses

CMP• Write the requisite methods for an entity bean

to use CMP

Introduction to Container-Managed Persistence (CMP)

• Benefits– Less code needed– Optimization techniques– More portable– Fewer bugs

• Disadvantages– Less flexibility– Inaccessible code

ThePrimary Key

• Primary key class– Must be serializable– Must be of a legal value type in RMI-IIOP

EJBMethods and CMP

• ejbCreate()• ejbRemove()• ejbLoad()• ejbStore()• Other methods• Finder methods

TheDeployment Descriptor

• EJB requirements• DD XML tags

The Deployment Descriptor and CMP

• Example: A CMP entity bean– The EmployeeEJB bean class– The home interface– The remote interface

Summary

Discuss entity beans and CMP Explain the benefits and disadvantages of

using CMP Describe the primary key as it relates to CMP Define an ejbCreate() method that uses

CMP Write the requisite methods for an entity bean

to use CMP

Copyright © 2002 ProsoftTraining. All rights reserved.

Lesson 7:Transactions in

Enterprise JavaBeans

Objectives

• Define transactions and explain their use• Distinguish transaction participants• Define transaction properties• Explain the EJB transactional model• Describe distributed transactions• Define transaction isolation levels• Discuss EJB transaction attributes

What Are Transactions?

• Operations or series of operations that are treated as single units of work

• Transactional management

Participantsin Transactions

• Transactional objects or applications• Transaction managers• Resources• Resource managers

Propertiesof Transactions

• Atomicity• Consistency• Isolation• Durability

EJBTransactional Models

• Flat transactional model• Nested transactional model

FlatTransactional Model

NestedTransactional Model

DistributedTransactions

• Two-phase commits• Transparent transaction control

– Transaction context

Isolation Levels

• Strict– Each concurrent transaction is isolated

from all other transactions• Nonstrict

– Increased transactional performance– Possibility of corrupted data

Transactions in EJB

• Transaction demarcation• Container-managed transactions

– Attributes• Defining CMT in the DD• Setting CMT in Deploytool

Container-Managed Transactions

• Container-managed transaction attributes• Which methods require transaction attributes?• The setRollbackOnly( ) and getRollbackOnly( ) methods

• Defining CMT in the DD• Setting CMT in Deploytool

Bean-ManagedTransactions

• UserTransaction interface– Properties– Methods

• Setting BMT in the DD• BMT and stateful session beans• BMT and stateless session beans

Summary

Define transactions and explain their use Distinguish transaction participants Define transaction properties Explain the EJB transactional model Describe distributed transactions Define transaction isolation levels Discuss EJB transaction attributes

Copyright © 2002 ProsoftTraining. All rights reserved.

Lesson 8:Enterprise JavaBeans Security

Objectives

• Define users in EJB security• Discuss principals in EJB security• Identify roles in EJB security• Describe the DD’s role in EJB security• Explain the EJB container’s role in EJB

security

Defining Users,Principals and Roles

• Overview of EJB security– Authentication– Authorization

• Authorization in EJB code

Example: Users,Principals and Roles

Security and the Deployment Descriptor

• The bean developer and the DD• The application assembler and the DD• The deployer and the DD

Summary

Define users in EJB security Discuss principals in EJB security Identify roles in EJB security Describe the DD’s role in EJB security Explain the EJB container’s role in EJB

security

Enterprise JavaBeans

Introduction to Server-Side Component Software

Overview of the Enterprise JavaBeans Framework

Creating Session Beans Entity Beans

EnterpriseJavaBeans

Enterprise JavaBeans Clients Container-Managed Persistence Transactions in Enterprise JavaBeans Enterprise JavaBeans Security

Recommended