您的位置:首页 > 其它

基于J2EE规范的中间件——EJB简介

2012-08-12 18:37 246 查看
前言
上一篇简单介绍了Java及J2EE的基本概念,本篇将开始进入主题,介绍基于J2EE的中间件,也就是EJB的开发。
 
正题
什么是EJB?
 
EJB(Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。
 
在J2EE里,EnterpriseJava Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(EntityBean)和消息驱动Bean(MessageDriven Bean)。
 
为什么选择EJB,什么情况下选择EJB?
 
选择EJB最重要的理由:EJB支持分布式对象间的事务。
 
由于J2SE中的RMI不支持事务,因此在J2EE中我们提出了EJB来对其进行改进,EJB可以支持分布式对象间的事务。
 
如果应用需要分布式部署,分布对象需要支持事务,关键业务逻辑需要支持不同类型客户端,此时你就可以选择EJB来进行开发。
 
EJB3的出现
 
在EJB3出现之前,开发用的最多的就是EJB2,但是由于EJB2的笨重复杂,遭到了许多人的吐槽,于是Sun在大家都呼声中又推出了轻便的EJB3。
 
EJB3中两个重要的变更分别是:使用了Java5中的程序注释工具(即注解)和基于Hibernate的O/R映射模型。
 
EJB3基本分类
Session Bean(会话Bean)
Session Bean用于实现业务逻辑,它可以是有状态的(Stateless
Session Bean),也可以是无状态的(Stateful Session Bean)。每当客户端请求时,容器就会选择一个Session
Bean来为客户端服务。
 
Entity Bean(实体Bean)
实体Bean就是我们所说的实体类,是持久化Bean,它用来映射数据库中的数据,但是EJB中的实体Bean在具体的使用(比如映射规则等)中跟我们之前所学的Hibernate会有所不同,关于这个不同会在后面的实例介绍中展示。
 
Message Driven Bean(消息驱动Bean)
我们知道JMS是Java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输,而且JMS支持两种消息模型:P2P(Point-to-Point,点对点模型)和Pub/Sub(Publish/Subscirbe,发布/订阅模型)
对JMS有个简单认识之后,消息驱动Bean就好理解了,它就是JMS的一个载体,实现了JMS服务,是一个用于异步通信的Bean。
 
接下来将会对每一种EJB进行实例开发,下一篇介绍EJB开发的环境搭建。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息