Enterprise Java Beans Part I Kyungmin Cho 2001/04/10
2 Agenda JavaBeans and Enterprise JavaBeans EJB component model EJB Architecture
3 JavaBeans and Enterprise JavaBeans
4 Defining Enterprise JavaBeans(1) A server-side component architecture Model to enable efficient development and deployment of Java applications : Transactional,Portable Distributed,Multi-tier Scalable Secure
5 Defining Enterprise JavaBeans(2) EJB is not JavaBeans a Server Component specification for Java Separates business and system programming Portability of business objects Extensibility through vendor features
6 Defining JavaBeans(1) A client-side component architecture Portable, platform-independent component model written in the java programming language Acts as a bridge between proprietary component models Provides a seamless and powerful means for developers to build components that run in ActiveX container applications
7 Defining JavaBeans(2)
8 JavaBeans Vs. Enterprise JavaBeans(1) JavaBeans Can be either visible or non-visible Client > Server Java.bean.* Intra-processor Easier to develop than EJB EJB Are decidedly non-visible, remote objects Server Javax.ejb.* Inter-processor More difficult to develop than JavaBeans
9 JavaBeans Vs. Enterprise JavaBeans(2) 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
10 Agenda JavaBeans and Enterprise JavaBeans EJB component model EJB Architecture
11 EJB component model
12 What is component? Components are made by assembling objects.
13 Component System Component system is fundamental for assembling and managing components.
14 Client component Component = button, list, spread sheet, etc. Container = window, form, etc.
15 Server component(1) Component Interface is separated from implementation. Container Manages message-passing between client and component Automatically carry out standard infrastructure services such as transaction and security, etc.
16 Server component(2)
17 Agenda JavaBeans and Enterprise JavaBeans EJB component model EJB Architecture What can we do with EJB?
18 EJB Architecture
19 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
20 EJB Architecture
21 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
22 EJB Architecture Roles Bean provider Container provider Server provider Application assembler Deployer System administrator
23 Application Life Cycle
24 EJB component feature(1) Include business logic Produce and manage instance at run time Can be customized by editing environment entry. Service information is separated from EJB class. This makes Service information to be managed by tools when assembling and deploying application. Client can access EJB through container.
25 EJB component feature(2) If EJB uses services which are defined in EJB specification, EJB can be deployed in all EJB containers. EJB don’t need recompiling and editing source code.
26 EJB Server(1) Provides System Services Transaction support Database access System resource NamespaceImplementations Middleware servers Application servers Database servers
27 EJB Server(2) Supplies containers for EJBs API between server and container is 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
28 EJB container(1) Currently provided by EJB Server EJB access to server resource through standard API May Contain one or multiple classes Tools for EJB creation and deployment
29 EJB container(2) Some standard services Persistence EJB instance creation & location Namespace Transaction control SwappingSecurity Custom services Application-specific Bridge to existing systems