




已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)ejb技术规范及其在电子商务中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东科技人学硕士学位论文 摘要 摘要 e j b 是用于开发和部署多层结构的、分布式的、面向对象的j a v a 应用系统的跨平台 的组件体系结构。本文首先简要介绍了j 2 e e 技术规范,然后阐述了e j b 的体系结构和 各组成部分。同时,对会话b e a n 、实体b e a n 和消息驱动b e a n 分别进行了阐述,并对它 们的生命周期及其特点进行了具体分析。 e j b 适于开发分布式应用系统,通过提供统一的丌发平台,降低了开发多层应用的 复杂性,同时提供对现有应用程序集成强有力的支持。目前,e j b 系统还存在着一些问 题,主要有:层次之间联系过于紧密,客户端和后端的业务对象具有较强的依赖关系, 不利于系统的管理和维护;在客户和服务器之间太多的方法调用会导致了网络性能方面 的问题;缺乏统一的客户访问机制,将业务对象暴露给客户端,可能会产生安全方面的 问题。针对以上问题,本论文提出了基于e j b 的三层应用模型,并讨论了其实现方法。 e j b 适于电子商务系统的开发,但使用e j b 技术开发的电子商务系统存在着性能和 可维护性等问题。为了解决这些问题,本论文在基于e j b 的三层应用模型的基础上,提 出了基于e j b 的电子商务开发模型,将基于e j b 的三层应用模型应用到电子商务系统开 发中,并通过一个电子商务系统的开发实例对其进行了实现。 关键词:j 2 e e ,e j b ,基于e j b 的三层应用模型,电子商务 尔科技大学硕仁学位论文 摘要 a b s t r a c t e j bi sak i n do fc r o s s p l a t f o r mc o m p o n e n ta r c h i t e c t u r ew h i c hi su s e df o rd e v e l o p i n ga n d d e p l o y i n gm u l t i t i e rs t r u c t u r e ,d i s t r i b u t e d ,o b j e c t o r i e n t e dj a v aa p p l i c a t i o n t h i sp a p e rf i r s t l y i n t r o d u c e sj 2 e et e c h n i c a ls p e c i f i c a t i o nb r i e f l y ,t h e ni te x p l a i n st h ee j ba r c h i t e c t u r ea n di t s c o m p o n e n t s m e a n w h i l e ,i th a s c a r r i e do nr e s e a r c ht os e s s i o n b e a n ,e n t i t y b e a na n d m e s s a g e d r i v e nb e a nr e s p e c t i v e l y , a n dh a sm a d eac o n c r e t ea n a l y s i so ft h e i rl i f ec y c l ea n d c h a r a c t e r i s t i c e j bi ss u i t a b l ef o rd e v e l o p i n gt h ed i s t r i b u t e da p p l i c a t i o ns y s t e m ,t h r o u g ho f f e r i n gt h e u n i f i e dd e v e l o p i n gp l a t f o r m ,i tr e d u c e st h ec o m p l e x i t yo fd e v e l o p i n gm u l t i t i e ra p p l i c a t i o n ,a n d o f f e r sp o w e r f u ls u p p o r tf o rt h ei n t e g r a t i o no ft h ee x i s t e da p p l i c a t i o na tt h es a m et i m e a t p r e s e n t ,e j bs y s t e m se x i s ts o m ep r o b l e m s ,m a i n l ya sf o l l o w s :t i g h tc o u p l i n g ,w h i c hl e a d st o d i r e c td e p e n d e n c eb e t w e e nc l i e n t sa n db u s i n e s s o b j e c t s ;t o om a n ym e t h o di n v o c a t i o n s b e t w e e nc l i e n ta n ds e r v e r , l e a d i n gt on e t w o r kp e r f o r m a n c ep r o b l e m s ;l a c ko fau n i f o r mc l i e n t a c c e s ss t r a t e g y ,e x p o s i n gb u s i n e s so b j e c t st om i s u s e ,m a yc a u s es e c u r i t yp r o b l e m s t ot h e a b o v ep r o b l e m s ,t h i sp a p e rp r o p o s e st h et h r e e t i e ra p p l i c a t i o nm o d e lb a s e do ne j b ,a n di t s i m p l e m e n t a t i o nm e t h o di sa l s od i s c u s s e d e j bi ss u i t a b l ef o rt h ed e v e l o p m e n to fe l e c t r o n i cc o m m e r c es y s t e m ,b u tu s i n ge j bt o d e v e l o pe l e c t r o n i cc o m m e r c es y s t e mw i l lc a u s ep r o b l e m sa sp e r f o r m a n c ea n dm a i n t a i n a b i l i t y , e t c ,a n de v e nt h es e c u r i t yp r o b l e m s i no r d e rt os o l v et h e s ep r o b l e m s ,o nt h eb a s i so ft h e t h r e e - t i e ra p p l i c a t i o nm o d e lb a s e do ne j b ,t h i sp a p e rp u t sf o r w a r dt h ee l e c t r o n i cc o m m e r c e d e v e l o p m e n tm o d e lb a s e do ne j b t h i sm o d e la p p l i e st h et h r e e t i e ra p p l i c a t i o nm o d e lb a s e d o ne j bt oe l e c t r o n i cc o m m e r c es y s t e md e v e l o p m e n t ,a n dt h i sp a p e rr e a l i z e st h em o d e lt h r o u g h t h ed e v e l o p m e n ti n s t a n c eo fae l e c t r o n i cc o m m e r c es y s t e m k e y w o r d s :j 2 e e ,e j b ,t h r e e t i e ra p p l i c a t i o nm o d e lb a s e do ne j b ,e l e c t r o n i cc o m m e r c e 2 声明 本人呈交给山东科技大学的这篇硕士学位论文,除了所列参考文献和世所 公认的文献外,全部是本人在导师指导下的研究成果。该论文尚没有呈交于其 它任何学术机关作鉴定。 彗究生签蠹:铭睁涛 同 期:沪0 z 吁 a f f i r m a t i o n id e c l a r et h a t t h i sd i s s e r t a t i o r ,s u b m i t t e di n f u l f i l l m e n to ft h e r e q u i r e m e n t s f o r t h ea w a r do fm a s t e ro fp h i l o s o p h y ,i ns h a n d o n g u n iv e r s i t yo fs c i e n c ea n dt e c h n o l o g y ,i sw h o l l ym yo w nw o r ku n l e s s r e f e r e n c e do fa c k n o w l e d g e t h ed o c u m e n th a sn o tb e e ns u b m i t t e d f o r s i g n a t u r e d a t e : 山东科技大学硕士学位论文结论 l 绪论 1 1 课题研究的背景 j a v a 语言是新一代的面向对象程序设计语言适合w e b 应用程序开发。j a v a 语言作 为- z o o 跨平台的高级语言,因其种种优点,现在已经成为分布式系统的开发语言实际上 的标准。j a v a2 是j a v a 语言的一个版本,而j 2 e e 是一种利用j a v a2 平台来简化企业解 决方案的开发、部署和管理相关的复杂问题的体系结构,它是一整套功能非常健壮的开 发企业级中间件的规范。j 2 e e 通过使用多层的分布式应用模型,解决了两层c s 模式的 弊端。 j 2 e e 是一个技术规范,它包含一整套服务( s e r v i c e s ) 、应用程序接口( a p i s ) n 协议, 对丌发基于w e b 的多层应用提供了功能支持。e j b 规范是j 2 e e 的核心技术规范,j 2 e e 的中间层就是由e j b 技术实现的。e j b 是用于丌发和部署多层结构的、分布式的、面向 对象的j a v a 应用系统的跨平台的组件体系结构。采用e j b 可以使开发商业应用系统变得 容易,应用系统可以在一个支持e j b 的环境中开发,开发完之后部署在其他的环境中, 随着需求的改变,应用系统可以不加修改地迁移到其他功能更强、更复杂的服务器上。 e j b 提供了一个框架来开发和实施分布式业务逻辑,由此很显著地简化了具有可伸 缩性和高度复杂的企业级应用的开发。e j b 规范定义了e j b 组件在何时如何与它们的容 器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源 缓冲池以及容错性。 j 2 e e 和e j b 在开发大型的企业应用系统中具有无可比拟的优势,它们提供中间层集 成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求, 通过提供统一的开发平台,降低了开发多层应用的费用和复杂性,同时提供对现有应用 程序集成强有力支持。j 2 e e 和e j b 搭建的企业系统具有可伸缩性、扩展性和易维护性等 特点,已经成为企业级商业分布式网络计算的事实标准。 虽然e j b 技术在大型企业系统开发中得到了广泛的应用,但采用e j b 技术开发的系 统也存在着一些问题,这些问题将为系统的实际应用带来不便和麻烦。作为一种分布式 组件对象技术,e j b 较适于电子商务系统的开发,但是使用e j b 技术开发的电子商务系 统存在着性能和可维护性等问题,这些问题阻碍了e j b 技术在电子商务系统开发中的应 用。 山东科拉大学硕1 :学位论文 墙论 1 2 论文研究的主要内容 e j b 技术的优点使它在开发和部署多层结构的、分布式的、面向对象的、跨平台的 系统中得到了广泛应片j 。而且,随着电子商务的不断发展,越来越多的企业使用先进的 i t 技术,将传统的m i s 系统进行e 化改造,使企业在保护过去投资的同时t 获得了从传 统m i s 系统c s 结构转变到多层组件系统体系结构带来的巨大好处。凼此- 对e j r 技术 的1 i ) f 究具有非常重要的意义。 目前,采用e j b 技术丌发的系统存在着一些问题,主要是: 层次之问联系过于紧密,客户端和后端的业务对象具有较强的依赖关系t 不利于 系统的管理和维护; 在客户和服务器之间太多的方法调用会导致了网络性能蔓 一0 刮题; 缺乏统的客户访问机制,将业务剐象暴露给客户端,一生全。生安全方面的问 题。, 为解决这些问题本论文拟引入分层的概念对系统中的e j b 进行分层,并给出分 崖后各层的实现方法。这样,可将一个系统按照适当的粒度分解为多个子系统,再将这 些子系统合理部署到容器中。在此基础上,将这种分层方法应用到电子商务系统开发中, 以解决直接由e j b 技术开发的电子商务系统的性能和可维护性等问题。同时,拟通过一 个电子商务系统的开发实例,说明e j b 的分层思想在电子同务系统丌发中的实现。 个电子商务系统的开发实例,说明e j b 的分层思想在电于同务系统万发中的实现。 山东科技大学硕士学位论文j 2 e e 技术规范 2j 2 e e 技术规范 2 1j a v a 语言及其特点 j a v a 语言是由s u n 公司推出的新一代面向对象程序设计语言,其最大特点是它的平 台无关性,f 由于这种特性使得它在软件设计语言中广泛推行。自1 9 9 :5 卜s u n 公州推 1 a v a 谮。;之后,j a v a 作为软件开发的一种革命性的技术,其地位已被确立,众多的软 件开发商都支持j a v a 的软件产品。 2 1 1j a v a 虚拟机 j a v a 虚拟机( j a v a v i r t u a lm a c h i n e ,j v m ) 是一个虚构的计算机,是通过在实际的计算机 j 仿真模拟各种计算枫功能来实现的。j a v a 语言的一个非常重要的特点就是与平台的无 关性,而使用j v m 是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行, 至少需要编译成不同的目标代码,而引入j a v a 语言虚拟机后,j a v a 语言在不同平台上运 行时不需要重新编译。j a v a 语言使用j a v a 虚拟机屏蔽了与具体平台相关的信息,使得j a v a 语言编译程序只需生成在j a v a 虚拟机上运行的目标代码( 字节码) ,就可以在多种平台上不 加修改地运行。j a v a 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执 行。 2 1 2j a v a 语言的特点 j a v a 提供了组简单、丰富的的编程特性,能够快速地开发企业应用系统,并能使 之与操作系统和硬件平台无关。它不但是基于面向对象的企业应用系统开发平台,同时 提供基于组件的复杂应用开发平台,它已成为用来建立企业应用系统最广泛的平台。j a v a 主要具有如下特点: ( 1 ) 面向对象 面向对象是j a v a 最重要的特性,j a v a 语言的设计完全是面向对象的。j a v a 支持代码 继承及重用。 ( 2 ) 分布式 j a v a 包括一个支持h t t p 和f t p 等基于t c p 1 p 协议的子库。因此,j a v a 应用程序 可凭借u r l 打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。 ( 3 ) 健壮性 j a v a 致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出 现的错误,而j a v a 操纵内存减少了内存出错的可能性。 1 山东科技大学硕士学位论文j 2 e e 技术规范 ( 4 ) 安全性 j a v a 的安全性可从两个方面得到保证。一方面,在j a v a 语言里,指针和释放内存等 c + + 功能被删除,避免了非法内存操作:另一方面,当j a v a 用束创建浏览器时,语言功 能和浏览器本身提供的功能结合起来,使它更安全。 ( 5 ) 可移植性 同体系结构无关的特性使得j a v a 应用程序可以在配备了j a v a 解释器和运行环境的 任何计算机系统上运行这成为j a v a 应用软件便于移植的良好基础。而且通过定义独立 于平台的基本数据类型及其运算,j a v a 数据得以在任何硬件平台上保持一致。 ( 6 ) 多线程 j a v a 提供的多线程功能使得在一个程序里可同时执行多个任务。多线程提供更好的 交互性能和实时控制性能,而且多线程在丌发难易程度和性能上都比单线程要好。 ( 7 ) 动态性 j a v a 的动态特性是其面向对象设计方法的拓展,它允许程序动态地装入运行过程中 所需要的类。 2 2j 2 e e 技术及其优势 由j a v a 发展而来的j 2 e e 平台,被设计成为构建多层体系结构系统的平台,它给软 件设计带来很大灵活性的同时,降低了软件开发、管理、部署和维护的复杂度。 2 2 1j 2 e e 的定义 目前,j a v a2 ( j a v a 语言的一个版本) 平台有3 个版本,分别是适用于小型设备和智能 卡的m i c r o 版( j a v a2p l a t f o r mm i c r oe d i t i o n ,j 2 m e ) 、适用于桌面系统的标准版( j a v a2 p l a t f o r ms t a n d a r de d i t i o n ,j 2 s e ) 以及适用于创建服务器应用程序和服务的企业版( j a v a2 p l a t f o r me n t e r p r i s ee d i t i o n j 2 e e ) 。 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关的复杂问 题的体系结构,它是一整套功能非常健壮的开发企业级中间件的规范。j 2 e e 技术的基础 就是核心j a v a 平台或j 2 s e ,j 2 e e 不仅巩固了j 2 s e 中的许多优点,例如”编写一次、随 处运行”的特性、方便存取数据库的j d b c a p i 以及支持c o r b a 技术等等,同时还提供 了对e j b 、j a v as e r v l e t 、j s p 以及x m l 技术的全面支持。 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据 它们所在的层分布在不同的机器上。事实上,s u n 公司设计j 2 e e 的初衷正是为了解决两 山东科技大学硕士学位论文 j 2 e e 技术规范 层c s 模式的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,第一次部署 比较容易,但难于升级或改进,可扩展性也不理想,而且经常基于某种专有的协议,这 使得重用业务逻辑和界面逻辑非常困难。现在j 2 e e 的多层企业级应用模型将两层化模 型中的不同层面切分成许多层,一个多层化应用能够为不同的服务提供一个独立的层。 客户层w e b 层业务层企业信息 系统层 w e b 容器e j b 容器 w e b 、 | c | 应用程序 ( e n t e r p r i s e 竺! 图2 ij 2 e e 逻辑体系结构 f i g 2 j 2 e el o g i ca r c h i t e c t u r e j 2 e e 共分为四层,分别是运行在客户端机器上的客户层、运行在w e b 服务器上的 w e b 层、运行在e j b 服务器上的业务层和运行在e i s 服务器上企业信息系统层,其中 w e b 层和业务层共同组成了j 2 e e 应用的中间层。j 2 e e 的逻辑体系结构如图2 。l 所示。 j 2 e e 规范定义了相应层的组件: ( 1 ) 客户层 应用客户端程序和浏览器是客户层组件。客户层组件可以是基于w e b 方式的即作为 w e b 服务器的浏览器也可以是基于传统方式的即独立的应用程序。 一个w e b 客户端由两部分组成:由运行在w e b 层的w e b 组件生成的包含各种标记 语言的动态w e b 页面和接受从服务器传送来的页面并将它显示出来的w e b 页面。个 w e b 客户端有时被称之为瘦客户端。瘦客户端一般不做象数据库查询、执行复杂的业务 规则及连接传统应用程序这样的操作。当使用一个瘦客户端时,象这样的重量级的操作 被交给了在j 2 e e 服务器执行的e j b 。这样就可以充分发挥j 2 e e 服务器端技术在安全性、 速度、耐用性和可靠性方面的优势。 j 2 e e 应用程序客户端运行在客户端机器上,它使得用户可以处理需要比标记语言所 能提供的更丰富的用户界面的任务。具有代表性的是用s w i n g 或抽象窗口工具包( a w t ) 建立的图形用户界面。应用程序客户端直接访问运行在业务层的e j b 。 ( 2 ) w e b 层 w e b 组件与基于w e b 的客户端( 如w e b 浏览器) 进行交互。j 2 e e 中有两类w e b 组件: s e r v l e t 组件和j s p 组件,它们都对用户处理数据的表达。s e r v l e t 是一个j a v a 编程语言类, s 些变型苎查堂堡主兰竺堕奎 坚曼墨塾查塑垄 它可以动态地处理请求并作出响应。j s p 页面是一个基于文本的文档,它以s e r v l e t 的方 式执行,但是它可以更方便建立静态内容。 ( 3 ) 业务层 作为解决或满足某个特定业务领域需要的逻辑的业务代码由运行在业务层的e j b 来 执行。一个e j b 从客户程序处接收数据,对数据进行处理,再将数据发送到企业信息系 统层存储;e j b 还从存储中检索数据,并将数据送回客户程序。运行在业务层的e j b 依 赖于容器来为诸如事务、生命期、状态管理、多线程及资源存储池等提供通常都是非常 复杂的系统级代码。业务层通常又被称为e j b 层。 ( 4 ) 企业信息系统层 企业信息系统层运行企业信息系统软件,包括企业基础设施系统,例如企业资源计 戈o ( e r p ) 、大型机事务处理、数据库系统及其他遗留信息系统。j 2 e e 应用组件因为某种 原因( 例如访问数据库) 可能需要访问企业信息系统。 2 2 2j 2 e e 技术的优势 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可 靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j 2 e e 降低了开发多层应用 的费用和复杂性,同时提供对现有应用程序集成强有力支持完全支持e j b ,有良好的 向导支持打包和部署应用。添加目录支持,增强了安全机制,提高了性能。 j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的应用系统提供了良好的机制: ( 】) 保留现有的i t 资产 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重 新开发新的系统就变得很重要,j 2 e e 架构就可以满足用户的这种需要。j 2 e e 拥有广泛 的、止界支持和一些重要的企业计算领域供应商的参与,对现有的客户提供了不用废弃已 有投资的升级途径。由于基于j 2 e e 平台的产品几乎能够在任何操作系统和硬件配鼹上 运行,所以现有的操作系统和硬件也能被保留使用。 ( 2 1 高效的开发 j 2 e e 允许把一些通用的、很繁琐的服务端任务交给中间件供应商去完成,这样开发 人员可以集中精力在如何创建业务逻辑上,相应地缩短了开发时间。基于j 2 e e 的应用 程序不依赖任何特定操作系统、中间件、硬件,因此设计合理的基于j 2 e e 的程序只需 开发一次就可部署到各种平台,这在典型的异构企业计算环境中是十分关键的。j 2 e e 标 准也允许客户订购与j 2 e e 兼容的第三方的现成的组件,把他们部署到异构环境中。 6 山东科技人学硕士学位论文 j 2 e e 技术舰范 ( 3 ) 可伸缩性 企业必须要选择一种服务器端平台,这种平台应能提供较好的可伸缩性去满足那些 在他们系统上进行业务运作的大批客户。基于j 2 e e 平台的应用程序可被部署到各种操 作系统上。j 2 e e 领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈, 允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。 ( 4 ) 稳定的可用性 服务器端平台必须能全天候运转以满足公司客户和合作伙伴的需要,因为 i n t e r n e t 是全球化的,即使在夜间按计划停机也可能造成严重损失,若是意外停机 那会有灾难性后果。j 2 e e 被部署到可靠的操作环境中,他们支持长期的可用性,这对实 时性要求很强的商业系统至为重要。 基于层次化组件模式的j 2 e e 平台由于具有上述特性,已经成为企业级商业分布式 网络计算的事实标准。 2 3j 2 e e 的a p i 与组件 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接口( a p i s ) 平1 1 协议构成,它对丌发基于 w e b 的多层应用提供了强有力的功能支持,下面对j 2 e e 中的1 3 种技术规范进行简单的 描述: ( 1 ) e j b ( e n t e r p r i s ej a v a b e a n ) e j b 提供了一个框架来开发和实施分布式业务逻辑,由此很显著地简化了具有可伸 缩性和高度复杂的企业级应用的开发。e j b 规范定义了e j b 组件在何时如何与它们的容 器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源 缓冲池以及容错性。e j b 是j 2 e e 的核心部分。 ( 2 ) j a v a 远程方法调用( r m i ) 年1 1r m i i i o p r m i 是j a v a 语言自身提供的用来在分布式对象之间通信的机制,而r v i i i i o p 是r m l 可移植的扩展,可以应用i n t e m e ti n t e r - o r b 协议,并能够用来与c o r b a 集成。 ( 3 ) j a v a 命名和目录接1 3 ( j n d i ) 3 n d i 用于访问命名和目录系统,它提供了一致的模型来存取和操作企业级的资源, 如本地文件系统或应用服务器中的对象。j n d i 为应用程序提供标准的命名和目录操作方 法。使用j n d i ,一个j 2 e e 应用程序可以存储和查找得到任何类型的命名j a v a 对象。因 为j n d i 不依赖于任何特定的执行,应用程序可以使用j n d i 访问各种命名目录服务,包 山东科技大学硕t 学位论文 3 2 e e 教术翘花 括现有的各种诸如l d a p 、n d s 、d n s 和n i s 这样的命名目录服务。 ( 4 ) j a v a 数据库连接( j d b c ) j d b c 是访问关系数据库的a p i ,它为访问不同的数据库提供了一种统一的途径。 通过j d b c 可以从j a v a 编程语言的方法中调用s q l 命令,从而对数据库进行操作。 ( 5 ) j a v a 事务处理a p i ( j t a ) ; i j a v a 事务处理服务( j t s ) j t a 和j t s 规范为组件提供了可靠的事务处理支持。j 2 e e 体系结构提供了一个默认 的自动提交以处理事务的提交和回滚。 ( 6 1j a v a 消息服务( j m s ) j m s 是用于和面向消息的中间件相互通信的a p i 。j m s 允许j 2 e e 应用程序建立、 发送、接受和阅读消息,它使得建立连接简单的、可靠的和异步的分布式通信成为可能。 ( 7 ) j a v as e r v l e t s e r v l e t 是用来扩展w e b 服务器功能的网络组件,它基于请求i n l ;j 应机制。s e r v l e t 从 客户端( 例如w e b 浏览器) 获得请求然后,将响应结果返回客户端。 ( 8 ) j s p j s p 页面由h t m l 代码和嵌入其中的j a v a 代码所组成。服务器在页面被客户端所请 求以后对这些j a v a 代码进行处理,然后将生成的h t m l 页面返回给客户端的浏览器。 ( 9 ) j a v a i d l j a v ai d l 是s u n 公司基于j a v a 的对c o r b a 规范的实现,j a v ai d l 允许与其他语占 集成而且它能够让分布式对象利用c o r b a 提供的全面服务。 ( 1 0 ) j a v a m a i l j a v a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件服务器的抽象类。 j a v a m a i l 服务可以使j a v a 应用程序以一种平台无关的、协议无关的方式发送电子邮件。 j 2 e e 应用程序可以使用j a v a m a i la p i 来发送e m a i l 。 ( 1 1 ) j 2 e e 连接器构架( j c a ) j c a 可以从一个j 2 e e 部署访问现有企业信息系统。j 2 e e 工具提供商和系统集成者 使用j c a 建立可以加入到任何j 2 e e 产品的支持访问企业信息系统的资源适配器。一个 资源适配器就是一个使得j 2 e e 应用程序组件可以访问底层的资源管理器并与其实现交 互的软件组件。 ( 1 2 ) x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) x m l 是一种可以用来定义其它标记语言的语言,它被用来在不同的业务过程中共享 生查壁些查兰塑主兰生堡苎 ! ! 望垫查塑翌 数据。x m l 使数据可以被任何程序和工具读取和处理。j a v ax m l 处理a p i ( j a x p ) 支持 使用d o m 、s a x 和x s l t 对x m l 文档进行处理。j a x p 使得应用程序可以不依赖于特 殊的x m l 处理执行来解析和转换x m l 文档。 ( 1 3 ) j a v a 认证和授权服务( j a a s ) 在j 2 e e 中,j a a s 是执行与安全相关的操作的标准a p i 。j a a s 为j 2 e e 应用程序提 供了一个方法以为一个特定的用户或一组用户进行认证和授权。j a a s 是标准的可插入 认证模块( p a m ) 结构的j a v a 版本,它对j a v a2 平台的安全认证框架进行了扩展以支持基 于用户的安全认证。 9 山东科技大学硕士学位论文e j b 技术规范介绍与分析 3e j b 技术规范介绍与分析 j 2 e e 作为一个成功的应用程序模型,其主要优点是拥有中间层的多层应用程序而 j 2 e e 平台的中间层功能是由e j b ( e n t e r p r i s ej a v a b e a n ) 实现的。由此可见,e j b 技术是整 个j 2 e e 技术的核心。e j b 是用于开发和部署多层结构的、分布式的、面向对象的j a v a 应 用系统的跨平台的组件体系结构。应用系统可以在一个支持e j b 的环境中开发,开发完 之后部署在其他的环境中。随着需求的改变,应用系统可以不加修改地迁移到其他功能 更强、更复杂的服务器上。 3 1e j b 技术及其优点 e j b 规范为基于组件的事务陛、分布式对象系统定义了一个体系结构。该规范规定 了一个编程规则,即组成e j ba p i 的契约或协议以及一组类和接口。e j b 契约的目标是 在支持一组丰富功能性的同时能够确保供应商之间的可移植性。 3 1 1e j b 的体系结构 e j b 上层的分布式应用程序是基于对象组件模型的,低层的事务服务使用a p i 技术。 e j b 技术定义了一组可重用的组件:e n t e r p r i s eb e a n ,利用这些组件建立分布式应用程序。 当把代码写好之后,这些组件就被组合到特定的文件中去。每个文件有一个或多个 e n t e r p r i s eb e a n ,再加上一些配置参数。最后,这些e n t e r p r i s eb e a n 被配置到一个装了 e j b 容器的平台上。客户能够通过这些b e a n 的h o m e 接口定位到某个b e a n ,并产生这 个b e a n 的一个实例。这样,客户就能够调用b e a n 的应用方法了。 图3 ie j b 的体系结构 f i g 3 1e j ba r c h i t e c t u r e e j b 服务器作为容器和低层平台的桥梁管理着e j b 容器,它向e j b 容器提供了访问 些壅型垫查兰堡主兰些堡壅 型呈垫查塑蔓坌塑兰坌塑 系统服务的能力。e j b 的体系结构如图3 1 所示。 3 1 2e j b 容器 e n t e r p r i s eb e a n 是在称作e j b 容器的特殊环境中运行的软件组件。e j b 容器提供了 系统级的服务,控制了e j b 的生命周期,在运行时管理e n t e r p r i s eb e a n 的各个方面,包 括远程访问b e a n 、安全性、持久化、事务、并行性和对资源的访问。通常来说,e j b 容 器提供的服务主要有: ( i ) 资源管理和b e a n 组件生命周期管理 容器提供了对数据库连接和套接字连接等资源的管理,而且容器还可以有效地重用 资源,以实现更好的性能。此外。e j b 容器还负责控制已部署的e j b 组件的生命周期。 ( 2 ) 状态管理 容器为有状态的e j b 组件提供了状态管理服务,这一般是通过钝化激活策略实现 的。状态管理在通过重用组件实现多用户服务时尤为重要。通过状态管理,可实现资源 的优化利用。 ( 3 ) 事务处理 事务处理是解决多组件参与的分布式对象操作的一种安全措施。一个事务是指通过 一系列的操作来完成一个大型的、不可分割的任务。事务处理能保证数据库数据的一致 性和不同组件的数据库操作相互隔离。e j b 容器负责处理底层的事务,协调一个事务处 理中各个部分的工作。 ( 4 ) 安全性 在允许客户访问企业b e a n 之前,容器执行安全检查,验证用户的身份,这是通过 访问控制列表实现的。访问控制列表是用户和其权限的列表,如果用户拥有正确的权限, 就能执行所需的操作。 ( 5 ) 持久性 e j b 容器可为容器管理的持久性实体b e a n 组件提供透明的持久性服务,而且,容器 负责生成数据访问逻辑。 ( 6 ) 远程访问和透明的资源定位 e j b 容器使用j a v a 远程调用接口r m i 实现远程访问。r m i 可以使客户端不用知道 调用组件的物理地址,组件能在任何位置被定位。而且,e j b 容器还提供了透明的资源 定位服务。在进行维护的过程中,由于客户代码的执行完全独立于物理上的地址,透明 资源定位允许使用网络上其他机器中的组件。如果网络上的一台机器因某种故障而崩溃, l l 生查! ! 垫查兰堡主兰竺堕苎! 坚苎查塑翌坌塑兰坌塑 其客户端代码能够自动转移到其他机器上的组件继续执行,这样就大大提高了系统容错 能力。 ( 7 ) 连接代码和b e a n 组件安装工具 e j b 容器带有一套连接代码工具,这些工具对将b e a n 组件集成到e j b 容器环境中 具有非常重要的意义。这些工具产生辅助的j a v a 代码,例如根程序( s t u b ) 、框架程序 ( s k e l e t o n ) 、数据访问类等。容器的连接代码工具负责将企业级b e a n 组件转换成完全可 管理的、分布式的服务器端组件。 容器不允许客户机应用程序直接访问e n t e r p r i s eb e a n 。当客户机应用程序调用 e n t e r p r i s eb e a n 上的远程方法时,容器首先拦截调用,以确保持久化、事务和安全性都 币确应用于客户机对b e a n 执行的每一个操作。容器自动为b e a n 管理安全性、事务和 持久化,于是b e a n 开发人员可以将精力集中于处理业务规则。 e j b 容器同时管理许多b e a n ,为减少内存消耗和处理,容器合用资源并管理所有 b e a n 的生命周期。当不使用某个b e a n 时,容器将它放在池中以便另一个客户机重用, 或者可能将其逐出内存,仅当需要时再将其调回内存。e j b 规范定义了b e a n 一容器契约, 它包括了一组严谨的规则这些规则描述了e n t e r p r i s eb e a n 及其容器在运行时的行为、 如何检查安全性访问、如何管理事务、如何应用持续等。b e a n 容器契约旨在使e n t e r p r i s e b e a n 可以在e j b 容器之间移植,从而可以只开发一次e n t e r p r i s eb e a n ,然后在任何e j b 容器运行该e n t e r p r i s eb e a n 。 3 1 3e j b 的组成 为创建e j b 服务器端组件,e j b 技术规范提供了两个定义b e a n 业务方法的接口 h o m e 接口和远程接口,以及真正的b e a n 实现类。客户机使用b e a n 的公共接口来 创建、操作b e a n 。实现类称为b e a n 类,在运行时被实例化,且成为分布式对象。 ( 1 ) e j b 对象和远程接口 e n t e r p r i s eb e a n 不是可以直接使用的远程对象,当客户端想使用e n t e r p r i s eb e a n 类 的实例时,客户端不是对实际的b e a n 实例进行方法调用,而是由e j b 容器截获调用, 然后传递给b e a n 实例。e j b 容器充当客户端和b e a n 之间的间接调用层,这层结构具有 网络功能,称之为e j b 对象。e j b 对象是一种代理对象,具有网络功能,执行事务处理, 提供安全措施等。它又是一种职能对象,在b e a n 类的实例响应方法调用之前je j b 对象 知道如何执行e j b 容器所要求的中间逻辑。e j b 对象负责把客户端所有的请求传递给 b e a l l ,调用过程如图3 2 所示。远程接口负责定义对应的b e a n 类公开的所有业务逻辑方 山东科技入学硕士学位论立 e b 技术规范介绍与分析 法,以使b e a n 的客户对e j b 对象调用方法,而不是直接调用b e a n 本身。 一= = = = = = = 二二= = = = = = = 一 i 二= 二= = = 二= 一一 h 。m e 接u e j b 容器服务器 i :创建一个新 的e j b 埘纪 膏麓揣娼2 慧j 创建e j b 对盈 i7 :返剧 e j b 对琢 6 :涮用 b e a n 远程接u5 ;调用中间件a p 事务服务、立全服 务、持久化服务 等 幽3 2e j b 方法调州过群 f i g 3 2p r o c e s so f e j bm e t h o di n v o c a t i o n ( 2 1 h o m e 对象和h o m e 接口 h o m e 对象负责对e j b 对象的实例化和回收,其主要职责为:生成e j b 对象;查找 现存的e j b 对象;删除e j b 对象。通过h o m e 对象可获得对e j b 对象的引用,从而实现 了e j b 对象的位置透明。e j b 的客户端通过它的h o m e 接口创建它的实例。h o m e 接口 包含一个或多个用来创建e j b 实例的c r e a t e 方法。h o m e 接口用于定义生成、回收、查 找e j b 对象方法,具体的则由e j b 容器的h o m e 对象来实现,过程如图3 2 所示。 f 3 ) 本地接口 由于存在网络开销,通过h o m e 接口和远程接口调用b e m a 速度较慢。效率低下。通 过远程接口调用e j b 的过程如图3 3 所示。 图3 3 远程接口调用企业级b e a n f i g 3 3e j bi n v o c a t i o nt h r o u g hr e m o t ei n t e r f a c e 通过远程接口调用企业级b e a n 的步骤如下: 生蔓! ! 垫查竺堡主兰垡笙茎 ! 些垫查塑翌坌塑兰坌堑 客户端调用一个本地s t u b : s t u b 将参数整理成一种适合网络传输的形式; s t u b 通过网络与s k e l e t o n 连接: s k e l e t o n 将参数再整理成适合于j a v a 的形式; s k e l e t o n 调用e j b 对象; e j b 对象完成所需的中间件服务,例如事务处理、安全服务、生命周期服务等: 一旦e j b 对象调用了企业级b e a n 实例,并且b e a n 完成了它的工作,以上步骤 都将在返回h o m e 途中重复执行。 其中,s t u b 称为存根程序它是一个客户端代理对象负责处理与客户端的网络通 信。存根程序知道如何在网络中进行调用和将参数映射到网络的表达方式。s k e l e t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 皮具设计师设备维护与保养考核试卷及答案
- 仪表着陆系统、测距仪机务员入职考核试卷及答案
- 仓库货物盘点操作流程及表格
- 煤气化工前沿技术考核试卷及答案
- 乳品浓缩工转正考核试卷及答案
- 三、生活中的透镜教学设计-2023-2024学年初中物理八年级下册北师大版(闫金铎)
- 教师职业成长过程记录模板
- 绵阳市道路施工方案
- 消费者权益法律保护效果评估报告
- 生产设备安全操作培训成本效益分析报告
- 2025湖北宜昌市不动产交易和登记中心招聘编外聘用人员17人考试参考题库及答案解析
- 疼痛介入治疗的护理
- DB44-T 2542-2024 自然教育基地建设规范
- 《拒绝努力羞耻症》学习动力主题班会课件
- 2025AICon全球人工智能开发与应用大会-上海站:昇腾推理技术的优化实践
- 第2课 信息技术伴成长教学设计-2025-2026学年小学信息技术(信息科技)第八册(2019)电子工业版(安徽)
- 2025年数字解密:药食同源生意下最香的成分与赛道研究报告
- GB/T 12643-2025机器人词汇
- 《近现代史纲要教学资料》中国近现代史纲要
- Q∕GDW 12174-2021 智能量测开关技术规范
- T∕CBJ 2111-2022 调香白酒
评论
0/150
提交评论