Java企业软件教程系列

EJB

EJB作为和WEB相对应的一个JavaEE/J2EE标准,是由IBM Oracle等众多厂商参与制定统一的应用服务标准,EJB作为实现业务的核心框架和容器,与Spring区别是,Spring是通过开源运动获得了事实上的开发框架标准。

  EJB的发展过程充满坎坷和波折,EJB最初目标是为了简化分布式框架Corba的使用,将分布式计算集群作为首要设计目标的EJB1.0推出后,普通开发人员使用起来很不方便,后来总算推出EJB 2.0,改正了以前不少问题,特别是性能问题,但是和.NET相关技术相比,EJB难于学习和使用已经成为EJB或J2EE发展壮大的致命危险。

  2004年Spring作者发出without EJB的口号,认为大多数情况下我们并不需要分布式,EJB使用过于重量,这场争论也在本站Jdon引起剧烈的讨论。有兴趣者看从下面相应专题中找到。

  在Spring的冲击和竞争下,EJB3.0吸收了Spring的优点AOP和依赖注入,大大简化了EJB的开发,随着Spring增加事务 缓存等方面支持,两者孰途同归。

  EJB作为一个开发框架和容器,其缺省提供了很多JavaEE默认机制:事务, 授权,分布式集群等等,而Spring如果需要这些机制,需要开发者显式主动声明,这两种如同套餐和自助餐的风格适合不同的使用人群。

  使用EJB最大的一个门槛是有态和无态之分,很多初学者对于状态概念比较欠缺,只有关系数据库概念,因此有时很难选择到底是无态Bean还是有态Bean,这种有态和无态区分一直延伸到后来的Scala等语言中。

  更多EJB基础知识可见EJB体系架构

Java实用系统开发指南

JavaEE 7手册教程

为什么要使用EJB?

EJB 3.0和吵闹的TSS年会

EJB3与EJB2架构对比

Spring 和EJB终于统一融合

EJB3使用简介

实体Bean的BMP和CMP选择

基于容器的用户安全管理系统

EJB专题

EJB3专题

集群专题

AOP专题

IOC依赖注入专题

Spring专题

Hibernate专题

可伸缩性专题