enterprise javabeans
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 PresentationTRANSCRIPT
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