Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enterprise JavaBeans: Fundamentals. EJB Fundamentals(c)CDAC(Formerly NCST)2 Contents Introduction Technology Overview EJB Architecture EJB Specification.

Similar presentations


Presentation on theme: "Enterprise JavaBeans: Fundamentals. EJB Fundamentals(c)CDAC(Formerly NCST)2 Contents Introduction Technology Overview EJB Architecture EJB Specification."— Presentation transcript:

1 Enterprise JavaBeans: Fundamentals

2 EJB Fundamentals(c)CDAC(Formerly NCST)2 Contents Introduction Technology Overview EJB Architecture EJB Specification Sample Application

3 EJB Fundamentals(c)CDAC(Formerly NCST)3 Sun’s Definition EJB architecture is a component architecture for the development and deployment of component based distributed business applications. Applications written using EJB architecture are scalable, transactional, and multi-user secure. These applications may be write once, and then deployed on any server platform that supports the EJB specification.

4 EJB Fundamentals(c)CDAC(Formerly NCST)4 Short Definition EJB is a server-side component architecture that simplifies the process of building enterprise-class distributed component applications in Java. EJB provides standard for component architecture.

5 EJB Fundamentals(c)CDAC(Formerly NCST)5 Enterprise Bean Server side software components that can be deployed in distributed multi tier environment. They encapsulate business logic of an application. Consists of one or more java objects.

6 EJB Fundamentals(c)CDAC(Formerly NCST)6 Types of Beans Session Bean Entity Bean Message driven Bean

7 EJB Fundamentals(c)CDAC(Formerly NCST)7 Session Bean Session beans model business processes. They are like ‘verbs’ because they are actions. E.g. billing engine, catalog engine etc:

8 EJB Fundamentals(c)CDAC(Formerly NCST)8 Entity Bean Entity Bean Models business data. They are like ‘nouns’ because they are data objects E.g. product, an order, an employee etc: Session beans typically calls entity beans to perform business goals.

9 EJB Fundamentals(c)CDAC(Formerly NCST)9 Message Driven Bean Message driven beans are similar to session beans. They are actions. They are called only when they receive some message. E.g. : stock trade message.

10 EJB Fundamentals(c)CDAC(Formerly NCST)10 EJB Architecture EJB Message Driven Bean EJB Session Bean EJB Entity Bean EJB Session Bean EJB Session Bean EJB Session Bean ServletJSP Messaging Client C/C++ Client Java Applet Java Appl Business Partner System HTML Client Messaging CORBA-IIOPRMI-IIOP HTTP Firewall SOAP,UDDI WSDL,ebXML Web Server Application Server Presentation Tier Business Tier

11 EJB Fundamentals(c)CDAC(Formerly NCST)11 EJB Foundation: Distributed Objects Client Skeleton Distributed Object Stub Network Remote Interface

12 EJB Fundamentals(c)CDAC(Formerly NCST)12 What do we need to worry about now? We take a monolithic application and break it into distributed system with multiple clients connecting to multiple servers and databases over network.

13 EJB Fundamentals(c)CDAC(Formerly NCST)13 Services Remote Method Invocation Load Balancing Transparent Fail Over Back end integration. Clustering Dynamic Re deployment Object life cycle Caching Security Resource Pooling System Management Message Oriented Middleware And many more….. Middleware

14 EJB Fundamentals(c)CDAC(Formerly NCST)14 Explicit Middleware Client Skeleton Distributed Object Stub Network Remote Interface Remote Interface Transaction Services Security Services Database drivers Database API Security API Transaction API

15 EJB Fundamentals(c)CDAC(Formerly NCST)15 Example – Bank account obj Transfer(Acct acc1, Acct acc2,long amt) //1.Call middleware API to perform security check. //2.Call middleware API to start a trans //3.Call middleware API to load rows from db. //4.perform trans. //5.Call middleware API to store rows in db //6.Call middleware API to end the trans.

16 EJB Fundamentals(c)CDAC(Formerly NCST)16 Explicit Middleware Difficult to Write. Difficult to Maintain. Difficult to Support.

17 EJB Fundamentals(c)CDAC(Formerly NCST)17 Implicit Middleware Client Skeleton Request Interceptor Stub Network Remote Interface Remote Interface Transaction Services Security Services Database drivers Database API Security API Transaction API Distributed Object Remote Interface

18 EJB Fundamentals(c)CDAC(Formerly NCST)18 Example – Bank account obj Transfer(Acct acc1,Acct acc2,long amt) //1. Perform trans.(subtract bal from one account and add to other).

19 EJB Fundamentals(c)CDAC(Formerly NCST)19 Implicit Middleware Easy to Write. Easy to Maintain. Easy to Support.

20 EJB Fundamentals(c)CDAC(Formerly NCST)20 EJB Container House enterprise bean and makes them available to the client to invoke them remotely. It intercepts the client request and delegates them to corresponding bean class. It automatically performs implicit middleware that the distributed object needs. EJB object is the physical part of the container.

21 EJB Fundamentals(c)CDAC(Formerly NCST)21 EJB Component Ingredients Enterprise Bean Class Interfaces Remote and Home interface for remote access. Local and Local Home interface for local access. Deployment Descriptor. Vendor Specific files.

22 EJB Fundamentals(c)CDAC(Formerly NCST)22 Enterprise Bean Class It conforms to a well defined interface. It contains business implementation details of our component. Each bean type has more specific interface that extends javax.ejb.EnterpriseBean interface. Bean class implements the interface corresponding to the bean type.

23 EJB Fundamentals(c)CDAC(Formerly NCST)23 EJB Object Client request interceptor. It duplicates all the business logic methods that the corresponding bean class exposes. Proprietary and specific to each EJB container.

24 EJB Fundamentals(c)CDAC(Formerly NCST)24 Remote Interface Interface to request interceptor. Informs EJB Object auto generator which methods to clone. All remote interfaces must derive from javax.ejb.EJBObject. EJB remote interfaces must confirm to RMI rules.

25 EJB Fundamentals(c)CDAC(Formerly NCST)25 Home Object EJB object factory. Creates,finds and destroys EJB objects. Proprietary and specific to each EJB container. Home objects implements Home Interface.

26 EJB Fundamentals(c)CDAC(Formerly NCST)26 Home Interface EJB Object factory interface. They define methods for creating,destroying and finding EJB Objects. All home interfaces must extend javax.ejb.EJBHome. EJB remote interfaces must confirm to RMI rules.

27 EJB Fundamentals(c)CDAC(Formerly NCST)27 Local Access Local objects make enterprise bean calls fast and efficient. Local objects implements Local Interface. Local home objects creates beans fast. Local home object implements Local Home interface.

28 EJB Fundamentals(c)CDAC(Formerly NCST)28 Deployment Descriptor Declare how the container should perform middleware services for the EJB component. In EJB 2.0 deployment descriptor is a XML file. Key to implicit middleware.

29 EJB Fundamentals(c)CDAC(Formerly NCST)29 Vendor Specific Files All vendors have proprietary value added features. Include files specific to that vendor.

30 EJB Fundamentals(c)CDAC(Formerly NCST)30 Package Remote Interface Local Interface Enterprise Bean Home Interface Deployment Descriptor Vendor Specific Jar file creator EJB jar file

31 EJB Fundamentals(c)CDAC(Formerly NCST)31 Sample Application My First Bean!

32 EJB Fundamentals(c)CDAC(Formerly NCST)32 Session Bean : FirstBean package example; public class FirstBean implements javax.ejb.SessionBean{ private SessionContext ctx; public void ejbCreate(){ System.out.println(“ejbCreate()”); } public void ejbRemove(){ System.out.println(“ejbRemove()”); } public void ejbActivate(){ System.out.println(“ejbActivate()”); }

33 EJB Fundamentals(c)CDAC(Formerly NCST)33 public void ejbPassivate() { System.out.println(“ejbPassivate()”); } public void setSessionContext(javax.ejb.SessionContext ctx) { this.ctx=ctx; } public String first() { System.out.println(“first()”); return “My First Bean”; }

34 EJB Fundamentals(c)CDAC(Formerly NCST)34 Remote Interface : First.java package example; public interface First extends javax.ejb.EJBObject { public String first() throws java.rmi.RemoteException; }

35 EJB Fundamentals(c)CDAC(Formerly NCST)35 Home Interface : FirstHome package example; public interface FirstHome extends javax.ejb.EJBHome { First create() throws java.rmi.RemoteException, javax.ejb.CreateException; }

36 EJB Fundamentals(c)CDAC(Formerly NCST)36 Deployment Descriptor First example.FirstHome example.First example.FirstBean Stateless Container

37 EJB Fundamentals(c)CDAC(Formerly NCST)37 Client Application package example; import javax.naming.*; Import java.util.*; public class FirstClient{ public static void main(String[] arg) throws Exception{ Properties props=System.getProperties(); Context ctx=new InitialContext(props); Object obj=ctx.llokup(“FirstHome”); FisrtHome home=(FirstHome) javax.rmi.RemotePortableObject.narrow (obj,FirstHome.class);

38 EJB Fundamentals(c)CDAC(Formerly NCST)38 First first=home.create(); System.out.println(first.first()); first.remove(); }

39 EJB Fundamentals(c)CDAC(Formerly NCST)39 EJB Object Model > java.rmi.Remote > java.io.Serializable > javax.ejb.EnterpriseBean > javax.ejb.SessionBean Bean Implement Class > javax.ejb.EJBObject > Javax.ejb.EJBHome > Remote Interface > Home Interface EJB ObjectHome Object Comes with Java2 platform Comes with EJB Distribution Written by developer Generated by Componet Vendor Tool

40 EJB Fundamentals(c)CDAC(Formerly NCST)40 Home Object EJB Object Enterprise Bean Client Naming Service 1 : Retrieve Home object Reference 2 : Return Home object Reference JNDI 3: Create a new EJB Object 4: Create a new EJB Object 5: Return EJB Object Reference 6: Invoke Business Method 7: Delegate Request to Bean Remote Interface Home Interface EJB Container

41 EJB Fundamentals(c)CDAC(Formerly NCST)41 Advantages of EJB Helps to write scalable,reliable and secure applications. Provides distributed component framework and hence supports rapid application development. Supports application portablility and reusability across any vendor’s enterprise middleware services. It is agreed upon by industry.

42 EJB Fundamentals(c)CDAC(Formerly NCST)42 References Mastering Enterprise Java Beans J2EE 1.4 Tutorials Professional Java Server Programming, J2EE Edition


Download ppt "Enterprise JavaBeans: Fundamentals. EJB Fundamentals(c)CDAC(Formerly NCST)2 Contents Introduction Technology Overview EJB Architecture EJB Specification."

Similar presentations


Ads by Google