




已阅读5页,还剩81页未读, 继续免费阅读
(计算机软件与理论专业论文)三层结构与商业自动化系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学硕士研究生学位论文 三层结构与商业自动化系统 摘要 随着分布式技术和网络的发展,计算机的应用已经渗透到 了各个领域。两层的c s 体系结构渐渐不能满足发展的需要, 三层c s 体系结构成为构架开放式企业级应用系统最优的选择 之一。与此同时,在此基础上的中间件技术也随着需求日趋成 熟。三层结构和交易中间件已经成功的应用于电信等联机交易 系统,但在商业管理系统中应用仍然少见。这两个技术是否适 用于商业管理系统? 本文就此进行详细研究和分析,得出肯定 结论并且应用到实例中。 本文首先综述了三层结构的发展和关键技术以及中间件的 概念、定义、分类和选择等。 其次运用形式语言z 语言对交易中间件系统的体系结构做 了完整捣述。z 语言可以描述函数的功能,也可以描述具体系统。 本文所要描述的是基于交易中间件的客户服务器体系结构,它 不是某个具体系统,而是一类系统的模型或者称为一种“软件 体系结构模型( s o f t w a r ea r c h i t e c t u r es t y l e ) ”,对它的形式 化研究有助于进一步理解基于交易中间件的c l i e n t s e r v e r 系 统的实质。 交易中间件主要面向本地应用提供接口,大量文献表明, 交易中间件一般运用共享存储区方式传递消息且采用静态分配 方式卜 的队列管理方式。但是对共享内存的大小、服务进程的 多少以及消息流量等没有作出定量的计算。本文首次将排队论 知识运用到交易中问件的通讯中,通过列出各模型的参数,计 算、分析、比较得出结论。 t 太原理工大学硕l 研究生学位论文 最后在三层c s 结构基础上,利用交易中间件技术研究和 设计开发了超市管理系统,实现了商业的自动化管理,并且对 系统分别利用手工和工具进行了测试,基本达到要求。 关键字:三层结构,中问件,交易中间件,分布式计算,d t p , 事务,联机事务处理系统 i i 奎堕型三! ;查堂塑主婴壅尘堂焦堡窒 t h r e e - t i e ra n da u t o c o m m e r c i a l s y s t e m a bs t r a c t w i t ht h e d e v e l o p m e n t s o fd i s t r i b u t e d t e c h n o l o g y a n dt h e n e t w o r k ,t h ea p p l i c a t i o n so fc o m p u t e rh a v ep e n e t r a t e di na l lf i e l d s t w o t i e rc sa r c h i t e c t u r ec a n tm e e tt h ei n c r e a s i n g l yr e q u i r e m e n t s a n dt h l e e - t i e rc sa r c h i t e c t u r ei so n eo ft h eb e s tc h o i c e sw h e n b u i l d i n go p e ne n t e r p r i s ea p p l i c a t i o ns y s t e m s m e a n w h i l e , m i d d l e w a r e t e c h n o l o g y m u s h r o o m s t h r e e t i e ra n dt r a n s a c t i o n m i d d l e w a r eh a v eb e e n s u c c e s s f u l l ya p p l i e d i nt r a n s a c t i o n p r o c e s s i n gs y s t e m s ,f o re x a m p l e ,i nt e l e c o m m u n i c a t i o n ,b u ti s s t i l l u n u s u a li nc o m m e r c e a r e t h e y a l s o a p p l i e d t oc o m m e r c i a l m a n a g e m e n ts y s t e m ? t ot h eq u e s t i o n ,t h i sp a p e rr e s e a r c h e sa n d a n a l y s e st og e tp o s i t i v er e s u l ta n da p p l y t oa ni n s t a n c e f i r s t ,t h ed e v e l o p m e n t a n d k e yt e c h n o l o g y o ft h r e e t i e r s t r u c t u r e ) t h ec o n c e p t i o n ) c a t a l o g sa n ds e l e c t i o no f m i d d l e w a r e a r e s u m m a r i z e d s e c o n d ,t h et r a n s a c t i o n m i d d l e w a r ea r c h i t e c t u r ei s f o r m a l l y d e s c r i b e db yz l a n g u a g e zl a n g u a g ec a nd e s c r i b eb o t h t h ef u n c t i o n a n dt h ea c t u a ls y s t e m t h ea r c h i t e c t u r eo fc sb a s e do nt r a n s a c t i o n m i d d l e w a r ei sd e s c r i b e d ,w h i c hi sn o tac e r t a i ns y s t e m ,b u tam o d e l o fac l a s ss y s t e mo ras o f t w a r ea r c h i t e c t u r es t y l e t h ef o r m a l i z a t i o n r e s e a r c h h e l p s t h ef u r t h e ru n d e r s t a n d i n go ft h ee s s e n t i a lo fc s s y s t e m t r a n s a c t i o nm i d d l e w a r em a i n l yo f f e r si n t e r f a c e st ot h el o c a l a p p l i c a t i o n m a n y l i t e r a t u r e ss h o wi tu s e ss h a r e d m e m o r y t o t r a n s f e rm e s s a g e sw i t hs t a t i ca s s i g n m e n ta n dq u e u i n gm a n a g e m e n t b u tt h eq u a n t i t a t i v ea n a l y s e so ft h ec a p a c i t yo fs h a r e dm e m o r ya n d t h ec o u n to fs e r v i c ep r o c e s sa r en e v e ra v a i l a b l e t h i sc h a p t e rf i r s t 叁坚里! :查兰堕主! ! ! 茎竺堂笪丝塞 a p p l i e s t h e q u e u i n gt h e o r y i n t ot h ec o m m u n i c a t i o n o ft h e m i d d l e w a r ea n dd r a w sc o n c l u s i o n sb yc a l c u l a t i n g 、a n a l y z i n ga n d c o m p a r i n g t h ep a r a m e t e r so fs i xm a t hm o d e l s a n dt h e n b a s i n g o nt h et h r e e t i e rs t r u c t u r e ,as u p e r m a r k e t m a n a g e m e n ta p p l i c a t i o ns y s t e mi si n v e s t i g a t e da n d d e s i g n e db y u s e o ft r a n s a c t i o nm i d d l e w a r et e c h n o l o g y , a n d t h ea u t om a n a g e m e n ti s r e a l i z e d f i n a l l y ,am a s so f t e s t sb ym a r la n dt o o l sp r o v et h a tt h i ss y s t e m i su pt os a t i s f a c t i o n k e yw o r d s :t h r e e t i e r ,m i d d l e w a r e ,t r a n s a c t i o n m i d d l e w a r e , d i s t r i b u t e d c o m p u t i n g ,d t p ,t r a n s a c t i o n ,t r a n s a c t i o n p r o c e s s i n g s y s t e m i v 太原理工大学硕士研究生学位论文 一三层结构技术 1 三( 多) 层结构产生的背景 近年来,随着开放系统的应用和迅速普及,以客户机服务器 ( c l i e n t s e r v e r ) 模式为代表的二层结手f = j 应用系统因具备开放旧体系结 构、丰富的工具和简单快速的开发周期而越来越吸引用户,使得有关丌发 商和无数用户能分享开放系统带来的种种好处,并促使原来的专有系统的 用户逐步向开放系统转移。同时网络的迅猛发展使得信息和资源的配置更 加快捷,基于网络的系统不再仅仅是电信、邮电、银行等的专利,同时也 大量的应用在商业和其它领域中,大大的改变了传统的商业模式。随着计 算机系统应用水平的提高,对系统的要求也越来越高。 应能够同时支持上万乃至更多用户的并发服务请求; 应能由单一的局域网向跨跃多个网络的广域网扩展: 应用系统不仅要支持一般的信息管理,而且应支持关键业务的联 机交易和处理; 应用系统由仅支持单一的系统平台转向支持异构的多系统平台等 等: 但是由于采用c ll e n t s e r v e r 直接联接的方式,二层模式会形成周有 的缺陷,可以从以下几个方面表现出来: 网络连接与数据传送:客,- 端与服务器直接进行连接,要求连接 持续可靠延时小,并且掣i :多数据由服务器发送回客户端进行分析 处理,数据流量大,网络建设投入高; 系统要求:数据仓库应用中的计算、操作和数据过滤通常很复杂 耗时,两层c s 结构中计算通常在客户端或数据库服务器上完成, 因此要求硬件设备投入高; 系统维护:由于数据访问代码都在客户机上,则每个客户机程序 在每次增加新的数据源时都需要更新。更常见的是,对应用代码 的修改需要更新客户端,使客户机上客户应用和计算逻辑的维护 出现极大的问题。 系统可伸缩性:在两层c s 结构中只能通过升级硬件的方法来提 l 太原理【:大学硕士研究生学位论文 高系统处理能力,这会大大增加硬件资金投入和产生火祭的闲村 设备。 软件可重用性:采用传统c s 的设计模式时,数据库访问、业务 规则等都同化在客j 、,端廊,订程序巾。 系统的可扩充性:对于数掘库服务器端,每当建立一个数据连接, 就会占用大量的系统资源,当数据连接达到一定数量( 如2 0 个) 时,数据库服务器的响应速度与处理速度将大打折扣。 虽然两层结构开发周期较短,能够适应大部分中小型数据库应用系统 的要求( 当客户端数量少于5 0 时) 。但是随着t t 技术和产业的不断发展, 分布式技术的不断完善,一些大型的m i s 系统开始寻求以三层结构替代两 层结构。 2 ,三层体系结构 c s 软件体系结构,即c l ie n t s e r v e r ( 客户机服务器) 结构,是基于 资源不剥等为实现共享而提出来的,是2 0 世纪9 0 年代成熟起来的技术, c s 结构将应用一分为二,服务器( 后台) 负责数据管理,客户机( 前台) 完成与用户的交互任务。 c s 体系结构具有强大的数据操作和事务处理能力,模型思想简r h 易于人们理解和接受。 三层c s 结构是将应用功能分成表示层、业务层和数据层三个部分 如下图1 1 和图1 - 2 所示: 圈1 1 三层结构示意图 f i g u r e l ,1t h ea b r i d g e dg e n e r a lv i e wo f t h r e e i i c f 2 太原理工大学硕士研究生学位论文 图1 - 2 三层c s 逻辑结构示意图 f i g u r e l - 2t h el o g i c a lg e n e r a lv i e wo f t h r e e - t i e rc s 表示层是应用的用户接口部分,它担负着用户与应用间的对话功能, 实现用户交互和数据表示,为以后的处理收集数据,并向第二层的业务逻 辑请求调用核心服务处理和显示处理的结果。它用于检查用户从键盘等输 入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使 用图形用户接口,操作简单、易学易用。在变更用户接口时,只需改写盟 示控制和数据检查程序,而不影响其他两层。检查的内容也只限于数据的 形式和取值的范围,不包括有关业务本身的处理逻辑。这一层的实现以使 用图形化的工具软件( v b 、p o w e rg u i l d e r 等) 为主。 业务层相当于应用的本体,它是将具体的业务处理逻辑编入程序中, 通过此层提供业务逻辑或组件管理和核心业务逻辑服务。可将服务按名字 广播,以及接受客户服务要求,向资源管理器提交数据操作和将处理的结 果返回给请求者。表示层和业务层之间的数据交往要尽可能简洁。通常, 在业务层中包含有确认用户对应用和数据库存取权限的功能以及记录系 统处理日志的功能。业务层的程序多半是用可视化编程工具开发的,也有 使用c 0 8 0 l 和c 语言的。 数据层就是数据库管理系统,也称资源管理器,负责管理应用系统的 3 太原理工大学硕士研究生学位论文 _ _ - _ - h _ _ _ w - _ - 数据资源,完成对数据的操作。数据库管理系统必须能迅速执行大量数据 的更新和检索。因此,一般从业务层传送到数据层的要求大都使用s q l 语 言。 三层c s 的解决方案是:对这三层进行明确分割,并在逻辑上使其独 立。原来的数据层作为数据库管理系统已经独立出来,所以,关键是要将 表示层和功能层分离成各自独立的程序,并且还要使这两层问的接口简洁 明了。 一般情况是只将表示层配置在客户机中,如果连业务层也放在客户机 中,与二层c s 结构相比,其程序的可维护性要好得多,但是其他问题并 未得到解决。客户机的负荷太重,其业务处理所需的数据要从服务器传给 客户枫,所以系统的性能容易变坏。 如果将业务层和数据层分别放在不同的服务器中,则服务器和服务器 之间也要进行数据传送。但是,由于在这种形态中三层是分别放在各自不 同的硬件系统上的,所以灵活性很高,能够适应客户机数目的增加和处理 负荷的变动。例如,在追加新业务处理时,可以相应增加装载功能层的服 务器。因此,系统规模越太这种形态的优点就越显著。 与传统的二层结构相比,三层c s 结构具有以下优点: 允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性, 从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维 护性和可扩展性。 允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷 能力上与处理特性上分别适应于结构清晰的三层;并且这些平台 和各个组成部分可以具有良好的可升级性和开放性 三层c s 结构中,应用的各层可以并行开发,达到较高的性能价 格比;对每一层的处理逻辑的开发和维护也会更容易些。 允许充分利用功能层有效地隔离开表示层与数据层,未授权的用 户难以绕过业务层而利用数据库工具或黑客手段去菲法地访闯数 据层,这就为严格的安全管理奠定了坚实的基础;同时,可以对 每一个功能组件进行授权,限制了非法访问。整个系统的管理层 次也更加合理和可控制。 4 太原理工大学硕士研究生学位论文 具有处理大量联机事务的高性能。一方面,中间层能够使多个客 户端连接一个服务器组件的服务器进程,由这个服务器进程处理 与数据库相关的操作,为客户端的数据请求服务。这样,数据库 为处理连接所需的资源大大减少。另一方面,在客户r 端和服务器 之间、服务器和服务器之间的通讯中,网络l 二流动的只有相剥较 少的客户端或服务器的请求,以及服务器处理的结果,而不再是 两层结构中客户和d b m s 之问的大量s q l 请求和应答。 提高了应用系统对资源的可用性。系统可根据需要把各个服务分 别或重复地分布在不同的计算机上,使整个系统的工作量平衡分 配到网络中,从而实现最佳的性能。排队和负载平衡技术大大的 提高了系统的并发性和响应速度。 可见,三层结构解决了现代系统多方面的需求,最主要的是可扩充性 的需求和i n t e r n e t 的需求,因而得到了迅速的应用。 3 三层结构在商业中的应用 在国内,三层结构出现的早期,利用三层结构的分布式系统主要应用 在电信、银行、证券等行业,是因为这些行业的特点是投资大、地域分散、 服务类型多、功能易扩充、客户要求服务时间短效率高等。而当时的企业 和商业机构大部分仍然使用两层结构,其主要的原因有以下d 个: 第:位置相对固定,规模相对较小,系统通常只在局域网中使用。 数据量小,数据维护简单。 第二:用户相对较少,人们意识普遍落后,对服务的质量要求不高, 习惯于等、错了再来一次,对系统的并发性要求不高。 第三:企业决策者思想保守,不愿意提供精力和财力更新系统,大胆 尝试者多以失败告终。网络没有深入人心,人们对网络应用及系统的扩充 性尚没有前瞻眼光。 第四:企业和商业等本身业务复杂,开发人员对业务刁:f i l ,划:三层纳 构这一新技术掌握利应用不够透彻和灵活,三层结构技术本身不成熟。 随着体制的改革,国力的增强,人们思想不断更新,购买能力日益增 强,企业和商业都得到了空前的发展。同时,计算机技术与网络技术突b 5 太原理工大学硕士研究生学位论文 猛进的发展为现代企业和商业带来了巨大的机遇与挑战。如市而上大型的 超市雨后春笋般的发展起来,随着城市的建设和企业规模的扩张,连锁超 市等屡见不鲜,原来系统的数据安全、并发、事务管理等则成为瓶颈,给 企业带来风险和损失。因而系统的稳定性、可靠性、可扩充性和高可用性 成为企业追求的目标。三层c s 体系结构成为构建商业系统的首选。 但是我们今天看到,仍然有很多企业和商业机构使用两层结构。那么, 什么情况下应采用三层c s 呢? 据g a r t n e rg r o u p 的调查表明,具有下述 特点的应用应考虑采用三层c s : 应用的服务或种类超过5 0 个: 应用是用不同语言编写的; 两个以上的异构数据源,如2 个不同的d b m s 或1 个d b m s 和1 个 文件系统: 应用的生命周期超过3 年; 高工作负荷,例如每天超过5 万个事务处理或在同一系统访问同 一数据库的并发用户数超过3 0 0 个; 有至关重要的应用内部通信,包括像电子数据交换( e d i ) 这类企业 的内部通信。 在调研中发现,一些大型超市已经具备这些方面;同时,三层结构在 多年发展中已基本成熟,在此基础上发展起来的中间件技术更使这种结构 如虎添翼;软件工程中面向对象的分析设计编程n 试,以及u m l 建模, 敏捷丌发方法等都为系统的架构提供了良好的规范和准则,因此用三层体 系结构 :发商业系统是非常有意义的,且足技术可行的。 4 三层结构与中间件 采用三层结构应用的模型,为在分布式环境下处理关键性的业务提供 了结构化的解决方案,而中间件的应用则从异构的计算资源中创建了一个 “虚拟主机”,即在分布式应用的环境下提供了具有可以接受管理的相互 关联的资源。 每个c s 环境,从展小的l a n 环境到超级网络环境,都使用某种形式 的中间件。实际上,无论客户机何时给服务器发送请求,也无论它何时应 6 太原理工火学硕士研究生学位论文 用存取数据库文件,都有某种形式的中间件传递c s 链路,用以消除通信 协议、数据库查询语言、应用逻辑与操作系统之间潜在的不兼容问题。中 间件是c s 环境中最重要的部件。所谓中间件是一个用a p l 定义的软件层, 是具有强大通信能力和良好可扩展性的分布式软件管理框架。它的功能是 在客户机和服务器或者服务器和服务器之问传送高级通信,将客户机群和 服务器群有机地”粘合”起来。其工作流程是:在客户机罩的应用程序需要 驻留网络上某个服务器的数据或服务时,搜索此数据的c s 应用程序需访 问中问件系统,该系统将查找数据源或服务,并在发送应用程序请求后重 新打包响应,将其传送回应用程序。 在三层结构的应用模式中,表示逻辑层或资源管理器作为应用界面和 数据的管理者,在传统的两层模式中已有相关的标准和稳定的程序,而作 为三层结构核心的中间层,由于担负着“承上肩下”和“枢纽”的作用, 因而是至关重要的。 中间件的作用体现在以f 几个方面: 在安全性方面提供了多种安全、授权、审计的手段,能够保证系 统数据处理的一致性和隔绝客户端与数据库的商接连接,保i n :了 数据不会被非法盗用、修改和伪造,也不会在意外情况 _ i j 丢失或 损坏。 在准确性方面,能够提供多种核查、审计的于段,使系统数捌的 处理具有较高的准确性。 在可靠性方而能够保证系统可靠连续的运行,因而减少了对后台 主机的压力,使主机的性能得到了最优的发挥。 在可伸缩性方面,使系统硬件平台和数据库具有良好的可扩充。t ! l 、 扩展性能,能够适应不同规模的业务和自适应业务的扩展。 在可扩展性和开放性方面:中间件提供了一个灵活的平台,许多 新功能、新特性均可以在应用系统中得以建立。同时系统采用了 目前流行的开放技术,保证了系统对各种业务的服务,以及与相 关系统的互连。 在实h - 性方面:系统能够实时完成大容最的数据处理t 并划、i k 务 提供了大数据量、并发性处理的支持。 7 太原理工大学硕士研究生学位论文 在可移植性和可管理性方面:系统具有较强的可移植性、可重用 性,保证了能迅速的采用最新出现的技术,以及能长期保持系统 的先进。另外,中间件具有良好的管理手段,对处理过程能够进 行实时监i 钡0 。 总之中间件对于应用来说,可以定位于企业级的关键业务,适用于 分布式环境、多种业务且不断变化以及有大量并发用户和企业与外部互联 的系统中就用。世界排名前4 0 位的电信运营商均在其核心业务中采用了 中间件的产品。 8 太原理工大学硕士研究生学位论文 二中间件概述和选择 1 中间件概述和定义 随着对各种旧有应用的不断扩充和新应用的不断增加,各企业部 门面临的问题也越来越多,诸如不同硬件平台、不同网络环境、不同数据 库之间的互操作,多种应用模式并存,系统效率过低,传输不可靠,数据 加密,开发周期过长,等等,这些问题如果单纯依赖传统的系统软件或工 具软件提供的功能已经不能满足要求,诸如此类的问题使人们开始关注中 问件。伴随着分布式应用的迅猛发展,中间件这一新兴的软件领域已悄然 崛起。 基于分布式训算技术的系统区别于集中式的系统,如果一个系统的部 件局限在一个地方,称作是集中式的;如果它的部件在不周地方,部件之 间要么不存在或仅存在有限的合作,要么存在紧密的合作,则称作是分散 式的;当一个分散式系统不存在或仅存在有限的合作,被称作是网络的; 当一个分散式系统存在紧密的合作,称作是分布式的。分布式意味着计算 的成本或性能取决于数据和控制的通信。在给出分布式系统具体定义的模 型中,e n s l o w 建议分布式系统用硬件、控制、数据这三个维度加以检验。 分布式系统= 分布式硬件+ 分布式控制+ 分布式数据 分布式计算技术的发展经历了两条不同的技术路线。在2 0 世纪8 0 年 代,人们试图在计算机网络上部署全新的分布式操作系统。尽管产生了许 多技术成果和实验系统,但却没有被用户和市场接受。面对现实情况,在2 0 世纪9 0 年代,人们开始探讨新的解决方案,研究在网络计算平台上部署分 布计算环境( 也称为中间件) ,提供开发工具和公共服务,支持分布式应用。 业界普遍遵循这一技术路线,产生了一系列行之有效的技术和广为用户接 受| ;j 勺中间件产品。 中间件的应用范围十分广泛,针对不同的应用需求涌现出了多种各具 特色的中间件产品,广义上中间件是处于应用软件和系统软件( 操作系 统、网络协议、数据库等) 之间的一个软件层,它屏蔽了环境底层的复杂性, 提供给应用开发者统一的、功能强大的a p i s ,使应用开发者只专注于业务 9 太原理工大学硕士研究生学位论文 逻辑的开发,快速地开发出可靠、高效的企业级分布式应用。即中间件是 一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的 技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算 资源和网络通讯。 从中间件的定义可以看出,中间件是一类软件,而非一种软件;中问 件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处 理的软件,定义中特别强调了其网络通讯功能。 在中间件产生以前,开发者不得不直接解决许多很棘手的问题,如多利l 操作系统、多种网络协议、多种数据库、性能、效率、安全等等。因此有 必要将分布式应用软件所要面临的共性问题进行提炼、抽象,形成一个可 复用的软件部件,供应用软件重复使用。中间件的发展历程是和分布式计 算模式的演变过程紧密联系的。 在两层c s 计算模式时,中间件最初是围绕数据库访问模型( 即两层 c s 计算模式) 发展起来的。o d b c 建立了一个事实上的标准,可以使用同一 种语亩与不同的数据库进行交互。o d b c 就是一种中间件,称为数据库中间 件。数据库中问件主要用于需要从多个异构数据库中获取数据的决策支持 系统。 。 发展到三层( 多) 层c s 计算模式后,业务逻辑从客户端分离出来移 到中间层,由中间层处理客户端调用,访问数据库服务器。为支持这种多层 结构的应用模型,出现了相应的中间件。早期的支持三层结构模型的中问 件只是提供了一个通讯协议的较高层次的抽象,开发者可以使用简单的 a p i 进行应用之间的通讯。但是,作为一个真正实用的中间件,还必须提供 命名、安全、事务、灵活的通讯方式、面向对象、容错、负载均衡等等服 务,对这些服务的支持程度可以用来区分不同的中间件产品。 2 中间件分类 从宏观上看,中间件可以分为三大类: 数据类( d a t ai n t e g r a t i o n ) :用于数据的存取、利用和增值,此类中 间件用于构建以数据为中心的应用。 处理类( p r o c e s si n t e g r a t i o n ) :把分布在网络结点上的各个应用或 1 n 太原理工大学硕士研究生学位论文 处理连接在一起,形成一个统一的分布式应用。 分布式构件类( d i s t r i b u t e dc o m p o n e n t s ) :支持构件式应用,未来应 用的发展方向,目前竞争激烈。具体分类如 4 4 中所示。 按照i d c 的分类方法,中问件可分为六类。“” 终端仿真屏幕转换 数据访问中问件 远程过程调用中间件 消息中间件 交易中间件 对象中间件 应用服务器 3 中间件的选择策略 由于中间件的种类较多。在使用中间件的时候必须做出选择。应该从 以下几方面进行。“” 先决定需求,再选择技术 选择服务 注意应用环境 测试和考察 太原理工大学硕士研究生学位论文 1 交易中间件概念 三交易中间件 交易处理系统,又称为联机事务处理系统或者联机交易系统,是应用 系统中比较广泛的一种计算机应用系统。目前应用非常广泛的一种中间件 一交易中间件则是主要应用于联机事务处理,并通常与数据库系统一起工 作。交易中问件系统中两个应用程序或多个应用程序之间可以进行对话, 以便完成交易或一个联机事务。由交易中间件构成的应用系统经常被用于 关键业务系统。 交易中问件的定义如下:它是一个独立的软件,分布式应用借助于这 类软件在不同的技术之间共享资源。交易中间件位于客户机服务器的操 作系统之上,管理计算机资源和网络通讯。 在交易中间件系统中,交易中间件主要包括交易管理模块和通信管理 模块两个主要部分。交易管理模块,即事务监控器( t pm o n i t o r ) ,其核 心保证分布式计算环境中各节点交易处理结果的一致性,及时的交易响应 时间,使整个系统达到高吞吐率。而通讯管理模块提供数据和文件在节点 间的可靠传输,它和交易管理模块的接口,负责完成交易管理模块提出的 数据传输任务。 交易中问件系统是由多个节点组成的,分为客户节点和服务器节点。 一个节点是一台虚拟计算机,是一套由中间件构建起来的应用运行环境, 一个节点可以与一个实际的业务机构相对应。多个节点也可以在一台实际 的机器上运行。一个节点的运行系统由常驻系统内的通信管理模块和客户 端n 务器关系管理模块,管理程序和客户端服务端应用进程,以及附属 于这些程序的参数文件组成。在一个节点上的软件要以分为3 个层次:应 用程序、操作系统和两层这间的中间层。在交易中间件系统中,中间层即 是交易中间件。如下图所示: 1 3 太原理工大学硕士研究生学位论文 应用程序 【i 应用程序 j 二西下丽r 卜4 i i 而列 操作系统 1i操作系统 图3 - 1 交易中间件系统示意图 f i g u r e 3 - 1 t h ea b r i d g e dg e n e r a lv i e wo f t r a n s a c t l o nm i d d l e w a r es y s t e m 交易即事务,对应于客户节点和服务器节点,事务的请求方称为客户 ( c l i e n t ) ,事务的提供方称为服务器( s e r v e r ) ,连接双方的中间层则是交 易中间件( 简称中间件或r i p ) 。交易是客户与服务器双方在一个或多个资 源上为完成一个事务的执行过程。交易须满足:原子性、一致性、隔离性 和永久性,它们简称为交易的a c i d 性质。 交易中间件对交易过程可以描述为:请求过程、应答过程、确认过程 和确认应答过程。 总之,交易过程具有以下的特征: 一个c l i e n t 可能对应多个s e r v e r 。 一个s e r v e r 可能要处理大量并发的c l i e n t 事务请求。 c l i e n t 与s e r v e r 双方须在交易中间件的调度、监管下完成交易的处 理过程并保证交易的a c i d 性质。 因此交易中间件在这类系统中起着核,山的作用。 2 交易中间件体系结构及描述 ( 1 ) 基于t p 的c ii e n t s e r v e r 体系结构的形式描述 z 语言可以描述函数的功能,也可以描述具体系统。本文所要描述的 是基于交易中间件的客户服务器体系结构它不是某个具体系统,而是一 类系统的模型或者称为一种“软件体系结构模型( s o f t w a r ea r c h i t e c t u r e s t y l e ) ”,对它的形式化研究有助于进一步理解基于交易中间件的 c l i e n t s e r v e r 系统的实质。 由于c l i e n t 与s e r v e r 之间是一个多对多的关系,为了描述的简洁,引 入一种连接件d e p o s i t ,一个d e p o s i t 建立了一个c l i e n t 与s e r v e r 以及当前 交易的处理阶段。 1 4 太原理工大学硕士研究生学位论文 其中d e p o s i t 、c l i e n t 、s e r v e r 是预定义类型,分别表示各自的 标识符集合;s t a g e 是一个枚举类型,表示交易处理的不同阶段,定义 如下: s t a g e = c l r e q it p r e q ls e a n s i t p a n s ic l a c k i t p a c k k n i t 客户与服务器的规范 基于交易中间件的c l i e n t s e r v e r 系统状态变化是由c l i e n t 发出的服 务请求触发。可以假设:一个c l l e n t 在一个时间仅能够执行一个交易过 程,而且每个交易都是完整的。即每个c l i e n t 一旦接受了一项事务请求 总能顺利的完成所需要的全部交易过程,并且在交易全部完成后才可接受 下一个事务请求。 一个c 1 l e n t 的描述除了自身的标识和交易当前处理阶段外,还要说明 与它相关的d e p o s i t 的集合,这些d e p o s i t 描述了这一个c l l e n t 与若干 s e r v e r 的联系,因此在d e p o s i t s 中所有成员的c 1 i e n t 相同而s e r v e r 不 同。pd e p o s i t 是指d e p o s jt 的幂集。 一 s t a g e : s t a g e c l i e n t :c l i e n t d e p o s i t s :pd e p o s i t v d d e p o s i t s * d c l i e n t = c l i e v 吐,吐d e p o s i t s 吐破j s e r v e r d ,s e 州e g 一个s e r v e r 的描述除了自身的标识外,也要说明与它相关的d e p o s i t 的集合,这些d e p o s it 是同一s e r v e r 与不同c 1 j e n t 的联系,冈此和 d e p o sj t s 中所有成员的s e r v e r 相同而c l i e n t 不同。 1 5 太原理工大学硕士研究生学位论文 d e p o s i t s :pd e p o s i t v d d e p o s i t s d s e r v e r = 5 b v d l ,d 2 d e p o ,m 吐d 2 = 中间件及系统的规范 如前所述,交易中间件是系统的核心,它起着整个系统的监控、管理 和调度的作用。t p 与c l i e n t 之间有直接的数据通道进行通讯,t p 与s e r v e r 之问的联系则是通过共享的数据d e p o s i t s 隐式实现。一个d e p o s i t 表示 一个s e r v e r 与个c 1 i e n t 的联系。 阁c d ( c ) 表示从一个c l i e n t 到多个d e p o s i t 的映射。交易中间件就 是根据这个函数关系把来自客户的事务申请转换成若干与s e r v e r 相关的 d e p o s i t 的信息,并且在所有相关d e p o s i t s 的处理完成后再把完成处理的 回答通知客户。 用d - s ( d ) 表示一个d e p o s i t 到一个s e r v e r 的映射,出于t p 与s e r v e r 之间是通过共享数据隐式调用,所以d - s 函数实际上隐藏在d e p o s i t 的数 据域( s e r v e r ) 中。下面是交易中间件的规范( a t p ) 。其中e l i e n t s 是 客户集合,d e p o s i t s 是共享数据集合。规范前面的四条性质主要用于刻画 c d 函数的定义域和值域等,并指出不同客户所映射的共享数据集合是不 相交的;后面的四条性质刻画这里的共享数据集与各个客户中关联的共享 数据集的关系及数据的一致性( 符号+ + 表示“有穷部分函数”) 。 1 6 太原理: 大学硕士研究生学位论文 c l i e n t s :pa c l i e n t d e p o s i t s :pd e p o s i t c d : a c li e l l t + + pd e p o s jt d o m ( c d 1 = c l i e n t s r a n ( c d ) p d e p o s i t s v c l ,c 2 c l i e n t s 。( e 1 e 2 = u 。m 。c d ( c ) = d e p o s i t a v c c l i e n t s ( c d e p o s i t s v ded e p o s i t s ( 3 e c l i e n t , 。 v c c l i e n t s ( v d c d ( c 、 v d d e p o s i t s ( d e c d ( d ) = m ) a t p 中不同的e l l e n t 按e - d 函数映射到的d e p o s i t 互不相交,即一 个d e p o s i t 不会被多个c l f e n t 对应。所有e l l e n t 按c d 映射到的d e p o s 5 t 覆盖全部的d e p o s i t s 。即每个d e p o s i t 都与一个c l i e n t 关联。所有 c l l e n t 与按c d 映射到的d e p o s i t s 中的c l l e n t 应该一致。 整个系统的规范以中间件为基础,增加一组服务器和一个d - s 函数的 说明,在规范中给出的性质指明d - s 的定义域和值域,另外也规定中问件 中的共享数据d e p o s i t s 与各服务器中局部的d e p o s i t s 的关系和数据一致 性。 一o ,3 一 a t p s e r v e f s :pa s e r v e r d s : a c l i e l q t + + p d e p o s l t d o m ( d n = d e p o s i t s r a n ( d s 、= s e r _ l ,e l s v s s e f v e r s f v d j d e p o v d d e p o s i t s * f 3 s s e w d e l v d d e p o s i t s f d s e r v e r = e p k , d e p o s i t 一定是s y s 中某s e r v e r 中的d e p o s i t 。所有a i p 的d e p o s i l 1 7 太原理工大学硕士研究生学位论文 的s e r v e r 就是按d - s 函数将它映射到的s e r v e r 系统状态的初始化和运算规范 整个系统的初始化应该包括对系统中所有客户服务器和共享数据的 初始化,这种初始化应该保证在系统启动时这个状态就满足规范中规定的 全部约束条件。下面以表示系统中各项交易处理的阶段状态为代表,展示 整个系统的初始状态和运行中各个阶段的变化情况。 系统的初始化仅需要将所有客户和共享数据的s t a g e 鼹为初始状态 ( 1 n i t ) : a1 i i ll s y s v d d e p o s i t s * ( s t a g e d j n i t v c c l i e n t s , r c s t a g e = 1 ,r 系统状态的变化由某一个用户的服务申请驱动,效果是把用户自身的 s t a g e 状态从i n i t 到c l r e q 。 中间件一旦接收到用户的上述申请,就可以按c d 函数,把该用户的 申请转化为对若干个服务器的申请,隐藏在若干个共享数据之中,与此同 m j 相关用户和共享数据的s t a g e 状态也随着变化。 1 a t p 3 c c l i e n t s f c s t a g e = 。c l r i r c s t a g e = t p r e q a v d o 一 d s l a g e = 。t p r e q ) ) ) r d s t a g e = 。刀订7 1 = 在上述过程中各个用户可以同时提出申请,与此同时各个服务器也可 以同时主动去发现存储在共享数据集中的对自己的申请,处理后在共享数 据中作相应标记表示向中间件回信。 1 8 太原理工大学硕士研究生学位论文 中间件在查到某一客户的所有相关请求都被服务器处理后,可将结果 汇总通知该用户。 一l r 、j a t p j c c l i e n t s ( ( c s t a g e = 。t p r e g a v d e d ( c ) d s t a g e = s e a n s ) = ds t a g e =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司组织滑雪策划方案
- 2025年物流与供应链管理考试卷及答案
- 2025年现代文学与书法艺术考试试题及答案
- 2025年企业文化与内部管理的考核试卷及答案
- 2025年品牌传播与市场联系考核考试试卷及答案
- 2025年可持续发展与环境政策基础知识考试卷及答案
- 2025年媒体传播与社会学习研究考试试卷及答案
- 2025年计算机网络与信息安全课程考试题及答案
- 2025年材料科学与工程专业综合能力测试卷及答案
- 2025年初中历史学科教育考试试题及答案
- 《无衣》教学设计 统编版高中语文选择性必修上册
- 合肥市住宅小区物业服务等级标准
- 创造心智与创新训练智慧树知到期末考试答案2024年
- 食品厂员工卫生培训方案
- 危房改造工程投标方案(技术标)
- 北京市西城区2022年五年级下册《数学》期末试卷与参考答案
- (完整)大体积混凝土测温记录表
- 国开电大本科《中国法律史》在线形考(任务一至十二)试题及答案
- 提高住院病历完成及时性持续改进(PDCA)
- 山东省济宁市兖州区2022-2023学年八年级下学期期末数学试题(含答案)
- 加强中小学生作业管理完整PPT
评论
0/150
提交评论