290 likes | 392 Views
Enterprise Java Beans Part I. Kyungmin Cho 2001/04/10. Agenda. JavaBeans and Enterprise JavaBeans EJB component model EJB Architecture. JavaBeans and Enterprise JavaBeans. Defining E nterprise J ava B eans(1). A server-side component architecture
E N D
Enterprise Java BeansPart I Kyungmin Cho 2001/04/10
Agenda • JavaBeans and Enterprise JavaBeans • EJB component model • EJB Architecture
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
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
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
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 JavaBeans Vs. Enterprise JavaBeans(1)
JavaBeans Vs. Enterprise JavaBeans(2) Server Enterprise information Services Client Java Beans Container Java Beans EJB1 Database Java Beans Existing application EJB2 Client Java Beans EJB3 Server manages resources such as threads, connection pooling, caching, and state management Java Beans
Agenda • JavaBeans and Enterprise JavaBeans • EJB component model • EJB Architecture
What is component? • Components are made by assembling objects.
Component System • Component system is fundamental for assembling and managing components.
Client component • Component = button, list, spread sheet, etc. • Container = window, form, etc.
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.
Agenda • JavaBeans and Enterprise JavaBeans • EJB component model • EJB Architecture • What can we do with EJB?
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
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
EJB Architecture Roles • Bean provider • Container provider • Server provider • Application assembler • Deployer • System administrator
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.
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.
EJB Server(1) • Provides System Services • Transaction support • Database access • System resource • Namespace • Implementations • Middleware servers • Application servers • Database servers
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 services to different beans
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
EJB container(2) • Some standard services • Persistence • EJB instance creation & location • Namespace • Transaction control • Swapping • Security • Custom services • Application-specific • Bridge to existing systems