Enterprise javabeans
Sponsored Links
This presentation is the property of its rightful owner.
1 / 87

Enterprise JavaBeans PowerPoint PPT Presentation


  • 106 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Enterprise JavaBeans

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

  • 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


EJB

RMI/RMI-IIOP

JNDI

JDBC

JTA/JTS

JMS

JSP

IDL

JavaMail

Connectors

XML

J2EETechnologies


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


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


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


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


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


Lesson 6:Container-ManagedPersistence


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


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


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


  • Login