首页 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
资讯 业界资讯 软件杂谈 编程开发 网站建设 网络观查 搜索引擎 移动应用 网站运营 网络地图
开发 移动开发 Web前端 架构设计 编程语言 互联网 数据库 系统运维 云计算 开发杂谈
[架构设计] 会话EJB系列(一)EJB概述
会话EJB系列(一)EJB概述

    EJB(Enterprise Java Bean)是Java EE(以前jiàoJ2EE)的核心规范,不仅仅是一种优秀的组件技术,而且还是Java EE 其它规范(如RMI,JNDI,JMS等)的具体应用。
 
一.EJB的概念和意义
(1)EJB规范的由来
    随着软件规模的快速增大和技术复杂度(分布式软件的开发技术,如CORBA、RMI等)的增加,导致软件开发变得越来越复杂,使普通程序员难于chǔ理各种系统级服务,从而使得大型软件系统的开发变得难以为继。
 
    后来,Sun公司发布了EJB规范,目的是统一各种分布式软件开发技术。
    使开发者将主要jīng力集中在应用业务逻辑的实现上,而一些通用的系统服务(如分布式服务器、远程调用等底层技术)则由应用服务器负责管理。从而提高开发效率。
    而且EJB规范为EJB容器(由应用服务器提供)和EJB组件(由开发者开发)制订了明确的规范,因此只要应用服务器支持标准的EJB规范,那么使用EJB组件开发的应用就可以移植到该服务器上运行。
 
(2)CORBA规范与EJB规范对比
    与CORBA相比,EJB更简单,尤其体现在:访问控制、事务安全等系统级服务上。
    CORBA需要开发者使用复杂的API来进行控制,但EJB则只需要使用部署描述符(一种XML文件)进行配置管理即可,真正提供这些系统级服务的是应用服务器。
 
 
二.EJB发展史
(1)EJB 1.0
    最初的规范只包含有状态的会话Bean、无状态的会话Bean、实体Bean(持久化领域对象)
        优点:提供了良好的分布式支持功能,允许通过远程接口来远程调用EJB中的业务方法。
        缺点:试图简化RMI的远程访问编程,结果更复杂。
                  强制客户机组件总以远程访问的方式来调用EJB的方法,它会加大系统开销,影响xìng能。
(2)EJB 1.1
    正式支持实体Bean,持久化解决方案。
    把以"硬编码"方式写在程序代码中的信息提取到XML配置文件中,以声明式的方式来管理EJB部署信息。
        缺点:Annotation替代XML配置文件,来管理配置信息。
(3)EJB 2.0
    引入了本地接口:允许开发者决定EJB组件的访问方式,避免强制远程访问支持带来的系统开销和xìng能下降。
    增强实体Bean功能:允许开发者通过配置文件来用容器管理EJB间关联关系。
    引入了EJB查询语言EJB-QL:不如原生SQL强大
    消息驱动Bean(MDB):客户机组件向目的发送消息来触发MDB的onMessage方法。本质上与无状态的会话Bean相同
(4)EJB 2.1
    增加Web Service支持:更有利于异构系统的整合。
    增加计时器服务:提供任务调度的支持
    增强了EJB-QL的功能
(5)EJB 3.0
    基于ORM理念的、统一的JPA规范作为持久层的解决方案,实现真正的可移植xìng。抛弃Entity Bean,保留Session Bean和消息驱动Bean
    简化开发过程
        只要求提供远程或本地的业务接口即可,不再需要Home接口,简化Session Bean开发
        完全支持基于Annotation的依赖注入DI,来设置部署描述信息,代替了以前手动的JNDI查找,不再推荐使用XML文件作为部署描述文件
        支持拦截器机制,本质上就是一种轻量级AOP实现。
 
(6)EJB 3.1
    进一步简化开发
       允许企业Bean只提供一个Bean类,甚至无须提供业务接口;
       允许通过异步的方式来调用Session Bean的业务方法;
        简化了EJB的类文件必须打包到JAR文件中的限制,允许直接将EJB类放到WAR文件中。
 
三.EJB的优势和使用场景
    两种主流的Java EE技术架构:
        经典Java EE:以EJB为核心,前端以JSF为MVC框架的技术架构,以Sun提倡的官方Java EE技术为主;
        轻量级Java EE:以Spring+Hibernate为核心,前端以Struts 1或Struts 2为MVC框架的技术架构,以主流的开源框架为主。
 
(1)EJB 2Spring对比
    由于EJB 2开发有点复杂,直接催生了Spring框架。
         IoC容器,chǔ理企业级应用中,组件的依赖关系
         AOP,chǔ理应用底层的系统级问题,如事务、访问控制等
 
      不管是以Spring+Hibernate为核心的轻量级Java EE应用,还是以EJB为核心的经典Java EE应用,它们的结构其实殊途同归。
      对于应用开发者而言,Spring容器管理的不再是复杂的EJB组件,而是简单的POJO Bean。 这些Bean无须实现任何接口或继承任何基类,无须单独为每个Bean类使用XML配置文件,无须打包成JAR文件
       开源的Spring容器已经取代了昂贵的EJB容器,不再需要应用服务器(如WebLogic、WebSphere等),只需要普通的Web服务器(如Resin、Tomcat等)
   
(2)EJB 3Spring对比
    EJB 3的出现成为了EJB规范的巨大转机。
 
    就简单、易用xìng方面来说,EJB 3的开发和Spring容器中POJO Bean复杂度类似
    真正商用的应用服务器提供了Spring容器更多的支持,例如EJB的池化管理、服务器节点的集群管理等。
 
(3)总结
    对于规模较小、伸缩xìng要求不大的企业级应用而言,使用以Spring+Hibernate为核心的技术来开发即可。
    但对于具有如下3个特征的企业级应用来说,选择以EJB为核心的经典Java EE技术可能更合适。 
         1)应用的规模较大,而且增长速度快速。
         2)应用的伸缩xìng要求很高。
         3)应用可能需要使用除JSP页面之外的其他客户端。
 
 
文章最后,对EJB做如下总结:
    EJB使开发者将主要jīng力集中在应用业务逻辑的实现上,而一些通用的系统服务(如分布式服务器、远程调用等底层技术)则由应用服务器负责管理。从而提高开发效率。
    而且EJB规范为EJB容器(由应用服务器提供)和EJB组件(由开发者开发)制订了明确的规范,因此只要应用服务器支持标准的EJB规范,那么使用EJB组件开发的应用就可以移植到该服务器上运行。
 


 此文从网络中自动搜索生成,不代表本网站赞成被搜索网站的内容或立场    查看原文
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2018年9日历
2018-9-25 15:17:58
 
  网站联系 软件世界网-www.sjsjw.com ©2014 蜀ICP备06016416号 三峰网旗下网站