




已阅读5页,还剩47页未读, 继续免费阅读
(计算机应用技术专业论文)基于ejbxml的ntier计算模型的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 以e j b ( e n t e r p r i s ej a v ab e a n ) 为核心的j 2 e e 体系结构和以x m l 为标准的w e bs e r v i c e 框架近年来得到了迅猛发展,分别在企业级计 算和b 2 b 电子商务领域得到了广泛的应用。如何对这两种不同类型 的体系结构进行合并,使j 2 e e 系统能利用x m l 这种中性介质同其 他系统进行交互,是本文所要解决的问题。本文对这两种体系结构 模型进行了全面综合的考察,建立了w e bs e r v i c e 使能的j 2 e e 体系 结构模型,分析了各子系统之间的交互及其具体的流程。在以上分 析的基础上,本文提出了建立w e bs e r v i c e 使能的j 2 e e 系统的两种 不同的解决方案:“2 世l 些盘岱垂”模式和“i 垦些动盔熬握佳捡盈 象”模式。采用这两种设计模式后可以使j 2 e e 系统具备了w e b s e r v i c e 能力,其他系统便能通过基于x m l 协议( 如s o a p 、u d d i 、 e b m ,) 与该j 2 e e 系统进行交互。最后,本文给出了这两中解决方 案的接口、类和部分代码实例,并比较了它们之间的异同。 关键字:e j b j 2 e e x m lw e bs e r v i c e 设计模式 n t i e rc o m p u t em o d e l sr e s e a r c hb a s e do ne j b - x m l a b s t r a c t j 2 e ew h o s ec o r ei se j b ( e n t e r p r i s ej a v a1 3 e a n ) t e c h n o l o g ya n dt h ew e b s e r v i c eu s i n gx m ls t a n d a r d sh a v eb e i n gd e v e l o p i n gv e r yq u i c k l yf o r y e a r s a n dt h e yh a v eb e e nu s e dv e r yw i d e l yi nt h ea r e ao fe n m r p d s e s c a l c u l a t i o na n dt h ea r e ao fb 2 be l e c l r o n i cb u s i n e s s t h ea r t i c l ei s f o c u s e do nt h ep r o b l e mh o wt oi n t e g r a t et h e s et w oa r c h i t e c t u r e si no r d e r t h a tx m l 1 h en e u t r a ll a n g u a g ec r nb eu s e di nj 2 e es y s t e mt o c o o p e r a t ew i t ho t h e rs y s t e m s a f t e rc o m p r e h e n s i v er e s e a r c h i n go ft h e s e t w oa r c h i t e c t u r e s ,t h i sa r t i c l es e t su pt h ex m le n a b l e da r c h i t e c t u r eo f j 2 e e a n da tt h es a l l l l et i m e ,i ta n a l y s e st h ec o o p e r a t i o no ft h e s u b s y s t e m so ft h i sa r c h i t e c t u r ea n dt h ec o n c r e t ef l o w s o nt h eb a s i so f t h er e s u l t so fa n a l y s i s ,t h i sa r t i c l ep u t sf o r w a r dt h et w os o l u t i o n so ft h i s p r o b l e m :t h e x m lb u s i n e s sd e l e g a t e p a t t e r na n dt h e x m ld y n a m i c d a t at r a n s f e ro b j e c t ”p a t t e r n a p p l y i n gt h e s et w os o l u t i o n s ,t h ej 2 e e s y s t e mh a st h ea b i l i t yo fx m la n dc a nc o o p e r a t ew i t ho t h e rs y s t e m s u s i n gt h ex m lp r o t o c o l s ,s u c ha ss o a p , u d d i ,e b x m l f i n a l l y , t h i s a r t i c l ec o m p a r e st h e s et w os o l u t i o n sa n db r i n g sf o r w a r dt h ei n t e r f a c e s , c l a s s e sa n dp a r t so f r e a l i z a t i o no f t h e s es o l u t i o n s k e y w o r d :e j b j 2 e e x m lw e bs e r v i c ed e s i g np a t t e r n 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含为获得石油大学 或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 签名: 2 嘲年5 月侈日 关于论文使用授权的说明 本人完全了解石油大学有关保留、使用学位论文的规定,即:学校有 权保留送交论文的复印件及电子版,允许论文被查阅和借阅:学校可以公 布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密论文在解密后应遵守此规定) 学生签名:互鲺2 p 哆年岁月。,弓日 导师签名: 亟 兰里盘 扣,年上月;日 石油大学( 华东) 硕士论文 第1 章前言 第1 章前言 随着计算机技术与i n t e m e t 的飞速发展,计算模型经历了从单机模式、 客户服务器模式,发展到较为流行的浏览器,服务器模式。如今软件产品 的规模越来越大、各方面性能要求进一步提高,分布式计算借助于强大的 i n t e m e t i n t r a n e t 技术已经得到了广泛的应用。目前存在着三种流行的分布 式计算标准:1 ) m i c r o s o f t sd i s t r i b u t e di n t e r n c ta p p l i c a t i o n sa r c h i t e c t u r e , 其核心为d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) ;劲s u n m i c r o s y s t e m s sj a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ,其核心为e j b ( e n t e r p r i s e j a v ab e a n ) t q ;3 ) t h eo b j e c tm a n a g e m e n tg r o u p sc o r b as t a n d a r d 。d c o m 是一个产品,只局限于微软的平台,没有得到业界的广泛支持,而c o r b a 和e j b 则是一个通用的规范,得到了绝大多数公司的支持。c o r b a 规范 比较复杂,且标准制定缓慢,并没达到成熟的阶段,而j 2 e e 平台得到了 大部分公司的认可,目前市场上出现了许多j 2 e e 兼容的应用服务器,如 b e a sw e b l o g i c 、i b m w e b s p h e r e 、s u n si p l a n f 汀,o r a c l e9 i a p p l i c a t i o ns e r v e r 等等。通过采用j 2 e e 平台,用户可以摆脱诸如负载平 衡、安全、分布式事务处理、分布式垃圾收集、资源管理等等一系列被称 为“中间件”服务的困扰,而专注于具体的、本身所专长的业务逻辑;通 过选择满足具体要求的、j 2 e e 兼容的应用服务器,用户可以采用配置的 方式声明所需要的中间件服务,这极大的提高软件开发的效率。这种软件 开发模式非常适合于规模大、对各方面要求都比较高的企业计算领域。 同时,目前在i n t e m e v i n t r a n e t 上充满了各种各样的服务和应用,可这 些服务大部分基于不同的协议,采用不同的数据交换和表示格式,很难在 这些服务和应用之间进行交互,因此在i n t e r n e t i n t r a n e t 上采用统一的标准 发布各种服务,使用统一的数据格式在各种服务之间进行互操作,已经成 石油大学( 华东) 硕士论文 第1 章前言 为一种迫切的要求。x m l 的出现及其相关协议的逐步成熟,使这一问题 有了一个理想的、概念上的解决方案【2 】。x m l 作为一种中性的数据,非 常适用于各平台之间、各种服务之间的交互。尤其是在b 2 b 电子商务领 域,x m l 的应用更有一种无可比拟的优势。正是由于x m l 的逐步成熟, w e bs e r v i c e n 的概念已经向外延伸,不仅仅是指传统的,基于w e b 页面的 h t t p 服务,而是一种以x m l 为标准的、运行在i n t e r n e t i n t r a n e t 上的服务, 它通过i n t e r n e t i n t r a n e t 接受来自其他系统的请求,而这些请求采用一种轻 量的、独立于各供应商的、基于x m l 的通讯协议。传统的、基于h t t p 的 w e b 服务仅仅是一种用户操作接口,它生成的w e b 页面是用来显示给用 户的,一般不用来给其他服务共享和调用。而基于x m l 的w 曲s e r v i c e 是一种编程接口,别的系统通过基于x m l 协议可以调用该服务,从而实 现软件的共享和重用。 可是由于j 2 e e 平台以i a v a 语言为基础,从e j b l 0 到e j b 2 0 规范, 并不直接支持上面所说的、以x m l 标准的w e bs e r v i c e ,也就是说j 2 e e 平台不具有新一代w e bs e r v i c e 的能力 4 1 。如何使基于j 2 e e 的应用具有 w e bs e r v i c e 能力,使之能通过i n t e r n e t i n t r a n e t 与其他异构的、非j a v a 系 统进行互操作,是本论文所关注的问题。通过构建w 曲s e r v i c e 使能的、 基于j 2 e e 的应用,也就是在j 2 e e 平台上创建基于x m l 的w 曲s e r v i c e , 这样使得企业计算领域的应用与其他领域的应用通过i n t e r n e t i n t r a n e t 进 行共享和互操作,能更有效的实现资源的利用,提高软件的复用率,从而 可以节约大量的人力和物力资源。特别是可以将企业计算和b 2 b 电子商 务两个领域的应用进行全面的结合,为电子商务领域提供稳定、强大、高 性能的企业计算和分布式计算平台,这对于促进电子商务的发展将有非常 重要的意义。 “al a y e rc a ns o l v ee v e r y t h i n g ! 5 j ,这是计算机科学领域流行的一句名 2 一 石油大学( 华东) 硕士论文第1 章前言 言,几乎在计算机科学的许多领域都有很好的体现。本文基于这一思想, 重点探讨j 2 e e 与w e bs e r v i c e 相结合的问题。本文首先具体分析了j 2 e e 体系结构模型和以x m l 为标准的w e bs e r v i c e 发布模型,在结合以上两 种模型的基础上提出了w e bs e r v i c e 使能的j 2 e e 体系结构模型,具体分 析了各层之间的连接和具体可能使用的协议。然后在以上分析的基础上, 借鉴设计模式思想,将一些通用的设计模式和e j b 设计模式组合,提出 了针对该问题的两种具体解决方案:“x m l 业务代表”模式和“x m l 动 态数据传输对象”模式。分析了各模式解决问题的具体策略以及相关的实 现,同时也给出了一些组成这些模式的通用的类和接口。最后对这两种模 式进行讨论,比较其异同,并给出具体的适用范围。 本文研究和代码实现所采用的应用服务器是w e b l o g i c 6 1 ,集成开发 环境是j b u i l d e r 6 ,数据库服务器为o r a c l e 8 i 。当然,本论文仅仅针对j 2 e e 平台进行研究,讨论其与w e bs e r v i c e 发布框架相结合的问题。再次强调, 该w e bs e r v i c e 不是传统的、基于h t t p 的w e b 服务,而是以江l 为标准 的w e b 服务。 随着i n t e m e t i n t r a n e t 和w e bs e r v i c e 的不断发展和成熟,相信在不久 的将来,w e bs e r v i c e 将作为包括j 2 e e 平台在内的、运行在i n t e m e t i n t r a n e t 上的绝大部分平台的内在机制,那时,“w e bs e r v i c e 的神话”将变成现实。 石油大学( 华东) 硕士论文第2 章w e bs e i c e 使能的j 2 e e 体系结构模型 第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 2 1 总体结构概述 w e bs e r v i c e 体系结构是一种面向服务的体系结构,它定义了分布式 编程和应用发布的一个全新的视图,而这种结构非常紧密的与i n t e r n e t 相 结合。w e bs e r v i c e 能够用来创建和发布“自描述”的应用,这些应用能 够发现和调用运行在i n t e m e t 上的其他基于w e bs e r v i c e 的应用,从而完 成复杂的任务。w e bs e r v i c e 具有以 下特征:w e bs e r v i c e 形成一个分布 式环境;w e bs e r v i c e 使用三层模型, 如图2 1 所示:w e bs e r v i c e 的组件是 松散耦合的;在通信方面,w e b 服务 依赖于开放式的w e b 标准:t c p i p 、 h t t p 、x m l ,包含过程调用、描述、 发布、发布、查找、绑定等内容的基图2 - 1w e bs e r v i c e 三层模型 于x m l 的协议【6 】。 从图2 - i 中可以看出,w e b 服务供应商( s e r v i c ep r o v i d e r ) 在服务注 册表中( s e r v i c er e g i s t r y ) 中描述和发布服务,服务请求者( s e r v i c e r e q u e s t e r ) 通过服务注册表发现服务描述,然后与服务供应商进行绑定, 并调用其所提供的服务。s o a p 、w s d l 和u d d i 用来提供这些操作的基 本框架,包括发布( w s d l ,u d d i ) 、查找( w s d l ,u d d i ) 和绑定( w s d l , s o a p ) w e bs e r v i c e 。这些具体的协议比较复杂,他们已经超出了本文的 讨论范围。当然要创建w e bs e r v i c e 使能的j 2 e e 应用,自然必须采用这 些机制,目前随着这些标准和协议的不断成熟。出现了很多第三方的产品 正 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 和工具,如a p a c h es o a p ,i b m 的 w s d lg e n e r a t i o nt 0 0 l 等,他们 都是直接支持j a v a 语言的,因此, 只要制定并实现了j 2 e e 应用对 外的w e bs e r v i c e 接口,就能通过 这些产品和工具生成和发布该应 用所提供的w e bs e r v i c e 了。进一 步来说,本论文的关键在于制定 j 2 e e 应用的w e bs e r v i c e 接口和 类,这些接口和类必须支持 x m l ,以x m l 的数据格式与其 他系统交互,有了这种接口,就图2 - 2 w e bs e r v i c e 和j 2 髓连接策略 可以使用现成的工具发布该服务 了。从以上分析可以看出,解决本文所讨论问题的策略是在j 2 e e 系统外 添加一层,这一层相当于一个适配器( a d a p t e r ) ,该适配器基于x m l , 将j 2 e e 系统与w e b 服务框架联系起来,本文将这一层命名为“x m l 适 配器层”,如图2 - 2 所示。因此下文研究的关键是如何根据业务服务层( e j b 层) 提供的服务建立相应的“x m l 适配器层”。 接下来本文将考察以e j b 为核心的j 2 e e 多层体系结构模型r 玎。如图 2 3 ,j 2 e e 体系结构一般分为四层:客户呈现层、服务器呈现层、服务器 端业务逻辑层和企业信息系统层。当然有的系统并没有第二层服务器 呈现层,只有另外三层。客户呈现层同时简称为客户层,用来处理与客户 的交互,并把来自系统的信息显示给用户。j 2 e e 用户支持不同类型的用 户,包括j a v a a p p l e t s ,j a v a 桌面应用和h t m l 用户等。服务器端呈现层 通常也称为w e b 层,该层产生传统w e b 客户的呈现( 表示) 逻辑,并接 5 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 受来自 客户端 的反馈。 在j 2 e e 平台中, 该层由 运行在 w e b 容 器内的 两种类 图2 - 3j 2 e e 体系结构模型 型的 w e b 组件实现,分别是s e r v l e t l 8 1 和j s p 唧组件。第三层可以简称为业务逻 辑层,里面处理关键的业务逻辑和业务流程,j 2 e e 平台中是用运行在应 用服务器( e j b 容器) 中e j b 组件来实现的。目前由三种类型的e j b 组 件:会话b e a n 、实体b e a n 和消息驱动b e a n 。会话b e a n 用来建模业务逻辑 和业务流程,实体b e a n 用来建模业务数据,而消息驱动b e a n 而用来处理 异步消息。最后一层则为企业信息系统层,包括数据库系统、事务处理系 统、其他遗产系统和企业资源计划等。 根据分层思想和分而治之的策略,前面两层可以合并统称为呈现层或 表示层。该层用来处理和用户的交互,并把来自业务逻辑层的数据显示给 用户。在j 2 e e 体系结构中,该层并不处理关键的业务逻辑,是按照不同 的用户需求进行定制的。从以上分析可以看出,这两层的逻辑和数据处理 没有共享的必要,也难以实现共享。因为一般来说,用户的需求是不同的, 从业务逻辑层取回的数据也不可能很全面,很难满足其他用户的需求。同 时,该层的输出都返回给特定的用户,显然这层输出的数据很可能已经不 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 再代表具体的、通用的业务数据,也不再体现具体的业务流程,而是经过 呈现逻辑包装或处理的结果。可以看出,数据和服务共享不适用于呈现层, 而业务逻辑层处理应用的核心业务逻辑,自然需要被其他系统和应用所访 问的,可以被多个系统所共享。 通过以上的分析,可以看出本论文所讨论的“使j 2 e e 系统具有w e b s e r v i c e 的能力”,其中的向外发布的w e bs e r v i c e 应该说是针对业务逻辑 层的,换句话说是将j 2 e e 业务逻辑层提供的服务以w e bs e r v i c e 的形式 发布,使其不仅仅针对j a v a 或j 2 e e 客户,其他基于i n t e r a c t 的系统可以 通过种基于x m l 的协议调用j 2 e e 应用提供的业务逻辑层服务。到此 j 2 e e 系统中要构建的w e bs e r v i c e 所反映的核心点已经讨论清楚了,下面 再简单分析另外一个问题:图2 2 中的“x m l 适配器层”在什么地方实 现,该层如何与其他层结合呢? 显然,这个问题的答案根据用户所使用的支持w e bs e r v i c e 的产品和 工具的不同而不同。不过不可能放在j 2 e e 平台的第三层业务逻辑层, 因为这层运行于j 2 e e 平台中的e j b 使能的应用服务器中,而其本身提供 的服务需要用“x m l 适配器层”进行适配以支持w e bs e r v i c e 的能力。显 然,w e bs e r v i c e 运行在i n t e r n e t 上,如果能借助j 2 e e 平台的w e b 组件 ( s e r v l e t 和j s p ) 向外发布w e bs e r v i c e ,使其和传统的w e bs e r v i c e 相兼 容,自然是一个比较理想的解决方案。而目前市场上已经出现采用这一方 案的简单产品a p a c h es o a p 。其他系统可以借助n t t p 协议进行传输数 据,采用s o a p 协议对w e bs e r v i c e 进行基于) 0 吡一i 心c 或异步方式的 调用【1 0 1 。继续讨论这一问题同样将超出本论文的范围,对于下面所给出的 w e bs e r v i c e 使能的j 2 e e 体系结构模型,将采用a p a c h es o a p 的解决方案。 对于第3 章所讨论的具体的解决方案,不再结合具体的w e bs e r v i c e 产品, 只是给出具体实现的类和接口。 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 结合以上分析,下面给出w e bs e r v i c e 使能的j 2 e e 体系结构模型, 如图2 4 所示。从图中可以看出,针对本论文所讨论的问题,该模型把j 2 e e 图2 - 4w e bs e r v i c e 使能的j 2 e e 体系结构模型 平台的核心部分统称为w e bs e r v i c e 层,这样便把j 2 e e 平台纳入了w e b s e r v i c e 的框架内。下面对该模型进行进一步的讨论。 2 2 客户层的连接分析 所谓客户层的连接是指圈2 4 中的w e bs e r v i c e 的请求者( 客户) 如 8 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 何访问w e bs e r v i c e 层。 第一种类型是异构的商业( 业务) 伙伴的连接,这也是本论文的重点 所在,就是让这 些异构系统通 过x m l 技术与 j 2 e e 平台进行 交互【l l 】。这些商 业伙伴使用各 种编程语言、中 间件和各种不 同的硬件。显 然,这种类型的 系统想访问 j 2 e e 系统时,图2 - 5x m l 请求的处理流程 发送的请求只 能以一种中性的数据格式m ,文档格式。下面讨论一下具体的访问 流程,注意该w e bs e r v i c e 请求的接收者是j a v as e r v i a 组件,当然实际也 可能不是j a v as e r v l e t ,需要根据具体使用的产品而定。接收请求的s e r v l e t 是一个基于请求应答模式的j a v a 对象,它运行在s e r v l e t 容器( 引擎) 内。 它能使用多种协议进行应答,如h t t p 、f t p 、p o p 。在这种情况下,s e r v l e t 用来响应h t t p 的请求,因为目前w c bs e r v i c e 的请求大部分都是基于 h t t p 协议,从而能突破防火墙的限制,其具体的流程如图2 - 5 所示: ( 1 ) 一个j a v as e r v l e t 组件接收到w e bs e r v i c e 的x m l 文档请求。 c 2 ) 这个s e r v l e t 处理接收的x m l 请求。 ( 3 ) 然后s e r v l e t 调用一个或多个企业j a v ab e a n 组件( f _ j b 组件) 来 9 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 执行业务数据的处理和复杂的业务逻辑。 ( 4 ) e j b 组件自己执行处理,包括运行具体的商业逻辑,并可能访问 其他外部系统,如数据库、遗产系统和其他w e bs e r v i c e 系统等。 ( 5 ) e j b 组件将运行结果返回给s e r v l e t 。 ( 6 ) s e r v l e t 处理e j b 返回的数据,装配( 转化) 成x m l 的形式。 ( 7 ) s c r v l c t 返回x m l 数据给调用的客户。 当然,为了实现这种形式的流程,就必须存在着一种和j a v a 语言相 结合的机制来发布、描述、定位和调用一个w e bs e r v i c e 。这些技术包括 u u i d ( 通用描述、发现和集成标准) 、j a x r ( j a v a a p i s f o r x m l r e g i s t r i e s ) 、 w s d l ( w e bs e r v i c e 描述语言) 、s o a p ( 简单对象访问协议) 、j x 假p c ( j a v aa p if o rx m lb a s e d0 1 1r p c ) 、e b ) ( m l 、j a x m ( j a v aa p if o rx m l m e s s a g i n g ) 等,关于如何访问已经存在且发布w e bs e r v i c e 系统具体将在 2 4 节讨论。 在图2 - 4 还有两种类型的客户,他们本身是基于j 2 e e 平台的,所以 并不是本文所研究的重点,但为了结构的完整性,下面简单的介绍一下。 以w e b 浏览器、无线浏览器为代表的瘦客户,他们的目标只是浏览 w e b 页面。w e bs e r v i c e 有责任根据w e b 页面的请求执行任何必要的操作, 显然j 2 e e 平台的动态服务器页面( j s p s e r v l e t 组件) 比较适合进行这样 的处理。j s p s e r v l e t 组件作为一种后台业务逻辑层的前端呈现( 表示) 接 口,一般基于h t t p 协议,他们通常产生h t m l x h t m l 数据。但是 j s p s e r v l e t 组件只是一种交互式的接口,用来处理用户和w e b 页面的交 互,并不是一种能被其他系统调用的编程接口。 还用一类是胖客户j a v a 应用,他们能一种比其他两种客户更为 高效的方式访问w e bs e r v i c e 平台( 图2 4 ) 。当然,他们也可以使用基于 x m l 的w 曲s e r v i c e 技术,比如u d d l ,w s d l ,s o a p 和e b x m l 等协议。 1 0 - 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 自然这种模式并不是高效的,因为使用统一的j 2 e e 平台,并不需要经过 x m l 的转换和处理。通常,胖客户使用效率更高、j a v ar m i ( 远程方法 调用) 和c o r b a 相结合的r m i i i o p 协议。 2 3w e bs e r v i c e 的实现 到目前为止,仅讨论了客户端与该w e bs e r v i c e 使能的j 2 e e 平台的 连接问题,下面来讨论w e bs e r v i c e 层内部的实现问题。在讨论w e bs e r v i c e 层之前,必须解决的问题是建立一个接口层,该层将收到x m l 请求的数 据转换成适当的格式,然后交给业务逻辑层处理;同样还需要将业务服务 层处理后返回的结果再转化成x m l 的格式。其实该层接口也就是图2 - 2 种“x m l 适配器层”,用来作为j 2 e e 平台和w e bs e r v i c e 框架之间的接口。 显然,在这一层需要使用功能强大的、基于j a v a 的接口来处理x m l 。其 中j a x p ( j a v aa p if o rx m lp a r s i n g ) i l2 】属于处理x m l 的基本接1 7 1 ,其 支持w 3 c 组织定义的两种访问x m l 的接口:d o m 和s a x 。如果光用 这些底层接口来处理x m l 数据和j a v a 对象之间的对应( 绑定) 关系,显 然是比较费劲的。现在已经有一些第三方产品来支持x m l 和j a v a 对象之 间的绑定关系。目前s u n 公司正在着手制定j a x b 1 3 】( j a v aa p if o rx m l b i n d i n g ) 规范,用来定义这一领域统一的a p i 。使用j a x b 接口,便可以 自动实现x m l 文档和j a v a 对象之间的互相转换,显然这种接口是一种较 高形式的接口,同时却又不失通用性,由于j a x b 并没有完善,目前并不 存在支持j a x b 的产品。 有时,从商业伙伴来的x m l 请求文档并不适合本地w e bs e r v i c e 的 x m l 模式定义。另外,有时也需要重新格式化和定制返回的结果以满足 不同类型客户的需求,比如有些用户需要返回的是x h t m l 格式的数据, 有的需要返回w m l 格式的数据。这就要求有一些通用的机制将一些基本 石油大学( 华东) 硕士论文第2 章w e bs e n r i c e 使能的j 2 e e 体系结构模型 的x m l 响应数据转化成不同的x m l 变体,以使系统能尽可能的支持不 同类型的用户。x s l t ( x m ls t y l e s h e e tl a n g u a g et r a n s f o r m a t i o n s ) 是用来 实现这一目的的机制,样式表定义了一些模板匹配的规则,而x s l t 引擎 能使用定义好的样式表来转换x m l 文档。关于这个问题也超过了本论文 的范围,以后的讨论都假定不存在或不需要解决这个问题,这个问题需要 根据不同类型的用户定义不同的样式表,经过x s l t 转换来解决。 当x m l 请求数据被转换成相应的j a v a 对象后,显然数据已经准备好, 将被送往e j b 层进行处理。e j b 是j 2 e e 平台中建模业务的最佳选择,使 用e j b 组件,同时将获得e j b 容器和应用服务器提供的高性能的中间件 服务,包括安全、连接池、负载平衡、事务和持久性等。前面已经提到, 目前有三种类型e j b 组件:会话b e a n 、实体b e a n 和消息b e a n 。其中会 话b e a n 用来建模业务逻辑和业务过程,实体b e a n 用来建模业务数据,而 消息驱动b e a n 用来处理异步消息。典型的,会话b e a n 将调用实体b e a n 以操作业务数据,而消息驱动b e a n 将接收和处理异步消息,同时也可能 调用会话b e a n 和实体b e a n 。在j 2 e e 系统中,一般通过j - n d l ( j a v a n a m i n g a n d d i r e c t o r yi n t e r f a c e ) 接口来创建、发现和回收e j b 组件。关于e j b 更 多的信息,请参考e d r o m a n 所编写的( m a s t c r i n g e n t e r p r i s ej a v a b e a n s ) 。 2 4 与后台其他系统的集成 最后一个要解决的问题是w e bs e r v i c e 使能的j 2 e e 应用如何与后台 其他系统相集成的问题,包括数据库系统、遗产系统和其他商业伙伴系统。 在j a v a 系统中,连接关系数据库有两个标准接口:j d b c 和s q l j 。与访 问关系数据库相比,要访问一些已经存在且运行的遗产系统可就不那么简 单了。连接那些遗产系统显然是相当富有挑战性的,而且是一项非常艰巨 的任务。大部分企业中可能存在着s a pr 3 ,s i e b e l ,i 2 等其他系统。s u n 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 公司为了规范集成和整合这些遗产系统,发布了j c a ( j a v ac o n n e c t o r a r c h i t e c t u r e ) 规范。使用j c a 接口,通过下载各供应商提供的针对该系 统的适配器,将很容易的解决与那些遗产系统进行集成。最后,对于需要 访问其他商业伙伴提供的基于x m l 的w e bs e r v i c e 系统的问题,这正和 本文所讨论的问题相反,本文所讨论的主要是j 2 e e 系统通过w e bs e r v i c e 框架被别的系统所访问,而这里是访问其他基于w e bs e r v i c e 的系统。显 然,访问基于w e bs e r v i c e 的系统需要使用w e bs e r v i c e 和x m l 相关的 a p i 。其中j a x r ( j a v a a p lf o rx m l r e g i s t e r s ) 用来查询商业伙伴发布在 u u i d 注册表中的w e bs e r v i c e ;j a x r p c ( j a v a a p i f o r x m l r p c ) 用来 执行对w e bs e r v i c e 进行基于x m l 的远程方法调用:j a x m ( j a v aa p if o r x m l m e s s a g i n g ) 用来发送s o a p 或e b x m l 异步消息到w e bs e r v i c e :j a x p ( j a v aa p if o rx i v i lp a r s i n g ) 和j a x b ( j a v aa p if o rx m l b i n d i n g ) 用于 图2 - 6 访问w e bs e r v i c e 的通用流程 石油大学( 华东) 硕士论文第2 章w e bs e r v i c e 使能的j 2 e e 体系结构模型 在j a v a 数据j a v a 对象和x m l 数据之间进行转换,其具体流程如图2 - 6 所示: ( 1 ) w e bs e r v i c e 供应商在u d d i 中注册该服务。 ( 2 ) 用户通过j a x r 接口在u d d i 中查找服务,并实现与具体服务 的绑定。 ( 3 ) 用户发送s o a p e b “l 请求。 ( 4 ) j a x mj a x r p c 层将用户请求以x m l h t t p 形式发送给具体 服务。 ( 5 ) 服务处理完请求后以x m l h t r p 的形式返回应答。 ( 6 ) 用户接收来自j a x mj a x r p c 层返回的结果。 ( 7 ) 通过j a x b j a x p 将接受的结果进行必要的处理和转换。 通过以上对w e bs e r v i c e 使能的j 2 e e 体系结构的综合分析和描述, 上述模型为在j 2 e e 平台上提供强大的、端对端的w e bs e r v i c e 提供了具 体的结构模型和解决策略,将具有普遍的通用性,从而将强大的企业计算 平台j 2 e e 平台与w e bs e r v i c e 框架相统一,或者说将j 2 e e 平台纳入 统一的w e bs e r v i c e 框架中,将有助于在i n t e m e t 共享和提供j 2 e e 平台所 提供的服务,这些服务对于任何非j a v a 系统的i n t e m e t 用户来说是透明的, 他们之间采用基于x m l 的协议进行交互。 1 4 石油大学( 华东) 硕士论文第3 章构建w e bs e r v i c e 使能的j 2 e e 应用的解决方案 第3 章构建w e bs e r v i c 8 使能的j 2 e e 应用的解决方案 3 1 总体描述 本章将描述构建w e bs e r v i c e 使能的j 2 e e 应用的具体的解决方案, 这自然不能停留在第二章所讨论的体系结构模型上,而应该更进一步,讨 论具体、实用的解决方案和策略,为他人开发这类应用时给出参考和指导, 当然如果能达到某种程度的重用性,包括代码重用和设计重用,显然更有 意义。这问题将涉及到计算机科学的另一个非常重要的领域0 0 a d ( 面向对象的分析和设计) 。 近年来,在面向对象的分析和设计领域出现了4 种不同粒度的重用概 念:架构、框架、模式和组件【1 4 1 。显然,组件的粒度最小,它包含了已经 实现的常用功能,这些功能具有普遍的通用性,设计组件的目的是为了给 其他用户共享这些功能,这种共享的层次是在代码级的基础上。在目前软 件大规模、高性能的基础上,基于组件的共享已经逐渐失去了优势。而对 于复杂的软件需求,组件是无能为力的。架构和框架则是粒度很大重用性 概念,要开发出一套非常通用的、适合各种领域复杂软件需求的架构和框 架,难度非常大。而且,架构和框架一般都是一整套复杂的体系,需要有 高效的环境特别是c a s e ( c o m p m e r a i ds o f t w a r ee n g i n e e r i n g ) 工具的支 持,这些对于本论文显然超出了所能讨论的范围。本文所提出的两种具体 解决方案都是基于设计模式【”】的粒度,以达到设计模式级别的重用性。 与面向对象思想的发展历程相比,设计模式则起步很晚。1 9 9 4 年, e r i c hg a m m a 、r i c h a r dh e l m 等4 人( 俗称“g o f ”或“四人帮”) 出版了 设计模式:可复用面向对象软件的基础这一划时代的著作,第一次在 计算机科学领域提出了设计模式的概念。设计模式的出现被称为是面向对 一1 5 石油大学( 华东) 硕士论文第3 章构建w e bs e r v i c e 使能的j 2 e e 应用的解决方案 象领域中的一个非常重要的里程碑。设计模式由于实用而受到欢迎,他们 能表达和重用专家的技术和经验,用来进行系统设计和分析。 设计模式是对于通常的、可重复出现问题的一种最好的、实际的解决 方案。也就是说,一个模式记录和讨论了一个重要的、富有挑战性的、在 设计或实现应用时能重复出现的问题;并且模式还提供了针对该问题的一 种最好的解决方案。随着时间的发展,越来越多的人开始注重模式的研究, l 模式开始体现集体的智慧和经验。模式提供了一种讨论设计问题的更高层 次的语言,提供了更多的和实际有关的信息,使用和组合现成的模式,能 构建解决某一问题的、可重用的框架。强调一下,设计模式可重用的是设 计,而不是可重用的代码。 在g o f 的书中,提出了经典的2 1 种设计模式,并将他们分为“创建 型”,“结构型”,“行为型”三大类型。显然,模式分类的标准各不相同, 而且描述模式的方式也不相同。本文不对这些概念过分的强调,也不想按 照g o f 书中描述模式的方式来讨论模式,只希望能把问题和解决方案讨 论清楚。当然,一种设计要能称得上为模式,必须得经过大量得测试和实 践检验,然而对于本课题来说,不太可能达到这种层次,所以下面提出的 两种解决方案并不是真正意义上的模式,只希望能给他人在解决类似问题 时提供参考而已,因此在这里特别说明一下。 除了通用的设计模式外,在针对j 2 e e 平台,也出现了许多非常实用 的模式,很多都源于g o f 书中的模式。具体请参考 c o r ej 2 e ep a t t e r n s ) ) 和( e j bd e s i g np a t t e r n s ) ) 两本书,本文提出的解决方案中借鉴和结合了 以上两本书中某些现成的解决策略和设计模式。 根据上面关于设计模式的论述,现在重新回顾一下本文所要解决的问 题:构建w e bs e r v i c e 使能的j 2 e e 系统,使之利用w e bs e r v i c e 框架进行 发布,从而能使其他系统通过中性的、基于x m l 的协议与j 2 e e 系统进 ,1 6 石油大学( 华东) 硕士论文第3 章构建w e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工企业咨询方案
- 线上诵读活动策划方案范文
- 下沙整合营销方案
- 邓州世尊府建筑方案设计
- 芜湖安全特种设备培训课件
- 小区电动车充电管理系统介绍
- 古风建筑方案设计说明
- 碳咨询方案是指
- 2025年公共营养师考试冲刺试卷:营养学基础与饮食指导
- 饮料包装行业市场分析与发展
- 有限空间监理实施细则
- 酒店前台新员工培训
- 抽水蓄能电站项项目立项报告
- 餐饮行业部SOP运营管理手册
- 健康跑活动安全免责协议书
- DB11∕T 2000-2022 建筑工程消防施工质量验收规范
- 护理学科建设
- 3银行出纳3支票
- 第二单元(教学课件)-【大单元教学】三年级语文上册同步备课系列(统编版)
- 中国盐业集团有限公司招聘笔试题库2024
- 人教版培智一年级(上)生活语文教案
评论
0/150
提交评论