SlideServe
Menu
Préférences
© SlideServe · v2026

Enterprise Java Bean

gabrielk avatar
18 diapositives · 210 Views · Oct 21, 2019

Learn EJB architecture, interfaces, and examples for component-based server-side solutions. Dive into distributed systems, security, and data object handling. This guide covers EJB basic architecture, containers, remote interface usage, and container-managed beans.

Enterprise Java Bean - slide 1
1 / 18

Télécharger la présentation

Enterprise Java Bean
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Enterprise Java Bean 2110472 Computer Networks Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University

  2. Outline • Overview. • EJB Architecture. • EJB Interfaces. • Example.

  3. Overview • What is EJB ? • Component-based Server-side (similar to Servlet). • Same as Servlet ? • Transaction • Atomic execution of multiple operations. • Ex: Transfer money between two accounts • Withdraw from the source account. • Deposit to the destined account. • Must execute all-or-nothing.

  4. Overview • Distributed • Invoke EJB over the network • Interface vs. implementation.

  5. Overview • The caller feels like invoke local class instance • Use method as you call Java class. • Location independence • Can be on any server. • Advance techniques: load balancing, fault tolerance, … • Security • Who can use what ? • Access control.

  6. Data as an Object • Typical JSP: • Built-in SQL statement in JSP page. • Problems ? • For the user of EJB • Data are objects. • Each field is a data member of a Java class. • No direct contact to database (let EJB handle it).

  7. Example: Using EJB Integer id = new Integer(351); Customer cust = custHome.findByPrimaryKey(id); System.out.println(cust.getName()); Customer customer = custHome.create(new Integer(804)); Name name = new Name("Richard", "Wayne", "Monson-Haefel"); customer.setName(name);

  8. EJB Basic Architecture

  9. EJB Type • Entity Bean • Data object with actual storage • Room, customer, etc. • Permanent / persistence. • Container-managed vs. bean-managed. • Session Bean • Business processes / methods • Reserve_room, availableRoom, etc. • Stateless (one action) vs. stateful (sequence of actions).

  10. EJB Container

  11. EJB Conceptual View

  12. EJB Home Interface • Allow client to manage the bean (factory) • Create a new bean or find the existing bean. • Developer must define the primary key (type). • No need to write “Implementation”. public interface CustomerHome extends EJBHome { public Customer create(Integer customerNumber) throws RemoteException, CreateException; public Customer findByPrimaryKey(Integer customerNumber) throws RemoteException, FinderException; public Enumeration findByZipCode(int zipCode) throws RemoteException, FinderException; }

  13. EJB Remote Interface • Interface to the actual data • Define how the data looks like. • Access (get/set) data in each field. public interface Customer extends EJBObject { public Name getName() throws RemoteException; public void setName(Name name) throws RemoteException; public Address getAddress() throws RemoteException; public void setAddress(Address address) throws RemoteException; }

  14. Ex: Using EJB Interfaces Integer id = new Integer(351); Customer cust = custHome.findByPrimaryKey(id); System.out.println(cust.getName()); Customer customer = custHome.create(new Integer(804)); Name name = new Name("Richard", "Wayne", "Monson-Haefel"); customer.setName(name);

  15. Container-Managed Bean public class CustomerBean implements EntityBean { int customerID; Address myAddress; Name myName; CreditCard myCreditCard; // CREATION METHODS public Customer ejbCreate(Integer id) { customerID = id.intValue(); return null; } public void ejbPostCreate(Integer id) { } public Customer ejbCreate(Integer id, Name name) { myName = name; return ejbCreate(id); } public void ejbPostCreate(Integer id, Name name) { }

  16. Container-Managed Bean // BUSINESS METHODS public Name getName() { return myName; } public void setName(Name name) { myName = name; } public Address getAddress() { return myAddress; } public void setAddress(Address address) { myAddress = address; } public CreditCard getCreditCard() { return myCreditCard; } public void setCreditCard(CreditCard card) { myCreditCard = card; }

  17. Container-Managed Bean // CALLBACK METHODS public void setEntityContext(EntityContext cntx) { } public void unsetEntityContext() { } public void ejbLoad() { } public void ejbStore() { } public void ejbActivate() { } public void ejbPassivate() { } public void ejbRemove() { } }

  18. References • jGuru, Enterprise JavaBeans Technology Fundamentals, http://developer.java.sun.com/developer/onlineTraining/. • EJB Tutorial, http://www.ejbtut.com/Overview.jsp. • A. Hemrajani, The state of Java middleware, Part 2: Enterprise JavaBeans, JavaWorld, April 1999, http://www.javaworld.com/javaworld/jw-04-1999/jw-04-middleware_p.html.