(计算机应用技术专业论文)一种基于com的中间件平台的研究与实现.pdf_第1页
(计算机应用技术专业论文)一种基于com的中间件平台的研究与实现.pdf_第2页
(计算机应用技术专业论文)一种基于com的中间件平台的研究与实现.pdf_第3页
(计算机应用技术专业论文)一种基于com的中间件平台的研究与实现.pdf_第4页
(计算机应用技术专业论文)一种基于com的中间件平台的研究与实现.pdf_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

浙江理工大学硕士学位论文 摘要 软件的可重用性、可维护性和可集成性的提高是软件工程中的难题,同时也 是软件业内一直在改进和突破的关键技术领域,极具研究和应用价值。传统基于 c o m + 的三层架构开发模式虽然使软件的可重用性和可维护性得以提高,但还是 未能从根本上解决管理类软件在客户化、维护、升级、集成等企业级应用困难。 本文以实现三层架构中层与层之间的松耦合为出发点,将中间件平台技术引 入传统的三层架构,设计并实现了一种基于c o m + 技术的中间件平台,为业务逻 辑的定义、实现与运行提供了统一的规范和环境,为复杂应用软件提供集成框架, 同时支持统一数据访问、灵活实现业务处理过程,为三层架构软件的开发、运行 提供了支撑环境。基于本平台开发出来的三层架构软件的可重用性、可维护性和 可集成性大大超过了传统的三层架构软件。 本文的主要工作包括: 1 对c o m + 组件技术、中间件技术、分布式计算、工作流技术、业务逻辑 可配置技术、x m l 、u m l 等相关技术做了深入的研究,对国内比较著名 的、用于改进三层架构开发模式的中间件平台,如:东软v p 平台、用友 u a p 平台等做了广泛调研。 2 设计并实现了一种基于c o m + 技术的中间件平台。采用封装后的记录集 对象作为平台内部的高效数据交换格式;提出并实现了一种新的基于工 业流水线思路的自定义对象容器作为平台内部数据交换区,统一管理数 据交换格式和数据库连接对象;采用自定义列集技术实现了数据交换区 对象的可分布式高效传输功能;实现了一种灵活的业务逻辑可配置式脚 本服务;平台内部实现了一个工作流引擎。 3 提出了一种新的基于本中间件平台的三层架构开发模式、规范,统一了 业务组件的接口和平台对外接口,解决了组件交互难的问题,有效降低 了层与层之间、组件与组件之间的耦台度,使三层架构软件的开发和维 护变得容易。 4 基于本平台设计、开发了一段业务逻辑处理过程,与传统的基于c o m + 的三层架构开发模式进行了分析、比较,验证了本平台的有效性。 关键字:c o m + ,组件技术,中间 牛平台,分布,架构 浙江理工大学硕士学位论文 a b s t r a c t t h ei m p r o v e m e n to f r e u s i n g 、m a i n t a i n i n ga n di n t e g r a t i o no f s o f t w a r ew h i c hi sa c o n s l a n tp r o b l e mi ns o f t w a r ee n g i n e e r i n ga n dk e yt e c h n o l o g i c a ld o m a i ni ni n d u s t r yo f s o f t w a r eh a s g o o d v a l u ei nr e s e a r c ha n d a p p l i c a t i o n a l t h o u g ht r a d i t i o n a l d e v e l o p m e n tm o d eo ft h r e e t i e ra r c h i t e c t u r eb a s e do nc o mp l u si m p r o v e st h er e u s i n g a n dm a i n t a i n i n go fs o f t w a r e ,i tc a n ts o l v ep r a c t i c a lp r o b l e m so fm a n a g e m e n t s o r w a r ec o m p l e t e l y , s u c ha sc u s t o m i z a t i o n 、m a i n t a i n i n g 、u p g r a d i n g 、i n t e g r a t i o na n d s oo n t h et h e s i ss t a y sw i t ha c h i e v i n gt h ew e a kc o u p l i n go ft i e rt ot i e ri nt h r e e t i e r a r c h i t e c t u r e ,c o m b i n e sm i d d l e w a r ep l a t f o r mw i t ht h r e e t i e ra r c h i t e c t u r e ,d e s i g n sa n d a c h i e v e sam i d d l e w a r ep l a t f o r mb a s e do nc o m p l u s ,p r o v i d e sau n i t e dn o r ma n d e n v i r o n m e n tf o rt h ed e f i n i n g 、a c h i e v m e n t 、e x e c u t i o no fb u s i n e s sl o g i c ,p r o v i d e sa i n t e g r a t e df r a m ef o ri n v o l v e da p p l i c a t i o n ,s u p p o r t su n i t e dd a t aa c c e s sa n df l e x i b l e a c h i e v e m e n to fb u s i n e s sl o g i c ,p r o v i d e sas u p p o r t i n ge n v i r o n m e n tf o rd e v e l o p m e n t a n de x e e u t i o no ft h r e e t i e ra r c h i t e c t u r es o f t w a r e t h es o f t w a r e sb a s e do nt h i s m i d d l e w a r ep l a t f o r ma r em u c hm o r er e u s e a b l e 、m a i n t a i n a b l e 、i n t e g r a t e a b l et h a nt h o s e b a s e do nt r a d i t i o n a ld e v e l o p m e n tm o d eo f t h r e e - t i e ra r c h i t e c t u r e t h em a i nw o r ko f t h et h e s i si n c l u d i n g : 1 c o m p l e t e dad e e pr e s r e a c ho nr e l a t e dt e c h n o l o g i e si n c l u d i n gc o mp l u s 、 m i d d l e w a r e ,d i s t r i b u t i o n 、w o r k f l o w 、i n t e g r a t i o no f b u s i n e s sl o g i c ,x m l , u m l a l s o ,t h ea u t h o rm a d eac o m p r e h e n s i v er e s e a r c ho nv pp l a t f o r m ,u a p p l a t f o r m 2 d e s i g n e da n d a c h i e v e dam i d d l e w a r ep l a t f o r mb a s e do i lc o mp l u s , e n c a p s u l a t e d r e c o r d s e tf o re f f e c t i v ed a t aa c c e s s o b j e c t ;p r o p o s e da n d a c h i e v e dan e ws e l f - d e f i n i n go b j e c tc a p s u l eb a s e do ni n d u s t r yp i p e l i n i n g , w h i c hm a n a g e sd a t aa c c e s so b j e c ta n dd a t a b a s ec o n n e c t i o no b j e c t ;a e h i e , c e d t h ee f f e c t i v e l yd i s t r i b u t e dt r a n s m i s s i o no ft h es e l f - d e f i n i n go b j e c tc a p s u l e w i t ht h et e c h n o l o g yo fs e l f - d e f i n i n gm a r s h a l ;a c h i e v e daf l e x i b l e s c r i p t s e r v i c ef o rb u s i n e s sl o g i cc o n f i g u r a t i o n ;a c h i e v e daw o r k t l o we n g i n ei nt h e 4 一一塑坚堡三查鲎堡主堂垡堡塞 p l a t f o r m 3 p r o p o s e dan e wd e v e l o p m e n tm o d eo ft h r e e t i e ra r c h i t e c t u r eb a s e do nt h i s m i d d l e w a r ep l a t f o r m ,u n i t e dt h ei n t e r f a c eo fb u s i n e s sc o m p o n e n ta n dt h i s p l a t f o r m , s o l v e dt h ed i f f i c u l t yo fc o m p o n e n ti n t e r o p e r a b i l i t y , d e t r a c t e dt h e c o u p l i n go ft i e rt ot i e ra n dc o m p o n e n tt oc o m p o n e n t ,m a d et h ed e v e l o d m e r i t a n dm a i n t a i n o fs o f t w a r ee a s y 4 d e s i g n e da n dd e v e l o p e dab u s i n e s sl o g i cb a s e do nt h i sm i d d l e w a r ep l a t f o r m a n a l y s e da n dc o m p a r e dw i t ht r a d i t i o n a ld e v e l o p m e n tm o d eo ft h r e e t i e r a r c h i t e c t u r e ,w h i c hs h o w sg o o dp e r f o r m a n c eo f t h i sm i d d l e w a r ep l a t f o r m k e yw o r d s :c o m p l u s ,c o m p o n e n tt e c h n o l o g y ,m i d d l e w a r ep l a t f o r m ,d i s m b u t i o n , a r c h i t e c t u r e 塑、江望三盔堂堡主堂垡笙苎里壁墨墨量2 羔 附件一: 浙江理工大学学位论文原创性声明 本人郑重声明:我恪守学术道德,崇尚严谨学风。所呈交的学位论文,是本 人在导师的指导下,独立进行研究工作历取得的成果,除文中已明确注明和引用 的内容外,本论文不包含任何其他个人或集体己经发表或撰写过的作品及成果的 内容。论文为本人亲自撰写,我对所写的内容负责,并完全意识到本声明的法律 结果由本人承担。 附件二: 学位论文作者签名 越弘 u 。 日期: k 年;月3 日 浙江理工大学学位论文版权使用授权书 学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅或借阅。 本人授权浙江理工大学可以将本学位论文的全部内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位属于 保密口,在年解密后适用本版授权书。 不保密d 学位论文作者签名 础患 n j 指导教师签名: 日期:( ,年弓月弓日 日期:b 0 年7 月, 日 浙江理工大学硕士学位论文 1 1 课题背景 第一章绪论 现阶段中国管理类软件( m i s ,e r p ,c r m 等) 的主要矛盾是“用户需求的 个性化与软件产品的通用性之间的矛盾”。客户化工作量大、维护成本高、客户 系统版本众多、管理混乱、工程周期长、人力不足等问题几乎是所有管理类软件 开发商所面临的问题。软件的可重用性、可维护性和可集成性的提高是软件工程 中永恒的课题,同时也是软件业内一直在改进和突破的关键技术领域,极具研究 和应用价值。 传统三层体系结构的开发模式虽然使程序代码的可重用性和可维护性得以 提高,但还是未能从根本上解决管理软件在客户化、维护、升级等企业级应用时 碰到的困难。以c o m + 组件技术【1 1 1 2 1 为例,从表示层角度看,客户端程序在调用 业务组件的某个接口中的某个方法时,必须清楚地了解所调用方法的参数类型、 顺序和个数等细节,这导致客户端程序的开发效率偏低;若中间层的业务组件的 接口发生了变化,那么所有用到该业务组件的客户端程序都必须作相应的修改, 这导致客户端程序的可维护性差。从中间层的角度看,业务组件的接口互不相同, 这导致组件间的耦台度过紧,交互、集成困难;业务组件的开发人员必须具备良 好的c o m 、c + + 等编程技术,同时要控制分布事务、错误机制、c o m 对象引数、 接口查询、线程安全等问题,这导致业务组件的开发难度、成本过大,开发效率 低;以上两点又直接导致业务组件的可重用性、可维护性、可配置性差。从数据 层的角度看,数据库连接由业务组件直接控制不利于数据库移植、更改及事务功 能的实现。 以上问题仅仅是传统三层体系结构的开发模式的部分缺陷,但是都反映出了 导致这些缺陷的根本原因:客户端程序通过接口直接调用业务组件及业务组件直 接调用数据层的访问形式。换句话说,传统三层体系结构中的应用层和中间层之 间,中间层和数据层之间的联系还是过于紧密,其灵活性仍有进一步提高的空间 和余地。若能设法降低层与层之间的耦合度,则将从本质上提高三层架构软件的 可重用性、可维护性和可集成性。 由于在构建三层体系结构时,关键是对中间层的设计,故在三层体系结构开 浙江理工大学硕士学位论文 发模式的基础上引入中间件平台 3 】【4 【5 是种可行的改进三层架构开发模式的方 法。这样,中间件平台既作为客户端与服务器端的通信代理,又作为业务逻辑的 具体实现层,可使应用层和中间层、中间层和数据层之间实现松耦合,进一步降 低层与层之间的关联。同时,平台化的开发模式使不同体系结构的应用系统间的 互连变得容易,提高了软件的可集成性和灵活性。总之,中间件平台化开发可为 解决管理软件研发企业在客户化、维护、升级等企业级应用上的能力不足提供有 效的技术与应用支持。 1 2 本课题的研究现状 中间件8 】【9 】的概念和产品起源于在二十世纪九十年代初期,九十年代中期 开始风行起来。那时候的中间件顾名思义被定义为“介于应用和操作系统之间的 系统软件” 。显然当时的操作系统已经不能完全满足企业应用的需要,企业应 用所需要的跨平台、安全性、稳定性、完整性和信息可靠传递等已超出了操作系 统的范畴,中间件的诞生正满足了企业应用的这些需要。所以中间件发展一时红 火起来,技术也是百花齐放,开始形成各种中间件:交易中间件、消息中间件、 专有系统中间件、面向对象中间件、数据存取中间件、远过程调用中间件口伽。 中间件作为基础软件的重要组成,与操作系统、数据库齐头并进,在世界范 围内呈现出迅猛发展的势头。目前,中间件在国内整个软件行业中应该是发展速 度最快的市场之一。在国内中间件的市场中,国外厂商仍然占主导地位,主流厂 商包括i b m ”】,b e a ,o r a c l e ,k p ,i o n a 等,典型产品有t u x e d o 中间件” ;而 一些新型的中间件公司,如t i b c o ,w e b m e t h o d ,v i t r i a 也开始携其应用集成中间 件或业务流程管理中间件进入中国市场。而国内一些规模较大的软件公司也开始 进入此领域”】,形成了包括中创软件商用中间件、金蝶a p u s i c 、东方通科技、 中关村科技、中和威等在内的一批中间件专业厂商,东软、用友等应用集成商也 大量投入中间件产品的研发,国产中间件已经形成了比较完整产品体系,例如, 中创软件、中和威推出了基于c o r b a 标准的通信中间件产品;中创软件、金蝶 软件、东方通科技等公司分别推出了遵循j 2 e e 规范的应用服务器产品;中创软 件、中科院软件所、东方通科技推出了消息中间件产品;中创软件推出了符合 o m g 标准的企业应用集成套件i n f o r e a i ;此外,还有大量的公司投入到中间件 浙江理工大学硕士学位论文 开发平台和构件库的建设中。国产中间件已经广泛成功应用于我国政府、金融、 证券、保险、税务、电信、军事、医疗等行业的信息化建设,并成为大型应用系 统建设不可缺少的一环。 在国内高校中,国防科技大学 1 5 】、北京大学 1 6 】、北航 1 7 】、电子科技大学 1 8 、 中科院软件所、东南大学等大学和院所很早就投入到中间件技术的研究中,并形 成了一系列的成果。在国家发改委、信息产业部电子发展基金和国家科技部8 6 3 计划和政府其他基金资助下,通过各项目研究单位和国内骨干软件企业多年的不 懈努力,国内在基础中间件领域已经形成丰富的技术积累,并在c o r b a 技术( 国 防科技大学与中创软件) 、消息中间件技术( 中科院软件所) 、j 2 e e 应用服务器( 北 京大学) 、w e bs e r v i c e ( = t 航) 等方面在技术上基本与国外保持同步发展的水平。 中间件的种类很多,相关的产品和研究成果也很多。在现有的中间件平台类 产品里面,有两项产品与本课题试图研究和实现的中间件平台较为类似,也是专 门用来提高三层管理类软件的可重用性、可维护性和可集成性。简介如下: 东软金算盘的v p 平台 2 0 0 2 年6 月,东软金算盘推出了第一个管理软件的平台v p 。它试图从技术 到应用的角度解决了软件通用性与用户需求个性化的矛盾,企业业务的不断变化 与软件产品的相对固化矛盾,软件技术日新月异与软件产品升级换代滞后的矛 盾。其主要目标是解决j 2 e e 应用开发、实施的复杂性,提高管理软件的客户化 能力。v p 是一种面向领域的中间件平台,既提供了标准产品( 公共应用) ,又提 供了业务框架、开发工具和运行环境。 浙江理工大学硕士学位论文 图1 1 v p 平台架构 v p 平台采用了面向框架的平台化设计思想,提供门户引擎、安全引擎、服 务引擎、规则引擎、工作流引擎,支持多操作系统平台、多数据库,所有业务的 基本元素与基本流程由v p 平台集中管理,面向最终用户的业务功能完全采用组 件化技术进行构建,在v p 平台应用架构范围内可以方便增加业务功能并保证系 统的集成性,所以v p 平台完全支持协同开发的运作方式,可以最大限度利用客 户现有的资源,并以最低的项目投入成本获得最大的客户化应用效果。 用友的u a p 平台 用友软件在2 0 0 3 年1 月推出自己的中间件平台产品:用友u a p 。用友各种 产品,不论是e r p 还是c r m 、s c m ,不论中端还是高端应用,都将基于该平台。 这保证了各种不同的产品在数据、流程和应用上可以无缝集成,界面与操作完全 一致,企业完全可以根据自己的实际需求分阶段部署不同的应用以及在必要的时 候进行升级,改善企业实施e r p 。u a p 平台是建立在各种标准的技术之上的中 间件平台,如j 2 e e 、x m l 、w f m c 等,独立于各种操作系统、数据库系统。内 含工作流平台、企业门户平台、集成平台等,其中集成平台支持数据、应用以及 流程的集成。是以企业业务信息、资源管理为基础、业务过程控制管理为核心, 支持业务流程重组、支持多数据库系统、提供可视化建模工具的统一架构平台。 图1 2 u a p 平台架构 u a p 平台具有以下特点和领先优势:一个稳定可靠的、可扩展的、易部署 的运行平台,支持大并发用户数,支持集中分布混合等多种应用部署;一个高 浙江理工大学硕士学位论文 效的模型化的开发平台,基于企业建模理论的,以业务导向和驱动的、可快速构 建应用软件的中间件平台,从而大大缩短开发周期,提高应用开发效率,减少企 业信息化风险,降低实施成本,实现最终用户的个性化的需求,支持用户不断发 展的需要;一个强大的客户化定制和二次开发工具,实现流程、模型、以及部分 业务规则的动态配制,满足行业化和个性化需要;可以由使用者根据具体需求定 制,满足企业持续改进的管理需求;一个开放的系统集成平台,支持与第三方应 用集成和统一管理平台( 权限、安全、系统监控等) :一个增值商业平台,具体 需求定制,用友公司产品合作伙伴、实施合作伙伴可以借助u a p 平台进行增值开 发和服务。 除了这两项成熟产品外,还有一些研究成果与本课题试图研究和实现的中间 件平台有些相似,如:文献 1 9 1 采用j 2 e e 技术实现了一种开放、灵活、面向领 域的构件运行支撑平台,重点研究了平台内核、可扩展互操作框架以及元编程机 制,并结合电力领域探讨了面向领域的定制与扩展方法,使基于中间件的构件运 行支撑平台成为其软件复用的关键;文献 2 0 2 基于w e b 服务和业务流程管理技 术,提出了服务协作中间件模型,探讨了其内部机理与协作流程元模型的形式化, 使业务流程能更灵活、更广泛地适用于各种开放环境,提升了企业的分布计算能 力;文献 2 1 1 设计了一种业务流程的中间件引擎以方便企业之间的业务集成并管 理、执行、监控业务流程实例;文献 2 2 1 提出了一种企业分布式应用开发和运行 支撑系统模型。目的是建立一套模型和技术,用来屏蔽各种低层技术的异同,提 供应用一个独立的、可管理的应用开发和运行平台,基础设施包括三大部分:引 擎、数据和基础服务,能有效的集成企业的遗留应用和解决应用的互联;文献 2 3 1 提出了一个基于x m l 的企业应用集成系统的总体框架,使软件的集成性得以提 高;文献 2 4 1 设计了一种基于o r b c c m 的面向分布式实时嵌入式软件的中间件 平台,抽象出了系统开发的共性以提供统一的开发规范,提供了分布式交互模式 以减少中间代码的可重用性。 以上提到的东软金算盘v p 平台、用友u a p 平台及其它研究成果都遵循j 2 e e 技术规范,而当前主流的组件技术只有j 2 e e 的e j b 和微软的c o m 。现有的研 究成果中鲜有支持c o m 组件技术的中间件平台,多数关于c o m + 的研究成果都 是直接使用该技术进行系统开发,如文献 2 5 、 2 6 。由此可见,若能实现一种 浙江理工大学硕十学位论文 支持c o m 组件技术的、用来管理三层架构中的业务逻辑层的、可有效提高三层 架构软件的可重用性、可维护性和可集成性的中间件平台将十分有意义。 1 3 本课题的主要工作 本课题在深入研究c o m 组件技术及传统三层架构开发模式的不足后,试图 基于c o m + 来实现一种中问件平台。该平台可为业务逻辑的定义、实现与运行提 供统一的规范和环境,它支持统一数据访问、灵活实现业务处理过程,可为三层 架构软件的开发提供支撑环境。基于本平台开发出来的三层架构软件的可重用 性、可维护性和可集成性将大大超过传统的三层架构软件。 1 4 本文的内容及编排 本论文共有六章,从第二章到第六章的内容安排如下: 第二章:介绍了本中问件平台的总体设计。 第三章:介绍了本中间件平台中各个主要部件的详细设计。 第四章:介绍了本中问件平台中各个主要部件的具体实现。 第五章:介绍了如何基于本中间件平台来设计和开发三层架构软件。 第六章:对全文进行回顾并对进一步工作进行展望。 第六章:对全文进行回顾,并对进一步工作进行展望。 浙江理工大学硕士学位论文 第二章一种基于c o m + 的中间件平台的总体设计 2 1c o m 、d c o m 、c o m + 简介 2 1 1c o m 简介 c o m ( m 1 11 ( c o m p o n e n to b j e c tm o d e l ) 是微软的组件对象模型。它的实质是 一些小的二进制可执行的程序,它可以为应用程序和操作系统以及其他的组件提 供服务。微软的许多技术如:a c t i v e x ,d i r e c t x ,a d o 等都是基于c o m 建立的。 c o m 的发布形式是:以w i n 3 2 动态链接库( d l l ) 或者以可执行文件( e x e ) 的形式发布的可执行代码组成。其中以d l l 形式发布的方式实现的组件程序, 在客户调用时会把组件程序和客户程序运行在同一个进程中,所以被称为进程内 的组件。以e x e 的形式发布,在客户调用时,他有自己的独立的进程空间。故 称为进程外的组件。 总体来看,c o m 提供了编写组件的一个标准方法。遵循c o m 标准的组件 可以被组合起来以形成应用程序。至于这些组件是谁编写的,是如何实现的并不 重要。组件和客户之闽通过“接口”来发生联系,使用c o m 技术的关键,乃至 整个三层体系结构的关键就是接口。c o m 接口是一组逻辑上相互关联的操作, 这些操作定义了某种行为,也就是这组操作的规范,而非特定的实现,实质也就 是接口代表了接口调用者和实现者之间的一种约定。所有的对c o m 的操作都是 通过接口指针来进行的。通过接口可把组件的功能展示给了调用者。 2 1 2 d c o m 和m t s 简介 d c o m 1 1 1 2 1 ( 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 ) 是c o m 发展的新阶段。 它扩展了组件对象模型技术,使其能够支持在局域网、广域网甚至i n t e r a c t 上不 同计算机的对象之间的通讯。使用d c o m 技术,应用程序就可以在位置上达到 分布性,从而满足应用的需求。d c o m 的发展推动了c o m 在网络环境中的发展。 m t s 1 1 1 2 1 2 7 1 1 2 8 1 2 9 是一个基于c o m 组件的事务处理系统,提供了对多用户、 分布式事务和安全的支持,为开发基于c o m 组件的分布式应用程序提供了环境。 在多用户环境中,通过为展开和实施应用程序提供一个设置和运行环境从而简化 浙江理工大学硕士学位论文 应用程序的开发,使得开发人员能集中精力开发应用程序的业务逻辑而不是数据 库连接和线程同步。m t s 提供的数据连接缓冲、线程管理、分布式事务服务很 好地解决了多客户端利用组件频繁访问后台数据库等一系列问题,有助于开发人 员开发大规模的、可靠的以及基于c o m 组件的应用程序。m t s 体系结构包括 m t s 环境和m t s 服务。 2 1 3c o m + 简介 c o m + 1 【2 】 2 7 1 2 8 】【2 9 1 并不是c o m 的新版本,可以把它理解为c o m 的新发展, 或者为c o m 更高层次上的应用。c o m + 的底层结构仍然以c o m 为基础,它几 乎包容了c o m 的所有内容。可以这样认为,c o m + 是c o m 、d c o m 和m t s ( m i c r o s o f t t r a n s a c t i o ns e r v e r ) 的集成,它综合了这些技术要素。更重要的是, c o m + 倡导了- - t 0 新的概念,它把c o m 组件软件提升到应用层而不再是底层的 软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所 有组件的底层细节留给操作系统,因此,c o m + 与操作系统的结合更加紧密。 2 1 3 1 w i n d o w sd n a 策略 w i n d o w sd n a 1 】 2 】【2 7 1 1 2 8 】 2 9 】( d i s t r i b u t e di n t e m e ta p p l i c a t i o na r c h i t e c t u r e ) 是 m i c r o s o f t 多年积累下来的技术精华集合起来而形成一个完整的、多层架构的企 业应用总体方案,它使w i n d o w s 真正成为企业应用平台。 m i c r o s o f t 在m t s 的基础上提出了多层软件结构的概念。图2 1 ( a ) 显示了 这种多层架构的技术组成模型。而w i n d o w sd n a 则是一个简化了的三层架构, 如图2 1 ( b ) 所示。 薰 一 浙江理工大学硕士学位论文 ( a ) 三层架构技术组成模型( b ) w i n d o w sd n a 结构 图2 1 三层架构技术组成模型与w i n d o w sd n a 结构 为了实现多层结构的企业应用,必须使用各种分离的技术,图2 ,l ( a ) 列出 了某些可能用到的软件或者技术,学习这些知识本身就不是一件轻松的事情,更 何况要开发出优秀的应用程序来。图2 1 ( b ) 则要简明得多,这是一个尚未实现 的结构模型,但是m i c r o s o f t 正在朝这个方向努力。在d n a 结构中,f o r m s + 还只是一个技术框架,它将把w i n 3 2g u i 和w e b a p i 结合起来,并朝着d h t m l 的方向发展。在数据层,s t o r a g e + 还只是一种提法,不过m i c r o s o f t 已经把数 据库接口从o d b c 转移到a d o 和o l e d b 上( 为了统一与各数据库的接口,微 软推出了o l e d b ,但o l e d b 过于低级难以直接使用,于是微软随后推出了一 个较为高级且简单的c o m 对象a d o ,来让程序员存取数据,由于a d o 是建 立在o l e d b 之上的,因此拥有广泛的与各种数据库相连的接口) ,这将最终促 进数据层接口技术的统一。在中间业务层,c o m + 已经成为现实,它以系统服务 的形式把原先散落的众多技术综合起来,并提供简单的编程模型,以直接应用层 的编程接口为应用程序提供服务。c o m + 是d n a 结构的核心,它将成为企业应 用或者分布式应用的基本工具。 2 1 3 2 c o m + 结构 图2 2c o m + 组成结构图 c o m + 不仅继承了c o m 、d c o m 和m t s 的许多特性,同时也新增了一些 服务,比如负载平衡、内存数据库、事件模型、队列服务等。c o m + 新增的服务 为c o m + 应用提供了很强的功能,建立在c o m + 基础上的应用程序可以直接利 用这些服务而获得良好的企业应用特性。 浙江理工大学硕士学位论文 c o m + 还提供了一个比m t s 更好的组件管理环境,如图2 | 3 所示。c o m + 管理程序( c o m + e x p l o r e r ) 也采用了m m c ( m i c r o s o f tm a n a g e m e n tc o :a s 0 1 e ) 标准界面。对应于m t s 中的包( p a c k a g e ) ,c o m + 称之为c o m + 应用( c o m + a p p l i c a t i o n ) ,每一个c o m + 应用也包括一个或多个c o m + 组件以及与应用有关 的角色信息,一个c o m + 组件又可包括一个或多个组件接口,接口还可包括一个 或多个方法,如图2 4 所示。若无特别指出,本文中提到的“方法”均指c o m 中的方法。通过c o m + 管理程序,可以设置c o m + 应用和c o m + 组件的属性信 息,比如组件的事务特性、安全特性等等,如图2 5 所示。 图2 3c o m + 管理程序运行示意图 图2 4 c o m + 应用、c o m 组件、接口、方法之间的关系 浙江理工大学硕士学位论文 图2 5c o m + 组件的属性配置示意图 c o m + 标志着m i c r o s o f t 的组件技术达到了一个新的高度,它不再局限于台 机器上的桌面系统,它把目标指向了更为广阔的企业内部网,甚至i n t e m e t 国际 互连网络。c o m + 与多层结构模型以及w i n d o w s 操作系统为企业应用或w e b 应 用提供了一套完整的解决方案。 2 2 三种主流的组件技术及本课题的选择 目前三种主流的组件技术分别是c o m c o m + 、c o r b a 、e j b ( j 2 e e ) ,尤 其是c o m + 与j 2 e e ,它们的市场占有率相差无几。客观的讲,每个结构体系都 有自己的优缺点【3 0 】,本课题在选择使用哪种组件技术时考虑如下: 1 效率问题。通过测试,c o m c o m + 的系统性能优于c o r b a 和e j b ,尤 其在远程调用方面,再加上本课题预期实现的是支撑平台类软件,平台 的效率就显得格外重要。 2 跨平台问题。虽然j a v a 、c o r b a 都有跨平台的优势,但对三层架构管理 类软件而言,无论是软件开发商还是最终用户,几乎都还是使用w i n d o w s 平台的,所以跨平台问题对本课题而言并不突出。 3 很少有工具直接支持c o r b a 的开发,同时,c o r b a 没有给开发者提供 负载平衡等功能。 4 研究价值问题。如章节1 2 中所述,现有的中间件平台类成熟产品中,还 没有支持c o m c o m + 组件技术的类似产品。 浙江理工大学硕士学位论文 结合以上几点,本课题决定使用c o m c o m + 来实现一种能支持c o m 组件 技术的、能改进基于传统c o m + 的三层架构开发模式的中间件平台。 2 3 平台的总体设计 正如本文在章节1 1 中所叙述的那样,想要进一步提高三层架构管理类软件 的可重用性、可维护性和可集成性,关键在于以下两点: 1 设法降低三层架构中层与层之间的耦合度。 2 设法降低业务组件之间的耦合度。 低耦合、高内聚一直是软件工程中大力提倡的设计思想【3 1 l 3 2 【3 3 】,从平台的 构思、设计到实现,本课题始终将其作为根本指导思想。不难想象,若能降低客 户层与中间层之间的耦合度,势必能大大提高客户端程序的开发、维护效率;若 能降低中间层与数据层之间的耦合度,则便于数据库的移植、更换。 c o m 组件技术的关键在于接口,微软提出的二进制层次上的接口规范使得 c o m 组件能满足跨语言调用,是实现软件复用进程中的创举,但也不可否认, 在使用c o m 组件实现三层架构软件时,最麻烦的也是c o m 组件的接口。c o m 组件版本的管理说到底就是c o m 组件接口的版本管理,c o m 组件的接口改变 将可能是灾难的来临。倘若能统一所有c o m 业务组件的接口形式,将是十分有 意义的,能真正实现业务组件改变后,所有用到该组件的客户端程序都不用改变 这一美好愿望,同时也能提高业务组件的开发、维护效率。 组件交互是基于组件的分布式应用系统的核心问题,如何有效解决组件交互 问题是提高软件开发质量的关键。目前的中间件平台对组件交互的支持主要是基 于传统过程调用的r p c 机制和面向对象范型的同步式请求应答消息机制,而在 后一种机制中,组件交互协议的实现嵌入在组件的功能描述代码中。因此,组件 间的交互集成问题比较繁琐,设计出的系统往往结构复杂,缺乏灵活性【3 4 】。业 务组件彼此之间的相互调用是种紧耦合的、不利于维护的开发模式【3 5 】f 3 6 】,若能 设法降低业务组件之间的耦合度,灵活实现组件交互,将有利于提高业务组件的 可维护性、可重用性。文献 3 4 提出了一种独立于组件实现的、支持形式化分析 与动态测试的组件交互模型来解决此问题;文献 3 7 贝j j 提出了基于x m l 建立数 据共享统一模型,实现组件问的松耦合。 浙江理工大学硕士学位论文 另外,工作流技术【3 8 】【3 9 】和业务逻辑的可配置服务 4 1 1 1 4 2 1 都是提高管理类软 件灵活性的有效方法。文献 4 3 1 提出了一种新的工作流建模机制,增加了请求、 服务、协调、多实例化等建模元素,提高了工作流模型的描述能力、降低了系统 复杂性、提高了系统柔性和适应性;文献【4 4 提出了一种业务逻辑配置脚本,利 用基于单程回溯算法的解释器进行业务逻辑的解析、调度,提高了软件的灵活性。 由于从某种角度将,本课题试图研发的中间件平台是为了让c o m + 组件技术更灵 活、更简便地用于三层架构管理类软件的开发,故完全可以吸收、借鉴这两种技 术,与本中间件平台进行有效结合。 以上的种种思路及思路间的关联、整合对本中间件平台的设计提出了较高的 要求。经过研究、分析,现提出以下基于本中间件平台的三层架构设计方案: 图2 6 基于本中间件平台的三层架构设计方案 如图2 6 所示,本中间件平台的基础设施代表了中间层或应用服务器,为客 户端程序提供业务逻辑服务。其实质是对整个中间层进行了封装,客户层和数据 浙江理工大学硕士学位论文 层想和业务组件取得联系都必须经过本中间件平台。基于本中间件平台来开发三 层架构软件,能有效解决以上提到过的所有的传统三层架构开发模式的不足。灵 活性、可维护性、可重用性、可集成性都将比传统的三层架构开发模式高。 由于本中间件平台的预期目标是实现能满足企业级应用的、专业的 ( p r o f e s s i o n a l ) 、基础的( b a s e ) 支撑三层架构软件开发、运行的平台,故将本中 间件平台命名为p r o b a s e 平台。 2 4 平台的主要部件、功能 为了实现图2 6 中所示的三层架构开发模式的设计方案。p r o b a s e 平台需要 实现如下一些主要部件、功能: 1 实现一种基于记录集对象的比x m l 高效的数据交换格式。 2 实现一种基于工业流水线思想的自定义容器作为平台内部数据交换区。 3 实现一种基于自定义列集1 】【2 技术的统一的分布数据传输载体。 4 + 统一本平台的业务组件的接口形式,并实现业务组件的原子化以及业务 组件间的松耦合。 5 实现本平台供外界访问的统一而简约的接口,从而降低界面层与中间层 的耦合度。 6 实现数据库连接以及相关的事务功能由本平台统一控制,从而降低中间 层与数据层的耦合度。 7 提供一种基于x m l 的灵活的业务逻辑可配置式脚本服务。 8 实现一种类似工作流引擎的核心部件平台引擎。 2 5 技术路线 为了实现上述p r o b a s e 平台的主要部件和功能,本文将深入研究c o m ,c o m + 技术,以及a d o ,x m l ,u m l ,s t l ,a t l 等技术。同时,对p r o b a s e 平台的 整体设计方案和各项细节做深入分析和反复测试,修改。 本课题的技术路线如下图所示: 4 塑垩墨三奎堂堡主兰垡笙塞 图2 7 技术路线 浙江理工大学硕士学位论文 第三章一种基于c o m + 的中间件平台的详细设计 对p r o b a s e 平台进行详细设计的过程就是设计p r o b a s e 平台的主要部件、功 能及相互间协同工作的过程。 3 1 制定适用于p r o b a s e 平台的高效数据交换格式 中间件平台的一大特点就是支持统一的数据交换协议。孤立的模块是没有生 命力的,只有在不同的模块间建立起适当的通信,并形成有效协同时,才能构建 起“活生生”的系统。模块间通信的基本过程是数据交换,因此制定p r o b a s e 平 台通用数据交换格式是项重要的设计内容。 x m l 4 5 】 “( 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 来作为数据交换格式 2 3 1 3 7 】,目前流行的w e b s e r v i c e 技 术中的s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 通信机制也是基于x m l 的。本课 题在最初设计时,也考虑过使用x m l 技术,但经过尝试后发现若用x m l 作为 p r o b a s e 平台的参数集合的载体的实现形式,虽然实现简单,并能轻松实现分布 传输,但是传输的效率太低。原因是x m l 的树型结构需要解析的过程,当x m l 记载的参数较少时,效率问题倒并不是很突出,但是随着x m l 记载的参

温馨提示

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

评论

0/150

提交评论