From Twitter

DIFFERENCE BETWEEN SESSION BEANS AND ENTITY BEANS

DIFFERENCE BETWEEN SESSION BEANS AND ENTITY BEANS

To understand whether a business process or business entity should be implemented as a
stateful session bean or an entity bean, it is important to understand the life-cycle and
programming differences between them. These differences pertain principally to object
sharing, object state, transactions, and container failure and object recovery.
Object sharing pertains to entity objects. Only a single client can use a stateful session
bean, but multiple clients can share an entity object among themselves.

The container typically maintains a stateful session bean's object state in the main
memory, even across transactions, although the container may swap that state to
secondary storage when deactivating the session bean. The object state of an entity bean is
typically maintained in a database, although the container may cache the state in memory
during a transaction or even across transactions. Other, possibly non-EJB-based, programs
can access the state of an entity object that is externalised in the database. For example, a
program can run an SQL query directly against the database storing the state of entity
objects. In contrast, the state of a stateful session object is accessible only to the session
object itself and the container.
 
The state of an entity object typically changes from within a transaction. Sinces, its state
changes transactionally, the container can recover the state of an entity bean should the
transaction fail. The container does not maintain the state of a session object
transactionally. However, the bean developer may instruct the container to notify the
stateful session objects of the transaction boundaries and transaction outcome. These
notifications allow the session bean developer to synchronise manually the session
object's state with the transactions. For example, the stateful session bean object that
caches changed data in its instance variables may use the notification to write the cached
data to a database before the transaction manager commits the transaction


 Session objects are not recoverable; that is, they are not guaranteed to survive a container
failure and restart. If, a client has held a reference to a session object, that reference
becomes invalid after a container failure. (Some containers implement session beans as
recoverable objects, but this is not an EJB specification requirement.) An entity object, on
the other hand, survives a failure and restart of its container. If, a client holds a reference
to the entity object prior to the container failure, the client can continue to use this
reference after the container restarts.
The Table 1 depicts the significant differences in the life cycles of a stateful session bean
and an entity bean.


 




No comments:

Post a Comment

Labels

(MCS-031 (6) 2011 (5) 4nf (1) 5nf (1) ACCESS CONTROL In Relational Database (1) ALGORITHMICS (5) assignment 2014 2015 (1) AVAILABLE TOOLS & ALGORITHMS (5) BCA (1) BINARY SEARCH (1) Block Nested Loop Join (1) Build and Fix Model (1) BUILDING BLOCKS OF ALGORITHMS (1) CHARACTERISTICS OF AN ALGORITHM (2) Core Java (1) Data Communication Network Security (1) DATABASE SECURITY (1) EER tool (1) ELEMEMTARY ALGORITHMICS (2) ENHANCED ER TOOLS (1) EVOLUTION (1) EXAMPLE OF AN ALGORITHM (2) Indexed Nested-Loop Join (1) install servelet engine (1) INTRODUCTION (1) Iterative Enhancement Model (1) Java Server Pages (1) JDBC (1) JSP (2) LEVELS OF DATABASE SECURITY (1) MCA (9) MCA 051 (1) MCA 3rd Semester (8) MCA 4th Semester (1) MCA 5 sem (1) MCS-031 (7) MCS-031 : DESIGN AND ANALYSIS OF ALGORITHM (14) MCS-032 (1) MCS-033 (1) MCS-034 (2) MCS-035 (1) mcs-041 (2) MCS-042 (1) mcs-043 (2) mcs-052 solved assignment (1) MCSL-036 (2) Nested loop join (1) OBJECTIVES (1) Operating System (2) OUTLINE OF ALGORITHMICS (1) Principles of Management and Information Systems (1) PROBLEMS (1) QUERY PROCESSING AND EVALUATION (1) Query processing Optimisation (1) Question Papers (8) Related Topic (9) relational Database (1) SELECT OPERATION Query Processing (1) Servlet (1) Servlet Programme (1) Servlet Programming (1) SOFTWARE DEVELOPMENT MODELS (4) SOFTWARE ENGINEERING (4) Solution (7) Solved Assignment 2013 2014 (6) SOME PRE-REQUISITES AND Asymptotic Bounds ASYMPTOTIC BOUNDS INTRODUCTION (1) STATISTICAL DATABASE SECURITY (1) structure (1) SUMMARY (1) Waterfall Model (1) Write a C program to print the following triangle (1)