Presentation is loading. Please wait.

Presentation is loading. Please wait.

Seminar: Enterprise JavaBeans. Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE)

Similar presentations


Presentation on theme: "Seminar: Enterprise JavaBeans. Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE)"— Presentation transcript:

1 Seminar: Enterprise JavaBeans

2 Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE) Enterprise JavaBeans ™ Enterprise JavaBeans ™ Enterprise JavaBeans ™ Architecture Enterprise JavaBeans ™ Architecture

3 Java™ 2 Platform

4 Java History  1995 Sun World95  1996 JDK1.0 Final Release  1997 JDK1.1 Final Release  1999 JDK1.2 Final Release  2000 JDK1.3 Final Release

5 Today/Tomorrow Web Content E-mailEntertainmentTravel Personal Finance E-commerce Voice Over IP Long Distance Phone

6 Today’s Enterprise

7 Short History of Java Enterprise Technology

8 Java™ 2 Platform  Java™ 2 Platform,Standard Edition(J2SE)  Java™ 2 Platform,Enterprise Edition(J2EE)  Java™ 2 Platform,Micro Edition(J2ME)

9 Java™ 2 Platform

10 Java History

11 Java Enterprise Architecture PDA Kiosk Java Device VideoServer SolsticeFirewall WebServer Workstation Server Java Desktop Corporate LAN PC WorkgroupServer Mainframe Public Internet Corporate Intranet Firewall Beeper Cell Phone ATM Game

12 Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE) Enterprise JavaBeans ™ Enterprise JavaBeans ™ Enterprise JavaBeans ™ Architecture Enterprise JavaBeans ™ Architecture

13 Java™ 2 Platform Enterprise Edition(J2EE)

14 Application Servers  Provides infrastructure to support management of business logic and access to services  Provide proprietary APIs,which leads to vendor lock  Diminishes ability to reuse business logic on another vendor’s application servers

15 Enterprise Goals  Reuse  Interoperability  Portability  Time-to-Market

16 Why another Java 2 Platform? Enterprise Services Require Availability Distribution Concurrency Security Consistency Scalability EIS Integration Administration

17 What is J2EE ?  J2EE is An Integrated Application Environment ( consist of below ) – –API specifications (EJB,JSP,JDBC etc) Defines J2EE requirements – –Reference implementation of APIs Operational J2EE platform – –Compatibility tests with branding Validates J2EE platform compatibility – –Application Programming Model Describes how to build J2EE application

18 What is J2EE ?  The enterprise developer can concentrate on application components,not the underlying services  Separation of business logic and services provide for better reuse of business logic BusinesslogicBusinesslogic ServicesServices

19 J2EE Architecture

20 J2EE API Summary J2SE 1.3 JDBC 2.0 RMI/IIOP 1.0 EJB 1.1.x Servlet 2.2 JSP 1.1 J2SE 1.3 JDBC 2.0 RMI/IIOP 1.0 EJB 1.1.x Servlet 2.2 JSP 1.1 JNDI 1.2 JTA 1.0 JMS 1.0 JavaMail 1.1 JAF 1.0 JNDI 1.2 JTA 1.0 JMS 1.0 JavaMail 1.1 JAF 1.0

21 J2EE Standard Services Web Database Naming and Directory Management Email Protocol Transaction Web Database Naming and Directory Management Email Protocol Transaction Servlet/JSP(HTML/XML) JDBC TM JNDI JMX JavaMail TM JavaIDL/RMI OTS/JTS/JTA Servlet/JSP(HTML/XML) JDBC TM JNDI JMX JavaMail TM JavaIDL/RMI OTS/JTS/JTA Services Java Technology

22 J2EE Platform

23 J2EE is important  Integrated Application Environment  Open platform  Integrates with existing environments  Provides foundation for future development

24 Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE) Enterprise JavaBeans ™ Enterprise JavaBeans ™ Enterprise JavaBeans ™ Architecture Enterprise JavaBeans ™ Architecture

25 Enterprise JavaBeans ™

26 EJB Architecture

27 EJB Design Goals  Simplify development/deployment of distributed applications  Achieve broad industry acceptance  The right expert focuses on the right job  Platform independent and protocol neutral  Enable development of portable components - Truly enable reuse

28   A server-side component architecture   Model to enable efficient development and deployment of Java applications : – –Transactional,Portable – –Distributed,Multi-tier – –Scalable – –Secure Defining Enterprise JavaBeans

29  EJB is not JavaBeans  a Server Component specification for Java  Separates business and system programming  Portability of business objects  Extensibility through vendor features

30 JavaBeans Versus Enterprise JavaBeans Java Beans Can be either visible or non-visible Intended to be local to a single process on the client side Uses the BeanInfo classes, Property Editors & Customizers to describe itself Can also be deployed as an ActiveX control Java Beans Can be either visible or non-visible Intended to be local to a single process on the client side Uses the BeanInfo classes, Property Editors & Customizers to describe itself Can also be deployed as an ActiveX control Enterprise JavaBeans Are decidedly Non-Visible, remote objects Remotely executable components deployed on the server Uses the Deployment Descriptor to describe itself Can not deployed as an ActiveX control since OCXs run on the desktop Enterprise JavaBeans Are decidedly Non-Visible, remote objects Remotely executable components deployed on the server Uses the Deployment Descriptor to describe itself Can not deployed as an ActiveX control since OCXs run on the desktop

31 JavaBeans Versus Enterprise JavaBeans Java Beans Server Client Enterprise information Services Enterprise information Services Existing application Database EJB2 EJB3 EJB1 Java Beans Container Server manages resources such as threads, connection pooling, caching, and state management

32 What Is Special About EJBs?  Learn once  Write Once, Run Anywhere TM  Portable and interoperable  Flexible and extensible  Scalable  Easier to write distributed applications  Transaction management  CORBA compatible

33 Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE) Enterprise JavaBeans ™ Enterprise JavaBeans ™ Enterprise JavaBeans ™ Architecture Enterprise JavaBeans ™ Architecture

34 Enterprise JavaBeans ™ Architecture

35 Key Components in EJB  EJB Server  EJB container  Home Object  EJBObject  Enterprise Bean

36 EJB Architecture Overview EJB Home Class EJB Object Interface EJB Home Interface EJB Object Class EJB Class Deployment Descriptor Manifest EJB Server EJB Container

37 EJB Architecture Overview ClientClient Enterprise Properties HomeObjectHomeObject EJBObjectEJBObject EJBEJB JNDI NamingTransactionPersistenceSecurity Services 6 5 4 3 2 1 11 10 9 8 7

38 Application Life Cycle

39 EJB Server  Provides System Services  Transaction support  Database access  System resource  Namespace  Implementations  Middleware servers  Application servers  Database servers

40 EJB Server  Supplies containers for EJBs  API between server and container is currently vendor specific currently vendor specific  Server could provide several container types to provide various extended types to provide various extended services to different beans services to different beans

41 EJB Container  Currently provided by EJB Server  EJB access to server resource through standard API standard API  May Contain one or multiple classes  Tools for EJB creation and deployment

42 EJB Container  Some standard services  Persistence  EJB instance creation & location  Namespace  Transaction control  Swapping  Security  Custom services  Application-specific  Bridge to existing systems

43 Home Interface  Factory interface for the bean:  Interface provided by EJB developer  Class generated by vendor tool  One factory class per bean class  Factory instance is installed into the server’s naming service server’s naming service

44 Home Interface import java.io.Serializable; import java.rmi.RemoteException; import javax.ejb.CreateException; import javax.ejb.EJBHome; public interface ConverterHome extends EJBHome { Converter create() throws RemoteException, CreateException; }

45 Remote Interface  Interface is provided by bean developer  Implementation is provided by container tools, which include container tools, which include  Stubs and Skeletons  The EJB Object

46 Remote Interface import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Converter extends EJBObject { public double dollarToYen(double dollars) throws RemoteException; public double yenToEuro(double yen) throws RemoteException; }

47 EJB Object  The EJB Object is a wrapper object that Acts as a proxy to the EJB instance  Interface provided by Bean Developer  Implementation class generated by tool  Each business method has a corresponding method in the EJB Object method in the EJB Object  Wrapper method implements container- provided services provided services

48 EJB Architecture Overview ClientClient HomeInterfaceHomeInterface RemoteInterfaceRemoteInterfaceEJBEJB Home Object EJB Object Bean RemoteInterfaceRemoteInterfaceEJBEJB StubStub SkeletonSkeleton

49 EJB Source import java.rmi.RemoteException; import javax.ejb.*; public class ConverterEJB implements SessionBean { public double dollarToYen(double dollars) { return dollars * 121.6000; } public double yenToEuro(double yen) { return yen * 0.0077; } public ConverterEJB() {} public void ejbCreate() {} public void ejbRemove() {} public void ejbActivate() {} public void ejbPassivate() {} public void setSessionContext(SessionContext sc) {} }

50 Types of EJBs Server Client Enterprise information Services Enterprise information Services Existing application Database EJB2 EJB3 EJB1 Container Proxy Session Beans Client state Entity Beans State of data

51 Session Beans Versus Entity Beans Session Beans Private client resource Bean carries client state Bean is not persistent Lifetime is controlled by client Transactional participant Single-threaded Mandatory since 1.0 Session Beans Private client resource Bean carries client state Bean is not persistent Lifetime is controlled by client Transactional participant Single-threaded Mandatory since 1.0 Entity Beans Access by multiple clients concurrently Bean represents state of data in data store Bean is persistent Lifetime corresponds to its persistent store Transactional by nature Single-threaded Mandatory since 1.1 Entity Beans Access by multiple clients concurrently Bean represents state of data in data store Bean is persistent Lifetime corresponds to its persistent store Transactional by nature Single-threaded Mandatory since 1.1

52 Client Source import javax.naming.*; import javax.rmi.PortableRemoteObject; import Converter; import ConverterHome; public class ConverterClient { public static void main(String[] args) { try {Context initial = new InitialContext(); Object objref = initial.lookup("MyConverter"); ConverterHome home = (ConverterHome)PortableRemoteObject.narrow(objref,ConverterHome.class); Converter currencyConverter = home.create(); double amount = currencyConverter.dollarToYen(100.00); System.out.println(String.valueOf(amount)); amount = currencyConverter.yenToEuro(100.00); System.out.println(String.valueOf(amount)); } catch (Exception ex) { } }

53 Enterprise EJB Scenario HTTP response HTTP request DB Enterprise Application Server JSPs Back Office JDBCJDBC JDBCJDBC JMSJMS JMSJMS EJBs JSP/Servlet Java Beans Java Beans


Download ppt "Seminar: Enterprise JavaBeans. Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE)"

Similar presentations


Ads by Google