为什么会突然要看看EJB这个老古董?
前段时间准备再看看Spring的东西,当然就免不了要看一下Spring作者那本导致Spring模型的大作。其中说到Spring是在批判EJB的背景下产生的。所以,就得看看EJB这玩意儿到底搞了什么东西,粗略浏览了下目录,哗!EJB2太复杂了,算了,先从后面简化过了的EJB3看起吧,完了再反过来看看2是个什么样子。这回答真够曲折的,都快忘了当初的想法了,
前后大概一个多月时间,现将学习后的要点汇总如下:
EJB作为J2EE中业务层、持久层的框架,其特点有3:
1.通过JNDI对业务层、持久层解耦合。
2.对业务层的代码提供了系统级的服务。
3.支持分布式应用。这是其最大特点,也是造成最后失败局面的最大原因。
EJB2实体Bean定义和控制复杂、繁琐。轻量级的ORMappin框架比它好很多。
经过实践证明,不应该在业务层维护会话状态,而应该在表现层。
EJB最有价值的东西是其服务理念,减轻了程序员编程负担,事务、安全等系统级需要考虑的东西由容器提供。
这里得说一下JNDI这个东西,记得板桥里人以前说过,大概意思是“不懂JNDI,JavaEE最学了一半”。这个理念从最初学Java就碰到了,就是在获取数据库连接时,一般采用从DataSource中获取Connection,当时也没深究,知道这么个语法要求就完了。现在发现在EJB里面,各个组件之间的访问都是通过JNDI来搞得,目的只有一个“解耦合”。
RMI:EJB2里面一次客户端访问远程Session Bean会走两次RMI调用(一次是通过Home接口的工厂方法获取远程接口,一次是通过远程接口访问实际调用的业务方法),EJB3里面简化成了一次(Home接口调用没了)。原理上说EJB正是通过RMI来实现分布式的。但从实际情况来看,更多情况用的是本地接口,即在一个JVM中直接调用对象。
总结:这个当年的庞然大物,在后来Spring、Hibernate等轻量级框架的冲击之下早就失去了吸引力,EJB3确实轻多了,实体Bean的概念与2完全不同,接受Hibernate的诸多理念。但市场早没了。
相关推荐
【EJB学习源代码】是一份宝贵的资源,涵盖了企业级JavaBeans(Enterprise JavaBeans)的各种核心概念和技术。EJB是Java EE平台中的一个重要组件,它提供了服务器端的业务逻辑处理能力,支持分布式计算,适用于构建可...
【EJB学习】 EJB(Enterprise JavaBeans)是Java平台上的企业级组件模型,它是Java EE(Java 2 Platform, Enterprise Edition)规范的一部分,用于构建分布式、事务处理、安全和可伸缩的企业级应用程序。EJB提供了...
里面是搜集的EJB学习资料,有《Jboss EJB3.0实例教程》和《EJB3.0实例教程》两本pdf书籍,以及两本外文pdf书籍及源码,分别为ejb-3_0-fr-spec-persistence.pdf和ejb-3_0-fr-spec-simplified.pdf,以及EJB课堂笔记....
WebLogic EJB学习笔记主要涵盖了企业级Java Bean(Enterprise JavaBeans,简称EJB)在Oracle WebLogic Server中的应用和管理。EJB是Java EE(Java Platform, Enterprise Edition)平台的核心组件,用于构建可扩展、...
**EJB(Enterprise JavaBeans)学习指南** EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,主要用于构建可扩展的、安全的、事务处理的分布式企业级应用程序。EJB技术经历了从早期版本到现代EJB 3.x的演变...
对于想要深入理解EJB的开发者来说,"EJB基础(学习EJB者必看)"这个资源应该涵盖了EJB的基础概念、设计模式以及实际应用。 EJB基础学习中,首先会介绍EJB的基本类型,包括会话bean(Session Beans)负责处理客户端...
### EJB学习笔记第六部分详解 #### 一、EJB之间的调用 EJB (Enterprise JavaBeans) 是Java EE平台中用于开发分布式企业应用程序的重要组件。在实际开发过程中,经常需要一个EJB调用另一个EJB来实现更复杂的业务...
ejb学习文档.chmejb学习文档.chmejb学习文档.chmejb学习文档.chm
【EJB学习大全】是针对企业级Java应用开发的一个重要主题,主要涵盖了EJB3.0、JPA教程以及实战EJB的相关知识。EJB,全称为Enterprise JavaBeans,是Java平台上的一个核心组件,主要用于构建分布式、面向服务的企业级...
Enterprise JavaBeans...总的来说,这个ejb学习的例子是一个很好的起点,它涵盖了EJB的核心概念和实际应用。通过分析和运行这个例子,你可以逐步熟悉并掌握EJB技术,为构建更复杂的Java EE应用程序打下坚实的基础。
本PPT“EJB学习PPT(上)”可能是对EJB基础概念和核心组件的介绍,包括以下内容: 1. **EJB概述**:EJB提供了一种标准的方法来构建分布式、多层的企业应用。它定义了服务器端组件的接口和生命周期管理,以及这些组件...
介绍中间件的相关知识及目前较流行的ejb技术,对系统分析师考试论文的写作很有帮助。
Weblogic EJB 学习笔记主要涵盖了EJB(Enterprise JavaBeans)的基础知识,包括无状态会话bean、有状态会话bean和实体bean这三种主要的EJB类型,以及EJB在Weblogic服务器中的配置和事务管理。 1. **无状态会话bean*...
本资料集合了EJB学习的精华,旨在帮助读者深入理解并掌握EJB的核心概念和技术。 1. **EJB类型** - **会话Bean(Session Beans)**:为单个客户端提供服务,分为无状态会话Bean(Stateless Session Beans)和有状态...
【EJB学习笔记】 EJB,全称为Enterprise Java Beans,是Java平台上的一个标准,用于开发和部署服务器端的分布式组件。它基于Java语言,为创建高效能、安全且可扩展的企业级应用提供了框架。EJB规范由Java ...
### EJB 3.0 学习心得及关键技术解析 #### EJB 3.0 概述 EJB (Enterprise JavaBeans) 是一种基于 Java 的企业级应用开发模型,它为构建可伸缩、可移植且健壮的企业级应用程序提供了一种标准化的方法。随着技术的...
在深入探讨《ejb学习笔记》这一主题之前,我们首先需要理解什么是EJB(Enterprise JavaBeans)。EJB是Java平台为企业级应用开发提供的一套组件模型,它属于J2EE(Java 2 Platform, Enterprise Edition)的一部分,...
### 实战EJB知识点解析 #### 一、企业JavaBeans (EJB) 技术概览 **什么是企业JavaBeans技术?...通过上述章节的学习,开发者可以全面掌握EJB的基本概念和技术细节,为实际项目开发打下坚实的基础。
【EJB学习笔记2】 EJB,全称Enterprise JavaBeans,是Java EE(现在被称为Jakarta EE)平台的一部分,主要用于构建可复用的、安全的、可伸缩的服务器端应用程序。EJB标准定义了一组规范,使得开发者可以创建分布式...