SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Enterprise
JavaBeans (EJB)
What are EJBs?
 They are components that can be connected to
 form a system
   They can represent data
   They can represent behavior
 Usually, EJBs fall into only one of these
 categories
 They are typically used in the server tier
 EJBs can be persisted
 EJBs can interact with other EJBs
Advantages of EJBs
 EJBs are reusable components
   Can be reused in different parts of the system
   Can be packaged into libraries and sold
 EJBs Can be combined visually using development IDEs
   E.g. Visual Age, Visual Café
 EJBs provide convenient abstractions so it do not require
 you to write:
   Multi-threaded, multiple access code
   Database access code (e.g. JDBC)
   Network communication code (i.e. it uses RMI) for client/server
   communication
   Network communication code for EJB to EJB communication
   Transaction management code

 EJBs from different businesses can interact easily
   This is because of their well-defined interfaces
EJB in the Big Picture of J2EE
EJB Communication

 EJBs use IIOP as the wire protocol
   Therefore, EJBs are compatible with RMI (i.e.,
   RMI over IIOP) and CORBA libraries
   Thus, you could write an EJB client in any
   language that supports CORBA
EJB as Client/Server Middleware
 Think of EJBs as just another Client/Server
 middleware like RMI, CORBA, or Web Services
   The EJB instance itself is the server
   EJBs have clients (objects that call its methods)
 One complication is that EJB clients can be:
   Java Applets and Applications (using RMI or CORBA)
   Non-Java applications (using CORBA)
   JSPs and Servlets (using RMI or CORBA)
   Other EJBs (using RMI or CORBA)
EJBs & 3-Tiered Architectures
     In enterprise systems, EJB clients are
     usually: Servlets, JSPs, or Other EJBs
Client Tier         Server Tier      Database Tier




   Applet               EJBs


                                      Database


 Web Page          Servlets & JSPs
EJBs & Multi-Tiered Architectures




                EJBs         3rd Party
 Applet                      EJBs




Web Page                     Database
           Servlets & JSPs
How EJBs Change Things
EJBs are most suitable for developing business
logic and data manipulation
  If all of the business logic operations and data
  manipulations are done using EJBs, the JSPs and
  Servlets will be focused mainly on displaying the
  results of those operations
Session EJBs: Used to represent system behavior (i.e.
business logic)
  e.g. Storing products to purchase in the shopping cart
Entity EJBs: Used to represent & manipulate system data
  e.g. Finding products that match a search term
Application Servers
Containers where EJBs (and JSPs and servlets)
are executed
Provide EJB functionality, including:
  Persistence through databases (using JDBC)
  Transactions (using Java Transaction Service)
Can provide advanced features, including:
  Load balancing
  Database connection pooling
Here are the major application servers:
  SJS AP, WebLogic (BEA), Internet Application
  Server or iAS (Oracle), WebSphere (IBM)
Alternatives to EJBs
 Web Services are one of the technologies
 competing with EJBs
   Web services use the SOAP protocol to exchange
   information with some server
     SOAP uses an XML format to exchange request and
     response information via HTTP
     Due to SOAP's well-defined protocol, Web Services can be
     used to exchange information between businesses (B2B)
   Web services provide one or more remote method that
   can be accessed easily from other applications
Alternatives to EJBs
CORBA objects provide some functionality similar
to EJBs:
  Persistence (of CORBA object data)
  Transactions (between CORBA objects)
  Security (between CORBA objects)
CORBA and EJBs are closely related, in fact, they
use the same wire protocol:
  IIOP
In some sense, EJBs can be considered to be an
enhanced version of CORBA
  Except that EJBs can only be created in Java
EJB Types
Types of Enterprise Beans
 Session beans:
   Also called business process objects
   They represent the business logic of the system
   Their lifetime is usually an entire session
      When a session is done, the session bean expires
      i.e. Session bean instances exist as long as a specific
      user is using the system

 Entity beans:
   Also called business data objects
   They represent persistent data
      Often the data persistence is managed through a
      database, using JDBC
Subtypes of Session Beans

 Stateful:
   Used for operations that require multiple
   requests to be completed
   Maintain data between requests
 Stateless:
   Used for operations that can be performed in
   a single request
   Do not maintain persistent data between
   subsequent requests from a given client
Entity Beans Explained

  Entity beans represent data in the system
     In addition, entity beans are used to search for, modify, create and
     delete data
     Usually, this data resides in a relational database
     Each entity bean typically represents a single row in some database
     table
  An entity bean instance exists as long as the data is being
  used
     When the EJB client is done with the instance, the entity bean
     instance usually returns to a bean pool
  The client for an entity bean is typically a session bean, since
  behavior usually involves the manipulation of data
Subtypes of Entity Beans

 Bean-managed persistence:
   The entity bean handles its own persistence
     Often via JDBC (or SQL/J) to a database
   The bean author is required to write persistence-
   management code into the bean code itself
 Container-managed persistence:
   The entity bean’s persistence is automatically maintained
   by the EJB container
   This is the easiest way, and often EJB containers do a
   better job because they provide extra features like
   connection pooling, load balancing, etc.
   This method is known to be extremely reliable, since
   CMP code is usually well tested
   Persistence logic is kept in “declarative code” in the EJB
   deployment descriptor
Session and Entity Beans
An EJB Autopsy

 The remote interface
   Describes the interface provided to EJB clients
 The enterprise bean class
   The implementation of the bean
 The home interface
   Describe how client can create, find, and
   remove EJB instances
EJP Autopsy
The Remote Interface
  Describes the interface provided to EJB clients
  Must extends javax.ejb.EJBObject
  This interface usually provides a number of
  accessor methods (getters and setters) for the
  bean’s fields, as well as all business methods
The Enterprise Bean Class
The implementation of the bean
This is where the methods exported in the remote
interface are defined
Business logic and data operations occur here
EJB classes must implement one of the following
interfaces: javax.ejb.SessionBean, javax.ejb.EntityBean
The Home Interface

The home interface describes any methods not
requiring access to a particular bean instance
  Methods for creating, finding, and deleting bean
  instances
Must extend javax.ejb.EJBHome
EJB Naming Conventions

   Enterprise bean class:
     <name>Bean, e.g. CustomerBean
   Home interface:
     <name>Home, e.g. CustomerHome
   Remote interface:
     <name>, e.g. Customer
EJB Client Operation

 An EJB client uses an EJB by first locating its
 home object
   The methods on this home object are declared in the
   home interface
   The home object is located using JNDI
      The client tells JNDI what name the EJB goes by, and
      JNDI gives a home interface for that EJB
 Once a home object is obtained, the client calls
 some home methods to access the EJB
   e.g. The client may call “create” to create a new
   instance, “remove” to delete an instance, “findXYZ” to
   search for EJBs.
References
 Developing Enterprise Applications Using the J2EE Platform,
 http://java.sun.com/developer/onlineTraining/J2EE/Intro2/j2ee.html

 Sang Shin, EJB Overview, http://www.javapassion.com/j2ee

Contenu connexe

Tendances

Tendances (20)

EJB 3.0 - Yet Another Introduction
EJB 3.0 - Yet Another IntroductionEJB 3.0 - Yet Another Introduction
EJB 3.0 - Yet Another Introduction
 
Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)
 
Ch4 ejb
Ch4 ejbCh4 ejb
Ch4 ejb
 
Enterprise java beans
Enterprise java beansEnterprise java beans
Enterprise java beans
 
Session 1 Tp1
Session 1 Tp1Session 1 Tp1
Session 1 Tp1
 
Enterprise Java Beans 3 - Business Logic
Enterprise Java Beans 3 - Business LogicEnterprise Java Beans 3 - Business Logic
Enterprise Java Beans 3 - Business Logic
 
EJB 2
EJB 2EJB 2
EJB 2
 
EJB3 Advance Features
EJB3 Advance FeaturesEJB3 Advance Features
EJB3 Advance Features
 
enterprise java bean
enterprise java beanenterprise java bean
enterprise java bean
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
 
Lecture 8 Enterprise Java Beans (EJB)
Lecture 8  Enterprise Java Beans (EJB)Lecture 8  Enterprise Java Beans (EJB)
Lecture 8 Enterprise Java Beans (EJB)
 
EJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkEJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLink
 
EJB .
EJB .EJB .
EJB .
 
EJB Interview Questions
EJB Interview QuestionsEJB Interview Questions
EJB Interview Questions
 
Core jdbc basics
Core jdbc basicsCore jdbc basics
Core jdbc basics
 
Ejb3.1 for the starter
Ejb3.1 for the starterEjb3.1 for the starter
Ejb3.1 for the starter
 
J2 ee architecture
J2 ee architectureJ2 ee architecture
J2 ee architecture
 
EJB 3.1 by Bert Ertman
EJB 3.1 by Bert ErtmanEJB 3.1 by Bert Ertman
EJB 3.1 by Bert Ertman
 
creating jdbc connection
creating jdbc connectioncreating jdbc connection
creating jdbc connection
 
creating jdbc connection
creating jdbc connectioncreating jdbc connection
creating jdbc connection
 

En vedette

Research paper
Research paperResearch paper
Research paperemmaboo2
 
Strategic management
Strategic managementStrategic management
Strategic managementJasleen Kaur
 
Big bazar pankaj tiwari
Big bazar pankaj tiwariBig bazar pankaj tiwari
Big bazar pankaj tiwariPankaj Tiwari
 
Tips to Improve Your Klout Score
Tips to Improve Your Klout ScoreTips to Improve Your Klout Score
Tips to Improve Your Klout Scoregraspitmarketing
 
Ais เหมา เหมา!
Ais เหมา เหมา!Ais เหมา เหมา!
Ais เหมา เหมา!phattana2529
 
Lorenzo Magnani & Evandro Agazzi's Comparison of Philosophy
Lorenzo Magnani & Evandro Agazzi's Comparison of PhilosophyLorenzo Magnani & Evandro Agazzi's Comparison of Philosophy
Lorenzo Magnani & Evandro Agazzi's Comparison of PhilosophyJillian May Peralta
 
Assassination on the Ancient Nile
Assassination on the Ancient Nile Assassination on the Ancient Nile
Assassination on the Ancient Nile Kathy Page-Applebee
 
160 design ideas
160 design ideas160 design ideas
160 design ideasJenny Chang
 
Smart board lesson
Smart board lessonSmart board lesson
Smart board lessonerdavisMAT
 
How to Fight the Super Bugs
How to Fight the Super Bugs How to Fight the Super Bugs
How to Fight the Super Bugs Cindy McAsey
 
Unraveling Our Data
Unraveling Our DataUnraveling Our Data
Unraveling Our DataChar Simser
 
Healthcare Monitor: 2015 Year in Review
Healthcare Monitor: 2015 Year in ReviewHealthcare Monitor: 2015 Year in Review
Healthcare Monitor: 2015 Year in ReviewCorporate Insight
 
File (1)
File (1)File (1)
File (1)ludrudy
 
SACOSS conference june 2012
SACOSS conference june 2012SACOSS conference june 2012
SACOSS conference june 2012quandongpie
 
Smg i by raja uang
Smg i by raja uangSmg i by raja uang
Smg i by raja uangrajauang999
 
Current Approaches in European Drug related Health Care Policy: Relative Effe...
Current Approaches in European Drug related Health Care Policy: Relative Effe...Current Approaches in European Drug related Health Care Policy: Relative Effe...
Current Approaches in European Drug related Health Care Policy: Relative Effe...Johan Strömquist
 

En vedette (19)

Research paper
Research paperResearch paper
Research paper
 
Resume
ResumeResume
Resume
 
Strategic management
Strategic managementStrategic management
Strategic management
 
Ppt pump thresher
Ppt pump thresherPpt pump thresher
Ppt pump thresher
 
Big bazar pankaj tiwari
Big bazar pankaj tiwariBig bazar pankaj tiwari
Big bazar pankaj tiwari
 
Tips to Improve Your Klout Score
Tips to Improve Your Klout ScoreTips to Improve Your Klout Score
Tips to Improve Your Klout Score
 
Ais เหมา เหมา!
Ais เหมา เหมา!Ais เหมา เหมา!
Ais เหมา เหมา!
 
Lorenzo Magnani & Evandro Agazzi's Comparison of Philosophy
Lorenzo Magnani & Evandro Agazzi's Comparison of PhilosophyLorenzo Magnani & Evandro Agazzi's Comparison of Philosophy
Lorenzo Magnani & Evandro Agazzi's Comparison of Philosophy
 
Assassination on the Ancient Nile
Assassination on the Ancient Nile Assassination on the Ancient Nile
Assassination on the Ancient Nile
 
160 design ideas
160 design ideas160 design ideas
160 design ideas
 
Smart board lesson
Smart board lessonSmart board lesson
Smart board lesson
 
How to Fight the Super Bugs
How to Fight the Super Bugs How to Fight the Super Bugs
How to Fight the Super Bugs
 
Unraveling Our Data
Unraveling Our DataUnraveling Our Data
Unraveling Our Data
 
Healthcare Monitor: 2015 Year in Review
Healthcare Monitor: 2015 Year in ReviewHealthcare Monitor: 2015 Year in Review
Healthcare Monitor: 2015 Year in Review
 
File (1)
File (1)File (1)
File (1)
 
SACOSS conference june 2012
SACOSS conference june 2012SACOSS conference june 2012
SACOSS conference june 2012
 
Smg i by raja uang
Smg i by raja uangSmg i by raja uang
Smg i by raja uang
 
Current Approaches in European Drug related Health Care Policy: Relative Effe...
Current Approaches in European Drug related Health Care Policy: Relative Effe...Current Approaches in European Drug related Health Care Policy: Relative Effe...
Current Approaches in European Drug related Health Care Policy: Relative Effe...
 
Kidpro1
Kidpro1Kidpro1
Kidpro1
 

Similaire à Ejb intro

Aravind vinnakota ejb_architecture
Aravind vinnakota ejb_architectureAravind vinnakota ejb_architecture
Aravind vinnakota ejb_architecturetayab4687
 
ADVANCED JAVA MODULE I & II.ppt
ADVANCED JAVA MODULE I & II.pptADVANCED JAVA MODULE I & II.ppt
ADVANCED JAVA MODULE I & II.pptrani marri
 
Ejb - september 2006
Ejb  - september 2006Ejb  - september 2006
Ejb - september 2006achraf_ing
 
J2EE - Practical Overview
J2EE - Practical OverviewJ2EE - Practical Overview
J2EE - Practical OverviewSvetlin Nakov
 
Session 3 Tp3
Session 3 Tp3Session 3 Tp3
Session 3 Tp3phanleson
 
Abstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricksAbstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and trickstimtow
 
Real world java_ee_patterns
Real world java_ee_patternsReal world java_ee_patterns
Real world java_ee_patternsAlassane Diallo
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)vikram singh
 
J2ee web services(overview)
J2ee web services(overview)J2ee web services(overview)
J2ee web services(overview)Prafull Jain
 
Session 6 Tp6
Session 6 Tp6Session 6 Tp6
Session 6 Tp6phanleson
 
Skillwise EJB3.0 training
Skillwise EJB3.0 trainingSkillwise EJB3.0 training
Skillwise EJB3.0 trainingSkillwise Group
 
The Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans TechnologyThe Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans TechnologySimon Ritter
 
Enterprise java beans(ejb)
Enterprise java beans(ejb)Enterprise java beans(ejb)
Enterprise java beans(ejb)vikram singh
 

Similaire à Ejb intro (20)

Ejb intro
Ejb introEjb intro
Ejb intro
 
Aravind vinnakota ejb_architecture
Aravind vinnakota ejb_architectureAravind vinnakota ejb_architecture
Aravind vinnakota ejb_architecture
 
ADVANCED JAVA MODULE I & II.ppt
ADVANCED JAVA MODULE I & II.pptADVANCED JAVA MODULE I & II.ppt
ADVANCED JAVA MODULE I & II.ppt
 
J2 Ee Overview
J2 Ee OverviewJ2 Ee Overview
J2 Ee Overview
 
Ejb - september 2006
Ejb  - september 2006Ejb  - september 2006
Ejb - september 2006
 
J2EE - Practical Overview
J2EE - Practical OverviewJ2EE - Practical Overview
J2EE - Practical Overview
 
Introcution to EJB
Introcution to EJBIntrocution to EJB
Introcution to EJB
 
Session 3 Tp3
Session 3 Tp3Session 3 Tp3
Session 3 Tp3
 
Unite5-EJB-2019.ppt
Unite5-EJB-2019.pptUnite5-EJB-2019.ppt
Unite5-EJB-2019.ppt
 
Abstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricksAbstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricks
 
Virtual classroom
Virtual classroomVirtual classroom
Virtual classroom
 
Real world java_ee_patterns
Real world java_ee_patternsReal world java_ee_patterns
Real world java_ee_patterns
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)
 
Java j2eeTutorial
Java j2eeTutorialJava j2eeTutorial
Java j2eeTutorial
 
J2ee web services(overview)
J2ee web services(overview)J2ee web services(overview)
J2ee web services(overview)
 
Session 6 Tp6
Session 6 Tp6Session 6 Tp6
Session 6 Tp6
 
Skillwise EJB3.0 training
Skillwise EJB3.0 trainingSkillwise EJB3.0 training
Skillwise EJB3.0 training
 
The Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans TechnologyThe Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans Technology
 
B Shilpa
B ShilpaB Shilpa
B Shilpa
 
Enterprise java beans(ejb)
Enterprise java beans(ejb)Enterprise java beans(ejb)
Enterprise java beans(ejb)
 

Plus de vantinhkhuc (20)

Url programming
Url programmingUrl programming
Url programming
 
Servlets intro
Servlets introServlets intro
Servlets intro
 
Servlet sessions
Servlet sessionsServlet sessions
Servlet sessions
 
Security overview
Security overviewSecurity overview
Security overview
 
Rmi
RmiRmi
Rmi
 
Md5
Md5Md5
Md5
 
Lecture17
Lecture17Lecture17
Lecture17
 
Lecture11 b
Lecture11 bLecture11 b
Lecture11 b
 
Lecture10
Lecture10Lecture10
Lecture10
 
Lecture9
Lecture9Lecture9
Lecture9
 
Lecture6
Lecture6Lecture6
Lecture6
 
Jsse
JsseJsse
Jsse
 
Jsf intro
Jsf introJsf intro
Jsf intro
 
Jsp examples
Jsp examplesJsp examples
Jsp examples
 
Jpa
JpaJpa
Jpa
 
Ejb examples
Ejb examplesEjb examples
Ejb examples
 
Corba
CorbaCorba
Corba
 
Ajax
AjaxAjax
Ajax
 
Chc6b0c6a1ng 12
Chc6b0c6a1ng 12Chc6b0c6a1ng 12
Chc6b0c6a1ng 12
 
Ch06
Ch06Ch06
Ch06
 

Ejb intro

  • 2. What are EJBs? They are components that can be connected to form a system They can represent data They can represent behavior Usually, EJBs fall into only one of these categories They are typically used in the server tier EJBs can be persisted EJBs can interact with other EJBs
  • 3. Advantages of EJBs EJBs are reusable components Can be reused in different parts of the system Can be packaged into libraries and sold EJBs Can be combined visually using development IDEs E.g. Visual Age, Visual Café EJBs provide convenient abstractions so it do not require you to write: Multi-threaded, multiple access code Database access code (e.g. JDBC) Network communication code (i.e. it uses RMI) for client/server communication Network communication code for EJB to EJB communication Transaction management code EJBs from different businesses can interact easily This is because of their well-defined interfaces
  • 4. EJB in the Big Picture of J2EE
  • 5.
  • 6. EJB Communication EJBs use IIOP as the wire protocol Therefore, EJBs are compatible with RMI (i.e., RMI over IIOP) and CORBA libraries Thus, you could write an EJB client in any language that supports CORBA
  • 7. EJB as Client/Server Middleware Think of EJBs as just another Client/Server middleware like RMI, CORBA, or Web Services The EJB instance itself is the server EJBs have clients (objects that call its methods) One complication is that EJB clients can be: Java Applets and Applications (using RMI or CORBA) Non-Java applications (using CORBA) JSPs and Servlets (using RMI or CORBA) Other EJBs (using RMI or CORBA)
  • 8. EJBs & 3-Tiered Architectures In enterprise systems, EJB clients are usually: Servlets, JSPs, or Other EJBs Client Tier Server Tier Database Tier Applet EJBs Database Web Page Servlets & JSPs
  • 9. EJBs & Multi-Tiered Architectures EJBs 3rd Party Applet EJBs Web Page Database Servlets & JSPs
  • 10. How EJBs Change Things EJBs are most suitable for developing business logic and data manipulation If all of the business logic operations and data manipulations are done using EJBs, the JSPs and Servlets will be focused mainly on displaying the results of those operations Session EJBs: Used to represent system behavior (i.e. business logic) e.g. Storing products to purchase in the shopping cart Entity EJBs: Used to represent & manipulate system data e.g. Finding products that match a search term
  • 11. Application Servers Containers where EJBs (and JSPs and servlets) are executed Provide EJB functionality, including: Persistence through databases (using JDBC) Transactions (using Java Transaction Service) Can provide advanced features, including: Load balancing Database connection pooling Here are the major application servers: SJS AP, WebLogic (BEA), Internet Application Server or iAS (Oracle), WebSphere (IBM)
  • 12. Alternatives to EJBs Web Services are one of the technologies competing with EJBs Web services use the SOAP protocol to exchange information with some server SOAP uses an XML format to exchange request and response information via HTTP Due to SOAP's well-defined protocol, Web Services can be used to exchange information between businesses (B2B) Web services provide one or more remote method that can be accessed easily from other applications
  • 13. Alternatives to EJBs CORBA objects provide some functionality similar to EJBs: Persistence (of CORBA object data) Transactions (between CORBA objects) Security (between CORBA objects) CORBA and EJBs are closely related, in fact, they use the same wire protocol: IIOP In some sense, EJBs can be considered to be an enhanced version of CORBA Except that EJBs can only be created in Java
  • 15. Types of Enterprise Beans Session beans: Also called business process objects They represent the business logic of the system Their lifetime is usually an entire session When a session is done, the session bean expires i.e. Session bean instances exist as long as a specific user is using the system Entity beans: Also called business data objects They represent persistent data Often the data persistence is managed through a database, using JDBC
  • 16. Subtypes of Session Beans Stateful: Used for operations that require multiple requests to be completed Maintain data between requests Stateless: Used for operations that can be performed in a single request Do not maintain persistent data between subsequent requests from a given client
  • 17. Entity Beans Explained Entity beans represent data in the system In addition, entity beans are used to search for, modify, create and delete data Usually, this data resides in a relational database Each entity bean typically represents a single row in some database table An entity bean instance exists as long as the data is being used When the EJB client is done with the instance, the entity bean instance usually returns to a bean pool The client for an entity bean is typically a session bean, since behavior usually involves the manipulation of data
  • 18. Subtypes of Entity Beans Bean-managed persistence: The entity bean handles its own persistence Often via JDBC (or SQL/J) to a database The bean author is required to write persistence- management code into the bean code itself Container-managed persistence: The entity bean’s persistence is automatically maintained by the EJB container This is the easiest way, and often EJB containers do a better job because they provide extra features like connection pooling, load balancing, etc. This method is known to be extremely reliable, since CMP code is usually well tested Persistence logic is kept in “declarative code” in the EJB deployment descriptor
  • 20. An EJB Autopsy The remote interface Describes the interface provided to EJB clients The enterprise bean class The implementation of the bean The home interface Describe how client can create, find, and remove EJB instances
  • 22.
  • 23.
  • 24. The Remote Interface Describes the interface provided to EJB clients Must extends javax.ejb.EJBObject This interface usually provides a number of accessor methods (getters and setters) for the bean’s fields, as well as all business methods
  • 25. The Enterprise Bean Class The implementation of the bean This is where the methods exported in the remote interface are defined Business logic and data operations occur here EJB classes must implement one of the following interfaces: javax.ejb.SessionBean, javax.ejb.EntityBean
  • 26. The Home Interface The home interface describes any methods not requiring access to a particular bean instance Methods for creating, finding, and deleting bean instances Must extend javax.ejb.EJBHome
  • 27. EJB Naming Conventions Enterprise bean class: <name>Bean, e.g. CustomerBean Home interface: <name>Home, e.g. CustomerHome Remote interface: <name>, e.g. Customer
  • 28. EJB Client Operation An EJB client uses an EJB by first locating its home object The methods on this home object are declared in the home interface The home object is located using JNDI The client tells JNDI what name the EJB goes by, and JNDI gives a home interface for that EJB Once a home object is obtained, the client calls some home methods to access the EJB e.g. The client may call “create” to create a new instance, “remove” to delete an instance, “findXYZ” to search for EJBs.
  • 29. References Developing Enterprise Applications Using the J2EE Platform, http://java.sun.com/developer/onlineTraining/J2EE/Intro2/j2ee.html Sang Shin, EJB Overview, http://www.javapassion.com/j2ee