admin 管理员组

文章数量: 1086019


2024年1月16日发(作者:diviner的情侣网名)

AP PLICAlION■ ● JAVA中的JavaBeans技术探析 文/华龙 摘要:随着软件产业的迅速发展,JAVA在商业软件 二、EJB给用户和技术实现者带来的收益: 领域的应用越来越广泛。本文就JAVA企业开发平台中使用 的EJB技术的内涵、使用EJB的优势和EJB的设计目标以 及Java中应用程序模型等问题加以论述。 关键词:EJB;组件技术;应用程序模型;JavaBeans 1,在业内支持方面: 试图建立EJB系统的客户会获得一系列可供选择的解 决方案。企业JavaBeans技术已经被多达25个公司所接受、 支持和应用。 一、Enterprise JavaBeans(EJB)技术简介 2 在生产效率方面: 使用这一技术,企业开发人员将会进一步提高生产效率。 众所周知,由于JAVA良好的跨平台性而成为服务 他们不仅能够获得在Java平台上的开发成果,而且能够将注 器端的理想语言。为了更好利用Java实现服务器端的计 意力集中于商务逻辑,从而使效率倍增。 算,SUN推出了一个完整的开发平台J2EE,其目的是为 基于Java的服务器端配置提供一个独立于平台的可携带的 3,在投资保护方面: 企业JavaBeans技术建立在企业现存系统之上。事实上, 多用户企业级的安全平台,而J2EE的基石就是Enterprise 许多EJB产品都将建立在已有的企业系统之上。今天企业所 JavaBeans(EJB),EJB是建立基于JAVA的服务器端组件的标 使用的系统,明天将会运行企业JavaBeans组件。 ;隹,它定义了如何编写服务器端组件,提供了组件与管理组 件的应用服务器之间的标准约定,EJB的全称是Enterprise 4、在结构独立性方面: 企业JavaBeans技术将开发人员和底层中间件相隔离: Java Bean。EJB是SUN公司JAVA中的商业应用组件技术。 开发人员看到的仅仅是Java平台。这一点除交叉平台的好 EJB结构中的角色EJB组件结构是基于组件的分布式计算 处外,还将使得EJB服务器厂商在不干扰用户的EJB应用 结构,是分布式应用系统中的组件。 开发EJB结构的目的是通过使企业开发人员将注意力 技术取消了编写“全程(plumbing)”码的要求。例如,企业开 程序的前提下,有机会改进中间件层。 5.服务器端只需写一次,就可以随处运行(Server- 通过对Java平台的支持,EJB技术将“一次编译.随处 只集中于编写商务逻辑,从而解决上面所提出的问题。EJB Side Write 0nce。Run Anywhere TM): 发人员不再需要编写那些处理事务行为、安全、连接共享或 运行 的概念提高到了一个新的水平。它可以保证一个EJB 线程的代码,因为EJB体系结构将这些任务委托给服务器厂 应用程序可运行于任何服务器,只要这个服务器能够真正提 商来完成。 供企业JavaBeans APIs。 ;=1112.口 E:IJ S IH E{ ̄^ 67 

_A 一 PPLICATION 4J丈 应用 天/J、, I TJ i、EJB技术的工作原理 服务器端环境和其所需工具极大地影响了EJB技术的 四、Java中企业应用程序模型 除提供底层结构以外,EJB技术还涉及到另外一个问题。 设计目标。一个主要的设计目标是尽可能地减少建立分布式 有两种建立企业应用程序的基本模型。在第一个模型中,客 应用程序的过程:它是通过将一般需要手工编码的特性转化 户是从作为一个应用程序的对象开始对话期的:该对象可代 为企业Beans简单声明属性来实现的。这些声明属性使开 表客户执行一项工作,有可能包括多重数据库事务;在第二 发效率大大提高,因为某些行为,如安全和事务不是以代码 个模型中,客户访问一个对象,这个对象代表了数据库中的 形式,而是通过Bean自身的“标记“来设定的。这种设计特 性也是EJB技术使开发人员将注意力集中于编写商务逻辑的 一个实体。EJB的设计适用性很广,它包括了这两种模型: ●Session Beans包括了第一种模型。 另一条途径。 为了实现设计目标,EJB规范创建了一种底层结构,它 关系到系统级编程,如事务、安全、线程、命名、对象生命周期、 资源共享、远程访问和persistence等等;它同时也简化了 访问现存应用程序的过程,并为工具的创建和使用提供了统 的应用程序开发模型。 EJB分布式应用程序是基于对象组件模型的,低层的事 务服务用了API技术。EJB技术使JAVA语言编写的企业应 用系统的开发,配置更加简单。EJB技术定义了一组可重用 的组件:Enterprise Beans。你可以利用这些组件,象搭积 木一样的建立你的分布式应用程序。当你把代码写好之后, 这些组件就被组合到特定的文件中去。每个文件有一个或 多个Enterprise Beans,在加上一些配置参数。最后,这些 Enterprise Beans被配置到一个装了EJB容器的平台上。客 户能够通过这些Beans的home接口,定位到某个beans, 并产生这个beans的一个实例。这样,客户就能够调用 Beans的应用方法和远程接口。 另一方面,EJB服务器作为容器和低层平台的桥梁, 管理着EJB容器和函数。它向EJB容器提供了访问系统 服务的能力。例如:数据库的管理和事务的管理,或者对 于其它的Enterprise的应用服务器。所有的EJB实例都 运行在EJB容器中。容器提供了系统级的服务,控制了 EJB的生命周期。EJB中有一些易于使用的管理工具如: Security一一配置描述器(The Deployment descriptor) 用来定义客户能够访问的不同的应用函数。容器通过只 允许授权的客户访问这些函数来达到这个效果。Remote Connectivity一一容器为远程链接,管理着低层的通信 issues,而且对Enterprise Beas的开发者和客户都隐藏了 通信细节。EJB的开发者在编写应用方法的时候,就象是 在调用本地的平台一样。客户也不清楚他们调用的方法可 能是在远程被处理的。Traction management一配置描述器 定义了Enterprise beans的事务处理的需求。容器管理着 那些管理分布式事务处理的复杂的issues。这些事务可能 要在不同的平台之间更新数据库。容器使这些事务之间互 相独立,互不干扰。保证所有的更新数据库都是成功发生的, 否者,就回滚到事务处理之前的状态。 68 c-.E :mUSHIRtiLE 己口1己.口 个Session Bean是一个对象,它代表了与客户的一个 瞬时对话,并为客户执行数据库读写操作;这些数据库的访 问是在一个事务处理过程中实现的。session bean表示的是 调用它的客户端代码索要完成的工作,是一种商业处理过程 对象,它实现商业逻辑,商业规则以及工作流程,例如:报价, 订单处理,视频压缩,股票交易等。session bean之所以ⅡU session bean是因为其生命周期与调用它的客户端相同。 session bean又分为两种:stateless和statefuI, stateful session bean用于贯穿多个方法请求和事务的商业 过程,例如:网上商店,用户进入商店后,可以将商品加入 再现的购物车,组件必须跟踪用户的状态(如:购物车); 而stateless session bean用于客户调用方法期间不用维护 任何状态信息,例如:解决复杂数学运算的视频压缩/解压缩。 ●Entity Beans包括了第二种模型。 entity bean用来代表商业过程中处理的永久性的数据, 例如:银行出纳员组件完成储蓄等商业过程,其中涉及的数 据时银行账户数据。entity bean用来代表底层的对象。最 常用的是用entity bean代表关系库中的数据。一个简单的 entity bean可以定义成代表数据库表的一个记录,也就是每 一个实例代表一个特殊的记录。更复杂的entity bean可以 代表数据库表间关联视图。在entity bean中还可以考虑包 含厂商的增强功能,如对象一一关系映射的集成。 通常用entity类代表一个数据库表比代表多个相关联的 表更简单且更有效。反过来可以轻易地向entity类的定义中 增加关联,这样可以最大地复用cache并减小旧数据的表现。 ●Session Beans工作原理: 通常,Web环境中的会话是指用户/客户机的Web浏 览器和一个特定的Web服务器之间的一组交互。会话从最 初浏览器调用Web服务器的URL开始,到Web服务器结 束会话,这个会话“超时”,或当用户关闭浏览器时结束。 会话数据是指在永久保存之前用户提供的在多个页面上使用 的信息。会话数据和事务数据(Transaction data)之间的区 别在于,会话数据是暂时的一只用于一组相连接的页面一 而事务数据是用于永久的存储。会话数据通常在一组Web 页面之后被转换成事务数据(当用户选择“提交”事务,或 为购物车“付帐”时)。 (下转第79页) 

PERSONI EDUCATIoN I 要时间,拥有良好的专业视野和教科研能力更需要时间。有 企业工作流程和岗位技能要求的双师教师、来自企业一线的 的时候在毕业班课堂上遭受非议就在情理之中,有的教师对 校外实习教师为梯队的师资队伍,这样的师资队伍才能真正 电子商务的理解只停留在《电子商务基础与应用》课程内容 实施出符合目标企业岗位需要的教学活动,才能真正将“校 上。我们建议今后不要再引进非专业教师充实团队。 校互动、校企互动、校校互动”的专业运转特色贯彻下去。  3、拥有企业工作背景的师资匮乏在建设高职特色专业 为此,要继续鼓励教师每年要有三分之一的时间到企业工作,的过程中,需要一支了解行业最新动态的学术带头人、熟悉 到企业调研挂职,鼓励教师考取高级别的职业资格证书。( 参考文献 1.廖世平.加强内涵建设突出办学特色争创示范性高职院校.2008-5—8 2.中共浙江省委教育工委书记、浙江省教育厅厅长刘希平专业是高职发展的试金石-http://w rⅥ,.zjff.net/news_shOW.php 2010年l0月28 El 3.阿里巴巴集团研究中心.http://www.aliresearch.corn/ 4.中国互联网大会网站.http://www.2010cic.cn/ 5.中国高职高专教育网.http://www.tech.net.cn/web/index.aspx 6.中国高等职业教育网.http://www.chinagz.org/ 7.中国互联网信息中心网站.http://www.1cnnic.net/ 8.河南省国民经济和社会发展十二五规划刚要【DB/OL】 河南省人民政府门户网站,http:www.henan.gov.cn/ztzt/sywgh. 9.网商网.http://WWw.ctoaU.com.cn/ 作者简介:李艳菊,副教授,河南商业高等专科学校电子商务系副主任;研究方向:电子商务教育、电子商务规划。 (上接第68页) ●entity bean和session bean的比较 车的例子。用户的购物车是一个JavaBean。用户将货架上的 看起来session bean好象没什么用处,尤其对于数据 商品放入购物车,这些商品本身是JavaBean。它们全部可视, 驱动的应用程序。当然事实并不是这样。因为entity bean 并且面向用户。结帐时,将用户购物车中的商品发送到服务 (譬如说)代表底层数据库的一行,则entity bean实例和数 器上的EJB,该EJB执行一些必要的操作,如检查信用卡授 据库记录问就是一对一的关系。因为多个客户端必须访问底 权和可用额度,生成封条,或生成给发货部门的有关提什么 层记录,这意味着,不同于session bean,客户端必须共享 货和发货地点的特殊指示,这就是商业程序已在进行的活动。 entity bean。因为是共享的,所以entity bean不允许保存 每个客户端的信息。session bean允许保存客户端的状态信 六、结束语 息,客户端和session bean实例间是一对一的。entity bean 允许保存记录的信息,entity bean实例和记录问是一对一的。 一企业JavaBean技术为我们提供了一种开发、部署和管 个理想的情况是客户端通过session bean连接服务器,然 理分布式商务应用程序的新途径。它使开发人员编写作为可 以保存客户端的信息又可以保存数据库记录的信息。 后session bean通过entity bean访问数据库。这使得既可 重复使用的服务器组件的分布式商务应用程序变得更简单, 并且不必担心系统级编程问题。企业JavaBean组件结构代 同时session bean也不能提供在相同或不同的EJB类 表了在简化企业应用程序的开发、部署和管理方面的一个巨 调用问进行全局的事务控制。没有session bean,应用程序 大进步。c 开发者(客户端开发者)就必须理解EJB类的事务要求,并  使用客户端的事务划分来提供事务控制。EJB的主要好处 参考文献:1]Bruce Ecke1.Java编程思想[M】.侯捷译.北京:机械工业出 就是应用开发者不需知道EJB类的事务需求。一个session [bean可以代表一个商业操作,进行事务控制,不需要客户 【2】IVOR HOTRTON.Java 2入门经典.叶乃文邝劲筠叶以农 端进行事务划分。 等译.北京:中国电力出版社,2002. [3]吴其庆.Java程序设计35讲.北京:冶金工业出版社,2003. 【4]郎波.Java语言程序设计.北京:清华大学出版社,2005. 作者简介: 版社,2004. 让我们举一个在Web购物站点上可以看到的电子购物 华龙,硕士,天津机电职业技术学院讲师,研究方向:软件工程。 己口1己.口 J 一 : 79 


本文标签: 企业 组件 事务 技术 应用程序