`
sunxiang0918
  • 浏览: 46864 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JAVABEAN与EJB的区别

    博客分类:
  • EJB
阅读更多

您现在可能已在使用 JavaBean,但还不了解它。如果有支持 Java 的浏览器,那么,在桌面上使用 JavaBean 就没有限制。使用的 Web 页面可以将 bean 作为小应用程序的一部分。您很快就会和作为浏览器可视部分的 JavaBean 交互,然后,那些 JavaBean 将与服务器上的 EJB 接口。这种能力也可以扩展到因特网和内部网。

 

JavaBean 和 Server Bean(通常称为 Enterprise JavaBean (EJB))有一些基本相同之处。它们都是用一组特性创建,以执行其特定任务的对象或组件。它们还有从当前所驻留服务器上的容器获得其它特性的能力。这使得 bean 的行为根据特定任务和所在环境的不同而有所不同。

 

这开辟了巨大商机。因为 JavaBean 是与平台无关的,所以对于将来的解决方案,供应商可以轻易向不同用户推出其客户机方的 JavaBean,而不必创建或维护不同的版本。这些 JavaBean 可以与执行商业功能(例如订购、信用卡处理、电子汇款、存货分配、运输等)的 EJB 配合使用。这里有巨大潜力,而这正是组件代理(WebSphere Application Server 企业版)设计提供的那种潜力。

 

JavaBean 是一种组件,它在内部有接口或有与其相关的属性,以便不同人在不同时间开发的 bean 可以询问和集成。可以构建一个 bean,而在以后构造时将其与其它 bean 绑定。这种过程提供了先构建,然后重复使用的方法,这就是组件的概念。可以将这种单一应用程序部署成独立程序、ActiveX 组件或在浏览器中。

 

JavaBean 因其外部接口(即属性接口)而与纯对象不同。这种接口允许工具读取组件要执行的功能,将其与其它 bean 挂钩,以及将其插入其它环境。JavaBean 设计成对单一进程而言是本地的,它们在运行时通常可视。这种可视组件可能是按钮、列表框、图形或图表 - 但这不是必需的。

 

可执行组件

Server Bean 或 EJB 是部署在服务器上的可执行组件或商业对象。有一个协议允许对其进行远程访问或在特定服务器上安装或部署它们。有一系列机制允许它们将服务安全性、事务行为、并发性(由多个客户机同时访问的能力)和持久性(其状态可以保存多久)的主要方面授权给 EJB 服务器上其所在的容器。当安装在容器中时,它们获得各自的行为,该行为提供不同质量的服务,因此,选择正确的 EJB 服务器至关重要。这正是 IBM WebSphere 企业版的优势所在。

 

EJB 是设计成运行在服务器上,并由客户机调用的非可视远程对象。可通过多个非可视 JavaBean 构建 EJB。它们有一个部署描述符,其目的与 JavaBean 属性相同:它是以后可由工具读取的 bean 的描述。EJB 还独立于平台,一旦编写好,还可以在任何支持 Java 的平台(包括客户机和服务器)上使用。

 

因为 EJB 由诸如 IBM VisualAge for Java 这样的工具集生成,所以,它是基于服务器的对象,并用于远程调用。它们安装在 EJB 服务器上,并象调用其它 CORBA 远程对象那样获得进行调用的远程接口。

 

ActiveX 对象

可以将 JavaBean 部署成 ActiveX 对象,虽然 EJB 的代理也可以这样做,但是,因为 ActiveX 运行在桌面上,所以,EJB 本身不能成为 ActiveX 对象。要在与平台相关的、仅 Windows 平台上做到这一点,开发人员可以将 JavaBean 变换成 ActiveX 组件。

 

好处

EJB 的主要好处在于:构建 bean 时,bean 开发人员可以规定需要什么类型的行为,而不必规定如何去做。开发分为两部分:程序员开发 bean,然后验证:它可与构建工具一起工作,并包括标识所需服务质量行为种类的部署描述符。下一步,另一个程序员可以采用这个 bean,并使用读取 EJB 部署描述符的部署工具,然后将该 bean 安装到 Enterprise Java Server 上的容器中。在第二步中,部署工具采取一些操作 - 这可能意味着生成如状态保存代码,放入事务挂钩,或执行安全性检查这样的代码。所有这些操作由部署工具生成,bean 开发人员和部署人员可以是不同的人。

 

可以通过使用部署工具,将任何独立于平台的 JavaBean 改写成具有可靠服务质量、特定于平台的 EJB,以满足现有商业系统和应用程序的特定需求。这就是 EJB 服务器对集成系统、网络和体系结构如此重要的原因所在。

 

EJB 与 IBM WebSphere 企业版

在 IBM WebSphere 企业版中使用时,可以将 EJB 配置成被管理的商业对象。接受它们授权服务的容器是其安装到的容器。将 EJB 的持久性部分映射在数据或状态对象中。EJB 服务器为 EJB 提供不同的服务质量,选择正确的 EJB 服务器可能对满足完整的商业需求至关重要。“组件代理”功能极其健壮,该功能提供如负载均衡和支持服务器组中多台机器的高级功能。它还有大大超出 Enterprise Java Server (EJS) 规范所倡导的系统管理功能。因此,按照基本标准编写的 JavaBean 或 EJB 可以运行在使用“组件代理”功能的 WebSphere 企业版上,并获得那些所有的附加功能。

 

EJB 服务器还提供独特的特性和服务质量,而且不完全相同。IBM“组件代理”有一些强大特性 - 例如,可伸缩性,它允许开发人员将 EJB 部署到从小型系统到大型网络的不同类型服务器。开发人员可以从小处入手,例如,在一个部门中,首先在 LAN 的 Java 服务器上部署,一旦准备好,就知道可以将在那里创建的 JavaBean 和 EJB 部署到全球网络。然后,开发人员可以测试并熟悉这些 bean,试运行,制作样本等等。满意之后,开发人员可以通过将其移至高性能服务器,来大幅度扩大其规模。JavaBean 和 EJB 不受任何计算机体系结构边界的限制。它们用 Java 编写,可以运行在任何具有 Java 虚拟机的系统上,并可以使用任何 Enterprise Java Server (EJS) 来部署对象。因此,开发人员现在可以在方便的系统上构建,以后在方便的系统上部署,而不必是同一台或同样类型的机器。

 

IBM WebSphere 企业版支持将商业对象部署到多台服务器。EJB 作为商业对象集成到“组件代理”功能,并作为任何其它商业对象处理。因此,EJB 可以连接到所选的后端系统,并执行任何所需操作,以满足其商业需求。这就成为“组件代理”为 EJB 提供的基础设施。通过将“组件代理”用作 EJB 服务器,开发人员将能够继续使用当前旧有系统,并将其与电子商务接口一起提供。

 

为使 EJB 能在 WebSphere“组件代理”环境中工作,可以使用“组件代理”部署工具将其安装在一台或多台服务器上,然后将其添加到命名服务器,以便可以全局查找到它。任何可以访问公共命名服务器的人都可以找到它,找到其宿主,并可以在宿主上执行方法,同时创建 EJB。这就是“代理组件”要做的事。

 

示例

让我们举一个在 Web 购物站点上可以看到的电子购物车的例子。用户的购物车是一个 JavaBean。用户将货架上的商品放入购物车,这些商品本身是 JavaBean。它们全部可视,并且面向用户。结帐时,将用户购物车中的商品发送到服务器上的 EJB,该 EJB 执行一些必要的操作,如检查信用卡授权和可用额度,生成封条,或生成给发货部门的有关提什么货和发货地点的特殊指示 - 这就是商业程序已在进行的活动。

 

结束语

Bean 的全部意义不只是其现有能力,更在于其可以为商业提供的有竞争力的潜在能力。IT 设计师和应用开发人员现在可以将精力完全集中在商业逻辑,而将如事务、持久性和安全性的底层工作留给服务器。WebSphere 的“组件代理”功能将提供所有这些(还有后端访问)和对象事务管理器。

分享到:
评论

相关推荐

    POJO javaBean EJB JNDI 理解及区别

    ### POJO、JavaBean、EJB与JNDI的理解及区别 #### POJO:Plain Old Java Object POJO,即“纯旧式Java对象”,它指的是最基础的Java类对象,没有任何框架约束,也不实现任何特定接口。POJO的主要特征是拥有私有...

    Enterprise JavaBean (EJB) 是可重用的、可移植的 J2EE 组件。EJB 由封装业务逻辑的方法组成。譬如说,EJB 可能有这样的业务逻辑:

    import javax.ejb.Stateless.*; /*A simple stateless session bean implementing the incrementValue() method of the * CalculateEJB interface.*/ @Stateless(name="CalculateEJB") public class ...

    MVC设计模式的JavaWeb项目所需要的jar(Jsp+Servlet+JavaBean(EJB)).zip

    综上所述,这个JavaWeb项目使用了MVC设计模式,结合了JSP、Servlet、JavaBean(EJB)以及一系列的库来实现数据处理、业务逻辑和用户界面的分离,同时利用了MySQL数据库和相关的连接池及数据库操作工具库来支持数据...

    EJB 企业级javabean

    **企业级JavaBean (Enterprise JavaBeans, EJB)** 是Java平台上的一个核心组件,用于构建分布式、事务处理、安全性和可扩展的企业级应用程序。EJB规范定义了如何在Java环境中创建服务器端组件,这些组件可以在Java...

    2022年JavaBean(EJB) 3.0 全新体验Java教程.docx

    JavaBean(Enterprise JavaBeans,EJB)3.0 是一种企业级应用开发的重要技术,尤其在Java平台上。EJB3.0的发布旨在解决EJB2.x版本中存在的复杂性问题,提升开发效率和生产力。本教程将聚焦于EJB3.0的改进,包括元...

    EJB方面 ejb pdf

    #### EJB与JavaBean的区别 EJB和JavaBean虽同属Java生态,但它们的应用场景和特性有显著差异: - **JavaBean**:是轻量级的、可重用的组件,没有严格定义的规范。理论上任何Java类都可能被视为一个Bean,但在实践...

    EJB教程.doc Enterprise Java Bean

    - **EJB概念与原理**: 定义、特点以及EJB如何解决企业级应用中的问题。 - **JSR与JCP**: JSR(Java Specification Requests)和JCP(Java Community Process)的作用与重要性。 **4.2 第一步EJB** - **EJB编程的步骤**:...

    EJB 资料,enterprise javabean

    ### EJB (Enterprise JavaBean) 相关知识点详解 #### 一、EJB 概念与历史背景 EJB(Enterprise JavaBeans)是Java平台的一部分,用于开发和管理基于组件的企业级应用程序。它由Sun Microsystems在Java 2平台企业版...

    jsp_使用JavaBean分离表示与实现

    **JavaBean与EJB的区别** 虽然JavaBean和EJB(Enterprise JavaBean)都是Java组件技术,但两者有显著区别。EJB是J2EE的核心技术,专为开发分布式、服务器端的应用程序组件而设计,适用于复杂的业务环境,提供事务...

    NIIT考试(j2ee javabean sevlet jsp ejb)

    【标题】"NIIT考试(j2ee javabean sevlet jsp ejb)"涉及到的是一场关于Java企业级开发的考试,其中涵盖了多个关键知识点,主要包括Java 2 Enterprise Edition (J2EE)、JavaBeans、Servlets、JSP(JavaServer Pages)...

    深入探索EJB:在Java中实现企业级JavaBean的实践指南

    企业级JavaBean(EJB)是Java EE(现在称为Jakarta EE)的一部分,它提供了一种创建分布式、可伸缩、事务性业务逻辑的方法。EJB通过容器管理的组件模型,为开发者提供了声明式事务管理、安全性、远程访问等高级企业...

    EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。

    ### EJB (Enterprise JavaBean)概述 EJB (Enterprise JavaBean)是J2EE(Java 2 Platform, Enterprise Edition)框架的重要组成部分,它提供了一套用于构建可扩展、分布式的多层企业应用的标准。EJB的目标是通过抽象...

    EJB--.rar_Java EJB_ejb_javabean

    本教程介绍了 Enterprise JavaBean 技术,特别关注于在分布式计算方案中 Enterprise JavaBean 组件的角色、体系结构、扩展 API 以及使用 EJB 技术的基本知识。

    javabean介绍

    从此,JavaBean就可以扩展为一个java web 应用的标准部件,并且JavaBean部件框架已经扩展为企业版的 Bean(EJB)。  JavaBean 和 Server Bean(通常称为 Enterprise JavaBean (EJB))有一些基本相同之处。它们都是...

    EJB教程

    本教程将深入探讨EJB及其与JavaBean的区别。 **EJB概述** EJB是Java EE(Java Platform, Enterprise Edition)的一部分,主要设计用于处理服务器端的业务逻辑。它们分为三种主要类型:会话Bean(Session Beans)、...

    Hibernate与EJB集成

    #### 二、EJB与JavaBean的对比 - **JavaBean**: - 轻量级组件,易于开发和部署。 - 不需要遵守复杂的规范,使得JavaBean更加灵活且容易维护。 - 可以运行在任何支持Java的环境中,具备良好的跨平台能力。 - ...

    JavaBean(EJB) 3.0 全新体验

    作者还讨论了EJB在未来要作出的调整以及EJB3.0与其他开发规范之间的关系。 开始 无论如何由于EJB的复杂性使之在J2EE架构中的表现一直不是很好。EJB大概是J2EE架构中唯一一个没有兑现其能够简单开发并提高生产力的...

    EJB基础(学习EJB者必看)

    Javabean技术则是EJB的一个基础,javabean是一种符合特定规范的Java类,它具有属性、getter和setter方法,以及一个默认构造器。Javabeans通常用于构建EJB组件的表示层,或者作为客户端与EJB之间的数据载体。 在...

    JavaBean的基本知识

    2. **JavaBean与EJB的交互**:JavaBean可以作为EJB客户端的一部分,通过远程调用的方式来访问EJB提供的服务。这种模式下,JavaBean负责处理用户界面和简单的业务逻辑,而复杂的业务逻辑则由EJB处理。 #### 五、...

    EJB中ejb-jar——xml文件说明.pdf

    EJB(Enterprise JavaBean)是一种Java技术,用于开发企业级应用程序。EJB容器提供了许多功能,如事务处理、安全认证、资源管理等,以便开发者更方便地开发企业级应用程序。在EJB中,ejb-jar文件是一个重要的配置...

Global site tag (gtag.js) - Google Analytics