Вы находитесь на странице: 1из 17

INTERNET

CLIENTS Web
browser HTML
pages

Web JSP
EJB
browser pages

Web
browser Servlets

HTTP
Web Intranet
browser Services
clients
JDBC Database
connection pool

Web
browser
JSP

Servlets EJB
container
Web HTTP
browser services Web Logic
Server
Database
JDBC
Java connection pool
client

JNDI RMI
classes

Java EJB
client
Web Logic container

Server
Does Not Exist

unsetEntityContext() Class.newInstance()
object.finalize() setEntityContext()

Container initiated Container initiated

Pooled
create()
ejbPassivate() ejbActivate()
ejbRemove() ejbCreate()
ejbPostCreate()
remove()

Client initiated

Client initiated
Ready
ejbLoad()
business
method

Container initiated
ejbStore()
Does Not Exist
container initiated

container initiated

Class.newInstance()
setSessionContext()
ejbRemove() ejbCreate()

Method-Ready
client initiated Pool
business
method
instance throws system exception
client initiated
Does Not Exist
timeout
create()

Class.newInstance() timeout
ejbRemove() setSessionContext()
ejbCreate()
container initiated
remove()

ejbPassivate()
Method-Ready ejbActivate() Passive
client initiated non-tx business method
business
method

client initiated
EJB Server

EJB Container

EJB Home
Interface
Client EJB Bean
EJB Remote
Interface

Fig: 1
• Binded to jndi

JNDI

Lookup

Gets a stub of homeImpl


binded
client
homeImpl
Client

homeinterImpl_Stub
Create()
remoteinterImpl_stub

homeinterImpl_Skel

homeinterImpl
Create() Fig: 2
Client

remoteinterImpl_stub
(Business Method)

EJB Bean
(Business Method)
remoteinterImpl_Skel

remoteinterImpl
(Business Method) Fig: 3
TX_NOT_SUPPORTED

TX_BEAN_MANAGED
Type of Transaction
Enterprise Bean Support? TX_REQUIRES

TX_REQUIRES_NEW

TX_SUPPORTS

TX_MANDATORY

Session Bean Entity Bean

Bean-Managed or
Stateful or Session Container-Managed Re-entrant?
stateless? Synchronization Persistence?

Fig: 4
Operating System

EJB Server

EJB Container

EJB Bean

Fig: 5
Does Not Exist

unsetEntityContext()
Class.newInstance()
finalize()
setEntityContext()

Pooled

create(args)
ejbActivate() ejbPassivate() remove()
ejbCreate(args)
ejbRemove()
ejbPostCreate(args)

Ready
ejbLoad() ejbStore()

BUSINESS METHODS
VAMSOFT
Fig: 6
Relationship between create()
and ejbCreate().

[Diagram leaves out a few minor


steps, and happens to assume
bean-managed persistence] EJB Container/Server

1: create()

Client Code Home Object 2: ejbCreate()


6: return EJB
object
Entity Bean
4: return primary key
Instance
5: Create EJB object

EJB Object

3:Create database data

Entity bean data

Database
Fig: 7
Bean Class Remote Interface Home Interface

Interface Interface Interface


javax.ejb.EnterpriseBean java.rmi.Remote java.rmi.Remote

Extends

Interface Interface Interface Interface


SessionBean EntityBean javax.ejb.EJBObject javax.ejb.EJBHome

Implements

Interface Interface
Our S.B Our E.B
Customer CustomerHome

Symbol key
Extends
Class diagram for the Bean Class Class diagram for Remote and Home Interfaces
Fig: 8
Tier 1 Tier 2 Tier 3

Web File
Browser System

Java Middle-Tier Legacy


Application Server Application

Hand-Held Database
Device Server

Fig: 9
Web container
dB
client servlets JSP Taglib
XML
Rmi Java
jta jdbc jms Mail
iiopjndi mail jaf
J2EE server
Applet
app.ser
ver Java
EJB Container app
entity
session
corba
App. Rmi Java
client jndi jta jdbc jms jaf
iiop mail jndi

jms

Вам также может понравиться