(通信与信息系统专业论文)基于j2ee平台的电子金融系统研究与实现.pdf_第1页
(通信与信息系统专业论文)基于j2ee平台的电子金融系统研究与实现.pdf_第2页
(通信与信息系统专业论文)基于j2ee平台的电子金融系统研究与实现.pdf_第3页
(通信与信息系统专业论文)基于j2ee平台的电子金融系统研究与实现.pdf_第4页
(通信与信息系统专业论文)基于j2ee平台的电子金融系统研究与实现.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(通信与信息系统专业论文)基于j2ee平台的电子金融系统研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于j 2 e e 平台的电子金融系统研究与设计 摘要 近年来,电子金融服务这一新型商务模式己得到世界各国的普遍关注,它不仅 r 是i n t e m e t 在商务领域的简单应用,更是一种新型的交易模式。它的推广改变了传 的旧的交易形式,引发一场新经济革命。电子金融的发展对传统的w e b 技术提出 m 强有力的挑战。由于电子金融系统的内部逻辑复杂,安全性要求苛刻,商务形式 j 变化快,这就要求w e b 技术提供足够的复杂度和灵活性以适应电子金融的需求。 、 j 2 e e ( j a v a 2e n t e r p r i s ee d i t i o n ) 是s u n 公司1 9 9 9 年推出的基于j a v a 的一整套企业 “”矸发标准和规范,具有跨平台的互操作性、可扩展性、安全性好等特点,它的 说明。连:为企业应用系统提供一个底层无关的、可移植的、支持并发访问的、安全 台。在这个平台上,可以容易、快速地建立融合 i n t e m e t 技术的多层分布式企 稠。在短短的几年之内,j 2 e e 已迅速得到了业界的广泛支持。 o a v c ( m o d e l v i e w c o n t r 0 1 ) 模型一视图一控制器的模式是x e r o xp a r c 在八十年 ,0 编程语言s m a l l t a l k - 8 0 提出的一种设计模式。m v c 模式在理论上实现了业务逻 与界面显示的分离,它的提出对w e b 的应用开发具有重要意义。以m v c 模式进行 p s e r v l e t + e j b 的w e b 应用开发,在构建电子金融服务方面有着得天独厚的优势。 本论文对比了几种分布式对象技术,介绍了j 2 e e 体系架构下基于组件的软件开 模型,在此基础上引出了m v c 模式的软件开发思想,着重阐述了j 2 e e 和m v c 模 的结合,提出了一种基于j 2 e e 和m v c 模式的企业级应用解决方案,该方案很容易 实现分布式网络计算,这样既封装了关键的操作又方便了开发者提高开发速度, 昏以该方案实现一个虚拟的在线自助银行系统为例,来具体阐述其开发的具体步 即技术细节。该系统具有设计清晰、模块性强等特点,有着良好的跨平台性、可 民性和伸缩性。 宅字:电子金融,j 2 e e ,m v c ,e j b 苎主! ! ! ! ! 鱼塑皇至垒壁墨竺墅壅兰堡计 一 一一 一 t h er e s e a r c ha n dr e a l i z a t i o no f e l e c t r o n i cf i n a n c e b a s e do nj 2 e ep l a t f o r m a b s t r a c t i nr e c e n ty e a r s ,t h en e w s t y l ec o m m e r c i a lp a t t e r no fe l e c t r o n i cf i n a n c i a ls e r v i c e s , w h i c hi sn o to n l yas i m p l ea p p l i c a t i o no fi n t e m e ti nc o m m e r c eb u ta l s oan e wt r a n s a c t i o n p a t t e r n ,h a s b e e nd r a w i n ga t t e n t i o nf r o ma l lo v e rt h ew o r l d i t s p o p u l a r i z a t i o n h a s c h a n g e dt h et r a d i t i o n a lo l dt r a n s a c t i o nf o r m ,b r i n g i n ga b o u tan e we c o n o m i c r e v o l u t i o n f i e r c ec h a l l e n g e sa r ep o s e do nt r a d i t i o n a lw e bt e c h n o l o g yb yt h ed e v e l o p m e n to f e l e c t r o n i cf i n a n c e s t h ei n s i d el o g i c so fe l e c t r o n i cf m a n c i a ls y s t e mb e i n gc o m p l e x t h e s e c u r i t yr e q u i r e m e n t sb e i n gr i g o r , a n dc o m m e r c i a lp a t t e r n sb e i n gi nr a p i dc h a n g e s ,w e b t e c h n o l o g y i s s u p p o s e d t o p r o v i d ee n o u 【g hc o m p l e x i t y a n d f l e x i b i l i t y t om e e tt h e r e q u i r e m e n t so f e l e c t r o n i cf i n a n c e s j 2 e e ( j a v a 2e n t e r p r i s ee d i t i o 小i sac o m p l e t es e to fe n t e r p r i s ea p p l i c a t i o ns t a n d a r d s a n dc r i t e r i ab a s e do nj a v a ,w h i c hw a sb r o u g h to u tb ys u nm i c r o s y s t e m j 2 e eb o a s t st h e p e c u l i a r i t i e so ft r a n s p l a t f o r mm u t u a l o p e r a t i o n ,e x p a n s i b i l i t ya n d f i r s t - r a t es e c u r i t 5 i t s o b j e c tb e i n g t o p r o v i d ee n t e r p r i s ea p p l i c a t i o ns y s t e m w i t has a f e p l a t f o r m o f i r r e s p e c t i v eb o t t o m ,t r a n s p l a n t a b i l i t y a n ds i m u l t a n e o u sa c c c s s o nt h i s p l a t f 0 1 1 1 1 , m u l t i l a y e rd i s t r i b u t i v ee n t e r p r i s ea p p l i c a t i o nc o m b i n e d w i t hi n t e r n e tt e c h n o l o g yc o u l db e e s t a b l i s h e de a s i l ya n ds w i f t l y t h e r e f o r e ,j 2 e eh a so b t a i n e de x t e n s i v es u p p o r tf r o mt h e i n d u s t r i a lc i r c l ei nt h ep a s tf e w y e a r m v c ( m o d e l v i e w c o n t r 0 1 ) i s ad e s i g nm o d e lb r o u g h tf o r w a r df o rt h el o g i c a l p r o g r a m m i n gl a n g u a g e s m a l l t a l k 一8 0 b yx e r o xp a r ei n 1 9 8 0 s m v cr e a l i z e st h e s e p a r a t i o n o fo p e r a t i o n l o g i c s a n di n t e r f a c e d i s p l a y i n g i n t h e o r y , i tb r i n g i n gg r e a t s i g n i f i c a n c et o t h ea p p l i c a t i o nd e v e l o p m e n to fw e b c a r r y i n go u tt h ew e ba p p l i c a t i o n d e v e l o p m e n to fj s f s e r v l e t + e j bw i t hm v c i sap r o m i n e n ta n du n p a r a l l e l e da d v a n t a g e i nc o n s t r u c t i n ge l e c t r o n i cf i n a n c i a ls e r v i c e s t h i sp a p e ri l l u s t r a t e ss e v e r a ld i s t r i b u t i v eo b j e c tt e c h n o l o g yb y c o n t r a s t i n t r o d u c i n g t h es o f t w a r ed e v e l o p i n gm o d e lb a s e do nm o d u l e sf r a m e di nj 2 e es y s t e ma n do nt h i s b a s ee l i c i t i n gt h em v cs o f t w a r ed e v e l o p i n gt h o u g l l t t h i sp a p e rl a y se m p h a s i so nm e c o m b i n a t i o no fj 2 e ea n dm v c ,p u t t i n g f o r w a r d i n g a l le n t e r p r i s ea p p l i c a t i o nd e v e l o p i n g s o i n t i o nb a s e do nj 2 e ea n dm v c ,w h i c hn o to n l yr e a l i z ed i s t r i b u t i v ec o m p u t i n g e a s i l y , b u ta l s oe n h a n c ed e v e l o p e r se f f i c i e n c yu s e f u l l y f i n a l l y , i tu s e st h i ss o l u t i o nt or e a l i z ea v i r t u a io n l i n es e l f - s e r v i c eb a n k i n gs y s t e ma n dt a k e si ta sa l l e x a m p l et oi l l u s t r a t et h e s p e c i f i cs t e p sa n dt e c h n i c a ld e t a i l so fi t sd e v e l o p m e n t t l l i ss y s t e mi so fc l e a rd e s i g n s t r o n gm o d u l a r i t y , n i c ee x p a n s i b i l i t ya n df i n er e t r a c t i l i t y k e y w o r d s :e l e c t r o n i cf i n a n c e ,j 2 e e ,m v c ,e j b 1 i 原创性声明 7 2 1 u u 7 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了论文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表或撰写过的研究成果,也不包含为获得兰州理工大学或其他单位的学位或证书 而使用过的材料。与我共同工作的同志对本研究所作的贡献均已在论文中作了明确的 说明。 作者签名:奄敞 眺丛年月同 关于学位论文使用授权说明 本人了解兰州理工大学有保留、使用学位论文的规定,即:学校有权保留学位论 文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以采 用复印、缩印或其它手段保存学位论文;学校可根据国家或甘肃省有关部门规定送交 学位论文。 作者签名:饵婪囊导师签名:二莠! 蚴日期:吐年月日 第一馥绪论 第一章绪论 1 1 本课题研究背景 近年来,i n t e m e t 在世界范围内获得了飞速的发展,它已渗透到我们生活中的方 方面面,在通信、商业、教育、国防等,都得了广泛的应用。i n t e r a c t 不但提供了强 大的共享信息的功能,而且把世界各地的商家和用户、企业联系了起来,i n t e m e t 己成为真正的信息高速公路i l j 。 随着i n t e r n e t 及全球信息网应用的快速发展,商业领域的销售、交易、网络等各 个领域都正在发生着空前的革命性的变化,越来越多的企业和商家都想借助于 i n t e r n e t 的无国界、无时间、无地域限制的便利环境来经营拓展商务。在此背景下, 信息技术作为工具被引入到商贸活动中,产生了电子商务( e l e c t r o n i cc o m m e r c e 简 写e c 或e l e c t m n i cb u s i n e s s 简写e b ) 。通俗的说,电子商务就是在计算机网络( 主要 指i n t e r n e t 网络) 的平台上,按照一定的标准开展的商务活动。 电子商务的发展使信息的获取具有了广泛的内容和选择性,贸易、商务活动中 的商品认识、合同谈判、交易都通过i n t e r n e t 信息和网络软件完成,金融服务中的支 票、柜台、保险、投资、企业银行业务和家庭银行业务将搬到网络上进行,越来越 多的电子货币( 信用卡、数字现金等) 在线付款方式在电子交易中使用,人们不再 受限于物理现金的携带和使用。公司、商店、银行将不会以人员数量、分支机构多 少、规模来区别大小,而以营业额、信息交流多少来排列经济座次。电子商务将给 金融业带来巨大影响,世界的经济金融状态也将受到深远的影响,信息交流和数字 化电子货币在空间地域上的突破将促进经济发展,但也带来经济金融管理上的困 难。各国都需要制定相关的法律和法规以规范市场,同时结合技术上的安全控制以 保证这l 新兴商务方式的健康发展【2 j 。 正是基于此背景下,电子金融系统的应用开发也就显得尤为重要。如何进行电 子金融的应用开发,如何方便、快捷地构造出电子金融服务系统已成为一个目前急 需解决的课题。 1 2 本课题研究的理论和实际意义 电子金融的发展对传统的w e b 技术提出了强有力的挑战。由于电子金融信息处 理的内部逻辑复杂,安全性要求苛刻,商务形式发展变化快,这就要求w e b 技术提 供足够的复杂度和灵活性以适应业务的需求。w e b 应用先后出现了c g i 。p h p ,j s p 技 术等,这些技术的产生缓解了w 曲编程的难度。但是它们有一个共同点,就是未能 将业务逻辑和界面显示分离开来,也就是说,w e b 编程往往由一个或少量的开发人 员来完成且开发难度大,在应用开发上依然存在着较大的困难。正是基于以上的分 析,本课题进行了基于j 2 e e 平台的电子金融系统w e b 应用开发方面的研究和探讨。 结合香港永亨银行在线自助系统一期开发,主要研究了面向对象的最新软件技术如 组件技术,和最新的软件架构在企业软件开发中的应用,总结过去软件开发复用性 和可维护性差的经验教训,在探讨j 2 e e 技术架构在企业应用的同时,使用了 m v c ( m o d e l v i e w c o n t r 0 1 ) 模型一视图一控制器的软件开发模式,以获取更好的软 件开发质量。尝试总结出一些用于开发类似系统的经验模式和框架。 在我国银行领域,电子金融服务系统也已经开始建设,正在利用网络技术对传 第一童绪论 统的金融服务进行改造,已以中国人民银行为牵头单位,配合国家各主要商业银行 及金融机构联合建设中国金融数据通信网和全国银行卡信息交换中心,充分利用金 融系统电子化基础设旌,加强中央银行的支付清算职能,加快资金周转速度,以逐 步确立和完善我国支付清算体制,加快实现全国范围内银行卡跨行、异地支付业务 授权及清算信息自动交换【j j 。 1 3 国内外商业性网站开发的发展动态 计算机技术发展日新月异,在电子金融开发领域更是如此。几年前,要开发一 个商业性的动态商务网站,我们只能使用c g i ,s s 睐实现,这对于普通的编程人员 来说,是十分困难的。而且使用c g i , s s i 无论是开发效率还是运行效率都不高。几 年后,有了a s p ,p h p ,i s a p i 等技术。用它们开发动态网站,显然要好得多,但还没 有一种技术能够兼顾开发效率和运行效率,同时满足分布式事件处理的功能,具有 强大的自扩展能力。a s p ,p h p 虽然开发速度快,但运行速度和功能比不上i s a p i ; i s a p i 虽运行速度快,但很难编写调试,而且移植性很差。m i c r o s o f t 公司开发 a s p n e t , p h p 推出4 3 版本,就是想谋求缓解这一瓶颈问题。然而,j s p 技术出现后, 这一切的难题都迎刃而解了。j s p 秉承了j a v a 语言的优势,是一种实实在在与平台无 关的开发技术,既有很高的运行效率,开发周期又很短,同时扩展能力特别强。它 的技术规范是公开的,任何人都可以按照规范开发出自己的产品,因此j s p 迅速成 为了万众瞩目的对象。目前,很多公司纷纷宣布支持j s p 技术,采用j s p 作为开发手 段,很多软件开发组织都在自己的产品中加入了对s p 的支持,如i b m 的e - b u s i n e s s 。 j s p 已经成为电子商务系统开发语言的事实标准。 m v c ( m o d e l v i e w - c o n t r 0 1 ) 是x e r o xp a r c 在八十年代为编程语言s m a l i t a l k 一8 0 提出的一种设计模式。该设计模式具有设计清晰、有效模块性、易于扩展等优点, 在理论上实现了业务逻辑与界面显示的分离,它的提出对w e b 的应用开发具有重要 意义。近年来,j a v a 的兴起,也给w e b 的发展带来了新的机遇,尤其是1 9 9 9 年s u n 公 司j 2 e e ( j a v a 2 e n t e r p r i s ee d i t i o n ) 标准的推出,其具有跨平台的互操作性、可扩展性、 安全性好,迅速得到了业界的广泛支持。j 2 e e 是由多种基于j a v a 的核心技术如s e r v l e t , j s p ,e j b ,j n d i ,j d b c 等组成的开放式企业级系统构建框架,受到专注于企业级运算 的厂商如b o r l 柚d ,i b m ,b e a 等的广泛支持。再加上和x m l 的完美结合,j 2 e e 己经 成为当前最为看好的企业系统构架标准【4 1 。j s p 技术作为s u n 公司开发的个动态 w e b 技术标准,是基于强大的j a v a 语言的,有着良好的跨平台能力和安全性能。j s p 技术与j 2 e e 平台的紧密集成,以m v c 模式进行j s p s e r v l e t + 日b 的w c b 企业应用开 发,有着得天独厚的优势。 在国外,基于m v c 模式进行j s p s e r v l e t + p _ j b 的w e b 应用开发已经成为开发电子 商务应用的主流技术,在这方面比较成功的商业站有:h t t r i :w w w d e l t a e o m ,这是 d e l t a 公司的站点,而在国内应用j s p 技术的网站都还较少,( c h i n a r e n ,网易,2 1 c n 都是采用j s p 技术) 。更不用说开发电子商务平台等了。由此可见,基于j 2 e e 架构 的电子商务技术在国内的发展还有广阔的空间。 1 4 本文的组织结构 本论文的第一章绪论介绍了本课题的意义和国内外商业性网站开发的发展动 态。第二章分析与比较了几种分布对象技术和介绍了m v c 设计模式的概况。第三章 对在j 2 e e 平台下开发电子金融系统的方法迸行了深入的探讨,也是本论文的重点, 2 第一章绪论 在对j 2 e e 关键技术j s p ,s e r v l e t ,e j b 等进行具体阐述和分析的基础上,提出了一种基 于j 2 e e 秉 m v c 模式的企业级应用开发方法。第四章是前一章的开发方法在一个在线 自助银行系统中的具体实现,包括系统的设计和系统的软件开发。第五章是该银行 系统的集成与运行,重点是w e b 服务器和k i b j 匣务器的配置与部署。最后一章是对 全文研究工作的总结,阐述了系统优化设计策略的实施和关键问题的解决,并指出 了系统需要改进的方向。本文的研究工作可供电子金融的应用开发等同类研究参 考。 3 塑三里坌塑苎竺堡堡型塑垦生堡塞 第二章分布式软件模型和设计模式 对软件的需求是软件发展的动力。高质量的软件离不开科学的程序设计方法, 人们对程序设计方法的选择取决于程序设计方法对应用软件的适应性。从软件业的 发展历程来看,程序设计方法经历了多次变革,从最初的功能分解法到结构化程序 设计方法,再到至今仍在广泛使用的面向对象程序设计方法。早期的应用软件以计 算为主,所以功能分解法可以满足应用的需要;随着软件复杂程度提高,结构化程 序设计方法在很长时间内一直是程序设计人员的重要工具;面向对象程序设计是一 个概念上的飞跃,它使程序设计更加符合应用的本质结构,并且对软件产品的整个 生存周期都起到指导作用p j 。 如今,i n t e m e t i n t r a n e t 技术的迅速发展,使软件应用置身于更广阔的环境中, 从而对应用软件提出了更高的要求,使得软件设计更加困难,面向对象的思想已经 难以适应这种分布式软件模型。在此情况下,分布式计算与面向对象技术结合产生 了分布对象技术。另外,软件系统的复杂性不断增长、软件人员的频繁流动和软件 行业的激烈竞争迫使软件企业想方设法地提高软件质量、积累和固化知识财富,并 尽可能地缩短软件产品的开发周期。 于是,集软件复用、分布式对象计算、企业级应用开发等技术为一体的“基于 构件的软件开发”应运而生,这种技术以软件框架为组装蓝图,以可复用软件构件 为组装模块,支持组装式软件的复用,大大提高了软件生产效率和软件质量。国内 外对于这一技术的研究正在不断深入,大型的软件公司( 例如s u n , m i e r o s o f t ) 及软件 组织机构都推出了支持分布式计算的平台规范。同时,人们越来越认识到设计模式 可重用的设计思想,在软件设计过程中的重要作用。各种分布式计算平台不仅 本身大量使用了设计模式,还催生了许多基于特定平台构建应用系统的设计模式。 2 1 分布对象技术概述 分冻计算i s t f i b u t e dc o m p u t i n g ) 是近2 0 年来影响计算技术发展的最活跃因素 之一,它的发展经历了狭义分布计算和广义分布计算两条不同的技术路线【“。 狭义分布计算是理想的技术路线,试图在互连的计算机硬件上部署全新的分布 式操作系统,全面管理系统中各自独立的计算机,呈现给用户单一的系统视图。在 2 0 世纪8 0 年代,学术界普遍追求这目标尽管产生了许多技术成果和实验系统, 但却没有被用户和市场接受。 广义分布计算是现实的技术路线,即在网络计算平台上部署分布计算环境r 也称 为中间件) ,提供开发工具和公共服务,支持分布式应用,实现资源共享和协同工作。 2 0 世纪9 0 年代,工业界普遍遵循这一技术路线,产生了一系列行之有效的技术和广 为用户接受的产品。 当前人们所说的分布计算是指广义分布计算。从8 0 年代中期开始至今,广义分 布计算大致经历了面向过程和面向对象两个阶段。目前,以面向对象技术为主要特 征的第二代分布计算技术一分布对象技术,己趋于成熟。 自上世纪9 0 年代以来,网络技术得到了迅猛的发展,面向对象技术也日益成熟, 再加上二者内在的互补性、协调性,它们共同促进了分布对象技术的发展。分布对 象技术以对象技术和软件体系结构为基础,研究分布于网络不同结点上的对象如何 进行协作,并共同完成特定任务。其核心内容在于对象之间的互操作,尤其是异构 d 第二章分布式软件模型和设计模式 环境中的互操作,通过中间件的支持,使物理上分散的计算资源在逻辑上构成一个 整体。 分布对象技术采用面向对象的多层客户朋务器计算模型,将分布在网络上的资 源( 系统层或应用层) 按照对象的概念来组织,每个对象都有定义明晰的访问接口。 创建和维护分布对象实体的应用称为服务器,按照接口访问该对象的应用称为客 户。服务器中的分布对象不仅能够被访问,而且自身也可能作为其它对象的客户。 因此在分布对象技术中,客户与服务器的划分是相对的或多层次的。支持客户访问 异地分布对象的核心机制称为对象请求代理( o r b ,o b j e c tr e q u e s tb r o k e r ) 。o r b 处 于分布对象技术的核心位置,o r b 如同一条“软”总线把分布式系统中的各类对象 和应用连接成相互作用的整体。目前,分布对象技术己经成为建立软构件和应用框 架( 中间件) 的核心技术,在开发大型分布式应用系统中表现出强大的生命力。 2 1 1 基于分布对象的构件技术 从广义上说,软构件是一种定义良好的独立、可重用的二进制代码,包括功能 模块、被封装的对象类、软件框架和软件系统模型等。 上世纪6 0 年代末n 8 0 年代初,结构化的模块式软件开发思想占主导地位,当时 的构件的含义是指一些定义良好的方法包或功能模块。 8 0 年代起,面向对象的软件开发思想迅速发展起来,这时的构件的含义就是类 库。类虽然提供了封装性、多态性和继承性,但需要依赖于具体的编程语言,耦合 度高,且需要用户对类库的结构和宿主语言有较深入的了解,因此,不能完全达到 软件复用的可移植性和互操作性要求。 9 0 年代后,构件作为一种软件封装形式,运用到分布对象技术中结合分布式对 象思想,其内涵进一步加强,聚合性、独立性和复用性进一步提高。目前,基于分 布对象的构件是指可以用来构成分布式软件系统的即插即用的软件成分,是可以独 立地制造、分发、销售、装配的二进制软件单元。构件具有以下特点【8 】: 1 ) 构成粒度大小自由,便于扩展; 2 ) 通过规定一个统一的二进制标准,建立起机构之间的智能互操作机制和语言 独立性; 3 ) 有标准接口:保证系统可分解成多个功能独立的单元,用构件组装而成。外 界仅通过接口访问构件; 4 ) 多侧面性:即构件表达的语义层次高,可以从不同接口进行连接,外部特性 不唯一: 5 ) 位置透明性:构件在网络中的具体位置以及操作系统平台对客户应用透明: 6 ) 构件的实现采用面向对象技术,支持封装、继承、多态性。 面向对象技术和构件技术的目的都是为了提高软件的复用性,但后者较前者在 复用层次和复用粒度上都大大提高。面向对象技术的软件复用是自箱复用,即程序 源代码级的复用,是一种较低层次的复用,复用粒度仅为单个类。构件中封装的可 以是一个简单的对象,但大多数情况下是一组相关的对象复合体,提供一定的服务。 它在封装若干对象的同时,还封装了相应的软件结构和软件设计思想,实现了设计 复用a 另外,构件以二进制代码形式存在,是黑箱复用,使其可以跨语言环境复用。 构件的出现带来了基于构件的软件开发方法。该方法是继面向对象技术之后发 展起来的新的软件工程技术。是面向对象技术的延伸。它强调真正的软件复用i q 高 5 第二章分布式软件模型和设计模式 度的互操作性,侧重于构件的生产和装配。着重解决大规模软件研制周期长,维护 费用高;高复杂度软件系统中功能不能灵活地装卸、单独升级或重复利用;应用难 以集成等问题。 目前,主要的分布式对象构件模型有:o m g 的c c m ( c o r b ac o m p o n e n tm o d e l ) 、 m i c r o s o f t 的d c o m ( d i s t r i b u t e dc o m p o n e n tm o d e d 、s u n 的e j b ( e n t e r p r i s e j a v ab e a l l ) 等。 2 1 2 分布式对象中间件 框架是整个或部分系统的可重用设计,它规定了系统的体系结构,阐明了设计 的思想、协作构件之问的依赖关系、责任分配和控制流程,表现为一组抽象类及其 实例之间协作的方法。它为构件复用提供了上下文关系,因此构件库的大规模复用 需要框架。框架和构件足两种不同但彼此协作的技术。框架为构件提供重用的环境, 为构件处理错误、交换数据及激活操作提供了标准的方法;构件为框架提供了实现 方法。 应用框架是实现了某应用领域通用完备功能( 除去特殊应用的部分) 的底层服 务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系 统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用通过重写子类 ( 该子类属于框架的默认行为) 或组装对象来支持应用专用的行为。 在分布对象技术中,中间件起着应用框架的作用。中间件是位于应用软件和系 统软件( 操作系统、网络协议、数据库等) 之问的一个软件层,向应用提供统一的、 功能强大的a p i ,使不同的应用进程能在屏蔽了底层复杂的技术细节的情况下,通 过网络进行通信,共同实现应用系统的功能。 中间件的发展历程是和分布式计算模式的演变过程紧密联系的。以前的计算机 系统多是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网络出 现后,产生了c l i e n t s e r v e r 的计算服务模式,多个客户端可以共享数据库服务器和打 印服务器等等。在此阶段,为访问不同的数据库产品,出现了数据库中间件o d b c , 随着网络的更进一步发展,许多软件需要在不同厂家的网络产品、硬件平台、网络 协议异构环境下运行,应用的规模也从局域网发展到广域网。在这种情况下, c f i e n t s e r v e r 模式的软件缺乏可伸缩性和可移植性、性能差、效率低、不安全等局 限性也就显露出来了,于是中间件应运而生。中间件为应用程序提供了操作系统和 应用软件之间的通用服务,使应用软件能够比较平滑地运行于不同平台上。同时中 间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到 大幅提升,满足了关键业务的需求。中间件的产品种类很多,根据中间件在系统中 所起的作用和采用的技术不同,大致划分为以下五种1 9 】= 1 ) 数据库中间件( d m ,d a t a b a s em i d d l e w a r e ) 它位于数粥库管理系统和应用程序之间,实现了应用程序和异构数据库之问的 统一接口,有效地解决了应用系统在不同后台数据库之间的移植问题。一个最典型 的例子就是o d b c 。 2 ) 远程过程调用中间件限p c ,r e m o t ep r o c e d u r ec a l l ) r p c 是早期开发分布式应用时经常采用的一种同步式的请求应答协议。它扩展 了过程语言中的c a l l r e t u r n 的机制,使得它可以适用于远程环境。通过这种协议, 程序员编写客户方的应用时可以调用位于远端服务器上的过程。 6 第二章分布式软件模型和设计模式 3 ) 面向消息中间件( m o m ,m e s s a g e o r i e n t e d m i d d l e w a r e ) 消息中阃件通过在各网络节点之间建立逻辑通道,实现消息的发送、为系统构 造者屏蔽复杂多样的操作系统和网络底层环境。消息中间件有同步和异步两种方 式。异步比同步具有更强的容错性,在系统故障时可以保证消息的正常传输。异步 方式又分为:广播方式和发布订阅方式。发布,订阅方式由于更加智能有效,事实 上己成为异步中间件的非正式标准。基于消息中问件,系统构筑者能更好的采用事 件驱动枫制。 4 ) 对象请求代理( o r b ,o b j e c tr e q u e s ts r o k e r ) 中间件 o r b 是一种管理对象间通信和数据交换的中间件技术。o r b 促进了分布式对象 在系统间的互操作,因为它使得用户可以通过组合对象( 可以来自不同提供商) 来构 建系统,这些对象间通过o r b 相互通信。o r b 技术促进了计算机、跨软件、跨提供 商的对象通信。与该技术相关的功能有:接口定义;远程对象定位和可能的激活; 客户和对象间的通信。 5 ) 事务处理中间件f r p m ,t r a n s a c t i o np r o c e s s i n gm o n i t o r ) 分布式事务需要处理大量并发过程,处理并发涉及到操作系统、文件系统、编 程语言、数据通讯、数据库系统、系统管理及应用软件,是一个相当艰巨的任务。 但是工作的难度可以通过使用事务处理中间件得到简化,由它来保证分布式事务的 a c i d 属性。常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器 支持、故障恢复、高可靠性、网络负载平衡等等。 世界著名的咨询机构s t a n d i s hg r o u p 在一份研究报告中归纳了中间件的十大优 越性【l o j :缩短应用的开发周期;节约应用的开发成本:系统初期的建设成本; 减少降低应用开发的失败率:保护已有的投资;简化应用集成;减少维护费 用:提高应用的开发质量;保证技术进步的连续性;增强应用的生命力。 具体地说,中间件屏蔽了底层环境的复杂性,使程序员面对一个简单而统一的 开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为系统 的移植而重复工作,从而大大减少了技术上的负担。 s t a n d i s h 的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可 以减少5 0 左右1 1 ”。在网络经济、电子商务大发展的今天,从中间件获得利益的不 只是i t 厂商,i t 用户同样是赢家,并且是更有把握的赢家。 中间件作为新层次的基础软件,其应用集成作用,使得在技术不断发展之后, 我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。 2 1 3 分布对象技术规范 当前主流的分布对象技术规范,有o m g 的c o r b a ,m i c r o s o f t 的d n a n e t 和s u n 的j 2 e e 。它们都支持服务端中问件的开发,都有其各自的特点。 1 c o r b a c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 是最早出现的分布式对象 计算模型,1 9 9 1 年o m g 就颁布了c o r b a1 0 标准,目前的版本是3 0 。c o r b a 的主 要目标是解决面向对象的异构应用之间的互操作问题,并提供分布式计算所需的一 些其它服务。o r b 是c o r b a 平台的核心,它用于屏蔽与底层平台有关的细节, c o r b a 耍i 象通过o r b 进行交互。c o r b a 分布计算技术,是由绝大多数分布计算平 台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开 7 第二章分布式软件模型和设计模式 发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。c o r b a 的缺 点是庞大而复杂,并且技术和标准的更新相对较慢。在构建完整的企业级计算平台 方面,使用得不是很多。 2 d n a n e t d n a ( d i s t r i b u t e di n t e r n e ta p p l i c a t i o n s ) 是m i c r o s o f c 推出的个完整的、多层结 构的分布计算体系结构和规范。它将整个应用程序分为多个层次,客户端在最上层, 数据端在最底层,其核心是在应用系统的中间层使用事务对象。d n a 融合了先进的 分布计算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容,使得 运用d c o m 构件模型开发基于m i c r o s o f t 平台的服务器端构件应用时,其中的数据库 事务服务、异步通讯服务和安全服务等,可由底层的分布对象系统提供。n e t 是从 d n a 演进而来的,克服了d n a 的一些缺陷( r p c 和d c o m 要求端口在防火墙内部、 使用c o m d c o m 需要注册或者发布、a s p q b 程序脚本和h 聊l 混杂在一起等1 ,并 提供了通用语言执行环境、n e t 编程平台、n e t 企业服务器,以及w e b s e r v i c e 等新产 品、新技术。 d n a n e t 在技术结构上有着巨大的优越性。一方面,由于m i c r o s o f t 是操作系统 平台厂商,d n a n e t 技术可得到底层操作系统平台的强大支持;另一方面,由于 m i c r o s o f t 的操作系统平台应用广泛,在实际应用中d n a n e t 得到了众多应用开发商 的采用和支持。d n a n e t 的不足是依赖于m i c r o s o f t 的操作系统平台,在其它系统平 台( 如u n i x ,u n u x ) 上无法使用。而且,它们是平台规范与产品的统体,被m i c r o s o f t 所垄断。 3 j 2 e e 为了推动基于j a v a 的服务器端应用开发,s u n 于1 9 9 9 年底推出了j a v a 2 技术及相 关的j 2 e e 规范。j 2 e e 的目标是:为企业应用系统提供一个底层无关的、可移植的、 支持并发访问的、安全的平台。在这个平台上,可以容易、快速地建立融合了i n t e r n e t 技术的多层分布式企业应用。j 2 e e 定义了一个基于构件的多级应用体系,包括以下 几部分: 1 ) 客户层:j 2 e e 应用可以是基于w e b 的,也可以不是。w e b 应用中,用户通过 本地浏览器进行访问。否则,通过本地的j a v a 应用程序直接访问e j b 对象; 2 ) w e b 层:在w e b 服务器中运用了s e r v l e t 和j s p ( j a v a s e r v e rp a g e ) 技术。s e r v l e t 和j s p 是运行在w e b 服务端的服务器构件,在多个客户和后台应用系统之间形成桥 梁; 3 ) 业务层:企业应用的业务逻辑是由运行在业务层的f _ j b 对象执行的,从客户 端接收数据,对数据进行处理后,再将其发往企业信息系统层存储。e j b 是服务端 的构件模型,形成t j 2 e e 平台的基础。它为开发部署可复用的j a v a 服务器定义模型 并提供标准的编程接口; 4 ) 企业信息系统层:该层运行企业信息系统软件,j 2 e e 应用组件因某种原因f 如 访问数据库) 可能需要访问该层: j 2 e e 平台的实现运用了四个方面的技术:j a v a 技术、构件技术、服务技术和通 信技术。 j 2 e e 平台的基础是j a v a = 3 e 术。j a v a 技术从本质上说是一个可移植的面向对象的 环境它的j v m ( j a v a v i r t u a lm a c o n 0 令用j a v a 语言写的程序具有“编写一次,随处 运行”的特性。因此,要达到j 2 e e 的高度可移植性目标,j a v a 技术具有得天独厚的 8 第= 章分布式软件模型和设计模式 先天优势。另外,j 2 e e 本身作为一个规范,没有定义实现方法。它通过j a v a 语言的 a p i 接口来定义规范,任何与j 2 e e 规范兼容的产品自己去实现这些接口。为了保证 产品的兼容性,规范中包括了一个兼容性测试套件:j 2 e ec o m p a t i b i l i t yt e s ts u i t e , 以便检测1 1 2 1 。 构件技术是目前软件界流行的一种软件复用技术。在j 2 e e 平台上的企业应用系 统实际上就是许多实现了业务逻辑和用户界面的j 2 e e 构件的集合。j 2 e e 平台支持的 构件类型有:a p p l e t 、客户端应用程序、j s p s e r v l e t 和酎b 。这些构件都在各自的容 器内运行。容器作为j 2 e e 平台提供的系统级软件,为在其中的构件提供生命周期管 理、安全控制、事务管理及线程管理等运行时服务。这样,许多的构件特性可以在 构件被组装、配置到容器内时描述性地指定,由容器自动替它们完成,而不用这构 件内通过编程实现。这大大减轻了构件编写者的负担,使他啦j 可以专注于梅钵内业 务逻辑的编写。 j 2 e e 规范定义了企业应用系统需要的一些基本的服务,如数据库存取服务、事 务服务、命名与目录服务、消息服务等。提供这些服务将简化分布式企业应用系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论