(计算机应用技术专业论文)组件技术及在电话缴费系统的应用研究.pdf_第1页
(计算机应用技术专业论文)组件技术及在电话缴费系统的应用研究.pdf_第2页
(计算机应用技术专业论文)组件技术及在电话缴费系统的应用研究.pdf_第3页
(计算机应用技术专业论文)组件技术及在电话缴费系统的应用研究.pdf_第4页
(计算机应用技术专业论文)组件技术及在电话缴费系统的应用研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(计算机应用技术专业论文)组件技术及在电话缴费系统的应用研究.pdf.pdf 免费下载

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

文档简介

摘要 组l 牛埘象模型( c o m ) 是m i c r o s o f t 为实现应用软件的集成而制定 的规范,现已成为w i n d o w s 应用开发的事实上f | 勺标准。本文深入的研 究了c o m 技术并在实际的系统中船以应用。 本文首先分绍了瑷碜 究系统的强标_ 秘经务,著裁据系统郛秀发技 术的特点提出了广泛采用的c o m 技术和方法。其次,分析了组件及中 闽件授术在国内外的发展状况,以及组件和中间件技术的优、缺点, 并在系统中态分剩嚣l 英优点,提态开发效率。 然后,分析了三层体系模型及其优点,讨论了c o m 组件对象及其 接口的实现的理论蕊础,随后又讲述了c o m 组件的客户程序和服务器 程痔实现静瑷论依据。 最后,在三层体系模型的思想基础上,提出了具有四层体系结物 的实际应用系统,并说明了应用系统采用四层结构的优势。探讨了运 用c o m 组件设计方法中涉及的组件接口、组俘粒度及包容和聚合方法, 势论述了系绞本身攫供黪o l 。ed 8 a 技术,羹提出设计基已的数攥 访问组件进行统一数据访问。此外,还阐述了威用系统由于采用了新 技术所带来的优点。 本系统静程序编弱采莠lv c + + 6 遴嚣设诗实现,势袋爱先遴熬中润 件、组件技术的思想,使擞个系统的可伸缩性、可维护性得到很大的 提高。 关键逊:c 删、组彳学、接口、绞一数据访趣 c o m p o n e n tt e c h n i q u e a n d i t sa p p l i c a t i o ni nt e l e e o mc h a r g i n gs y s t e m a b s 筝r a c t t h isp a p e ra n a l y z e st h et e c h n o l o g i c a lo fc o ma n di t su s a g e i na n a p p l i c a t i 0 1 1 s y s t e m f i r s t l y ,t h er e q u i r e m e n t s a n dt a s k so ft h ea p p l i c a t i o n s o f t w a r ea r ei n t r o d u c e d ,a n dc o m p o n e n tt e c h n i q u e sa n dm e t h o d s a r em a d ef o r t ha c c o r d i n gt ot h ec h a r a c t e ro ft h ea p p i c a t i o n m o r e o v e r j t h ep a p e ra n a l y z e st h ed e v e l o p m e n to fc o m p o n e n t a n dm i d d l e w a r et e c h n i q u e sa th o m ea n da b r o a d 。t h es y s t e mm a k e s g o o du s e o fc o m sm e r it st og e te f f i c i e n td e v e l o p m e n t f u r t h e r m o r e ,t h i sp a p e re x p l a i n s t h et h r e e t i e rm o d e l s y s t e ma n d it sm e r i t s t h e l l ,t h et h e o r i e so fc o mo b j e c ta n d i n t e r f a c ea r ei l l u s t r a t e d a n dt h e nt h et h e o r i e sf o re l i e n t p r o g r a ma n ds e r v e rp r o g r a mo f a tl a s t f o u r ti e rm o d e lo f c o mc o m p o n e n ta r en a r r a t e d t h ea p p l i c a t i o ni sp u tf o r t ho n t h eb a s i so ft h r e e - t i e rm o d e ls y s t e m 。a n dt h ea d v a n t a g e so ft h e f o u r - t i e rm o d e la r ei i l u s t r a t e d c o m p o n e n t d iv i s i o na n dt h e a 1 s o ,t h ec o m p o n e n ti n t e r f a c e , m e t h o d so f c o n t a i n m e n ta n d a g g r e g a t i o n a r ed e f i n e d ,a n dt h e n ,o l ed b a d oa r ee x p l a i n e da n d ac o mc o m p o n e n to fa c c e s s i n gd a t a b a s ei sd e s i g n e dt oa c c e s s d a t a b a s eu n i f o r m l y b e s i d e s ,t h ea p p l i c a t i o n h a ss u c h a d v a n t a g e sj u s tb e c a u s eo fu s i n gn e wt e c h n i q u e sa n dm e t h o d s 。 k e y w o r d s :c o m ,c o m p o n e n t ,i n t e r f a c e ,u n i f o r m e dd a t a a c c e s s i 独创性声明 本人声明所呈交的论文是我个人在母师指导卜j 进行的研究工作 及取得的研究戚采。尽我掰知,除了文中特剐船v j , 标注和致谢的穗 方终,论文中不包含矮健人已经发表或撰写过的磺究贼果,也不包 含为获得石油大学或其它教育机构的学位或证书而使用过的材料。 与我一闻工作的同意对本研究所做的任何贡献均已在沦文中作了明 确懿谠骥荠表示了谢意。 签名:圣鍪塞弓每弓男。弱 关于论文使用授权的说明 本人完全了解石油大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件及电予版,允许论文被查阅和借阅; 学校霹淤公毒论文豹金部或舔努内容,莓娃采臻影鼙、缩印或其麓 复制手段保存论文。 ( 保密论文在解密后应遵守此规定) 学生签名: 导师签名: 夏避杰夏逖度 瓤砬址 鼬;每 母j 零 毒鹫 岁月 矗爨 口日 石油人学( 华乐) 硕士论文第t 章前言 第1 章前言 本磺毽为了解决电癌蠲户缴缡邀话费的勰蹶嚣开发。 要解决电信用户缴纳电话费的问题有三种方式:购买成晶软件: 购买中间件产品,然后自己进行简单的开发;自己开发应用系统。由 于现有载 争中没有熊够完全满足霪求瓣,霆焉不缱逶过这秘方式去簿 决。中间件产品由于价格昂贵,比较适合于大泌的企业、事业单位, 而对于县乡级的电信局显然难以负担这些费用。所以该项目只能采取 叁己开发。 该系统需要解决的问题主要有: ( 1 ) 完成电话缴赞业务 ( 2 ) 蠢谗毫话费髑窝缀费渣况 ( 3 ) 用充值卡通过电话为“缴赞卡”充值 ( 4 ) 幽于该系统采用s q ls e r v e r 数据库,丽电信局现用的个应 奔l 系统麓豹是s y b a s e 数据痒,希鏊嚣个蒙掭瘁中的数据豁够交互访 问,因而需要解决访问异构数据库的问题。 该鬈绕需要鳃决的阍题主要鸯: ( 1 ) 采用何; 申体系模鳌 ( 2 ) 采用何种技术 ( 3 ) 如何进行系统模型分毒厅 ( 4 ) 如何访闯辩构数据库等。 j 涵丈学f 华东) 硬十论文第2 章研究豹目麓和意义 第2 章研究的目的和意义 2 系统暌袋究的阍越漫主要囊标 本项目为了解决电信掰户缴纳电活费的问题丽开发。该系统需要实 现的主要功能体现在用户的功能、业务层功能和数据访问功能的实 魏。 ( 1 ) 用户的功能:用户可以通过两种方式完成电话的缴费:拨打 电信局提供的“缴费号码”或携带“缴赞卡”去电信局的缴费点缴费; 逶过在尉专壤土藏专:魄售爰户哥戮麓买电售鼹发行夔“缴费充毽专” 可以通过电话为“缴费卡”充值。 ( 2 ) 业势层主要功熊:通过语音卡实现的查询功能;查询本话机 所在张户本月帮嚣蔻个月酶宅话费瓣;查询话蘩缴费卡豹余额;用户 可以通过语音提示更改密码,和进行余额转移;该付费卡可以进行充 值。 ( 3 ) 鼗据访闯功靛:实嚣鼹s q ls e r v e r 数攥疼酶访离及丽时对另 个应用系统的s y b a s e 数据库进行访问。 该系统鬻要解决的阀题主要有:电信用户可以邋过拨打本系统专用 的服务电话,根据语鸯鼹示完成电话缴费韭务,皴横据语音掇示鸯诲 电话费用和缴费情况;电信用户可以购买电信局发行的“缴费究值卡” 并可通过魄话为“缴费卡”充篷;幽予系统采爆s o ls e r v e r 数据库, 另一个应用系统用的是s y b a s e 数据库,因而需甏解决访问舜构数据 库的问题。 越系统熬开发要求:出于本系绞辍豹是磐决亵邀慧嚣缴费患鞍远 的电信用户缴费难的问题,从而决窳了此系统要考虑的第一个因素是 2 石油大学( 华东獗士沦文 第2 章研究的强鹃帮意义 “方便性”。其次,电话交费系统关系到直接的愈钱利益,所以说安 全性也要得到较高的保障。所以第二个凶素就是“安全性”。 “安全洼”帮“方键性”著存要成为系统懿第一太特 歪。 安全性,让我们唐接想到的是骚求有真实身份确认的功能。但是 如果在创建用户卡,还有给用户卡充值的时候都要用户跑去媳信局, 藏有失方蠖缝。 方便性,让我们直接想到的是像i c 电话卡一样以固定额的形式发 放出售,但是这样子就的不到安全的确认。在瓣卡的时候得不到身份 确认。因此这样子会裔失安全性。 要解决这个问题,提出发行两张卡的办法,一张叫用户交赞卡, 另一张删充篷卡。 其中用户交费卡是腭户拨打缴费遥话进幸亍缴费时使用的卡。这是 经过身份详细登记眉获得的卡,在这里面可以阁充值卡对其进行充 值。 而充德卡用来给上面的用户付赞卡进行充值,此卡不需瑟任何身 份信息。该卡由电信部门发放,电信用户可以在代理销售点购买充值 卡,懿越一寒就可以蔑蹶至i “安全憋”囊“方蠖馁”。 此外,系统要求鼠有较好的扩展性,因为随着电信业务的迅速发 展,其备种业务功能将不时的发生些变动。为顺应这种要求,我们 考瘗运髑缀舞援零秘方法薅交费粒掰有赘事务霉成组 孛,在以螽兹扩 展中可以不用更新整个系统,而只鼹改中间层的某些组件的k 务功能 就可以完成系统的升级和维护了。 2 。2 系统采用戆技零鞫方法 随着计算机迅速发展,计算机技术也发生着革命性的变化。从硬 3 石油大学( 牮末) 硕士论文第2 章研究的目的帮意义 件技术看,c p u 速度越来越高,处理能力越来越强;从软件披术看, 应用程序的规模不断扩大,特别是i n t e r n e t 及w w w 的出现,使计算 褪豹应臻藏溺更为广澜,诲多应嗣程序嚣在网络环境匏要撬平台上运 行。这一切都对新一代的软件开发提出了新的需求。在这种分却异构 环境中,邋常存在多种硬件系统平台( 如p c ,工作站,小型机等) ,在 这些硬 串平台上又存在各萃辛各样麓系统较 孛( 藤不蘑兹搡彳乍系统、数 据库、语苦编译器等) ,以及多种风格各异的用户界面,这些硬件系 统平台还可能采用不同煦网络协议和阙络体系结构连接。如何恕这些 系统集成怒米并开发耨瓣应用是一个痒常现实丽困难静弼逶。 组件和中间件技术为解决这个难题提供了新的思路和方法。组件 的思想则瓣多的从建模本身发展到对款 牛生产的考虑,即组件可以在 应用领域的软件生产中作为“零件”纳入新的体系中被重用。而中间 件从本质上是对分布式_ 陂用的抽象,因而抛开了与应用相关的业务逻 辑的缯节,应翅系统在中越 孛提供的环境中可以燮始迪集中予业务逻 辑上,并以组件化的形式存在,最终自然而然地在异构环境中实现良 好的协同工作。 组件怒一耱蓑港匏较搏设计愚想,莱翊组 孛开发藏努稼攒辍木一 样来组装软件系统。级件是具有某种特定功能的软件模块,它几乎可 以完成任何任务。 霹予痣溪较磐夔焉户耪矛发入鬃米滋,逡 譬嚣发麴长楚在予复蠲 性、可靠憾、互用性和诗丁移植性。 在如何编制组件的技术规范方面出现了三大阵营:微软公司的组 俘对象模黧( c o m ) 、s u n 瓣e n t e r p r i s ej a v ab e a n 秘多厂巍贾雩象管理 集团( o m g ) 的公共对浆请求中介结构( c o r b a ) 。这三个标准的目标 4 石漕大学( 馨东) 硕士论文 繁2 章研究的强的帮意义 都是让开发人员生成带有标准接口的组件,这蟥组件可“装配”起来, 生成应用程序,而不昝这些组件位于何处、是幽准没计的。这些标准 帮极大攮 嚣避了缰俘对象及中阉辱孛鼓零静发震,在嚣 l f 貔裔鼗获终中, 微软公司的c o m 的应用更为广泛。 组件茅中间件技术不但可以提麓软件开发遮艘。而且可以湿著地 提高软锋鹰茧,更重要静是考虑黧在较释开发懿设诗过程中,将组斧 对象的功能与实现彻底的分离,从而有效的实现了组件的重用,更有 刹于优化系统,提高开发效率。 在研究静系统中也楚遵循了广泛应用酶c o m 矮范,荠采瘸v e 语 言进行代码设计。 2 。3 系统采用豹模型 传绫昭管理信息系统( m i s ) 开发采用客户露陵务器( c s ) 模式, 从体系结构上讲,一般采用两层结构,即应用( 客户层) 和数据服务 层。客户端( 瘟嗣瑟) 提供用户摄俸器西,接受数撂输入,彝数据鞭 务层发出数据请求并撩受返回的数据结果,根据渡务逻辑进行相关的 运算,向塔户显示相必信息;数据服务层接受客户端的数据请求,做 攘关数据处理,著萼冬数援集或数据娥遴返嚣客户蠛。 在c s 模式的两臌体系中,随潜客户机增多,访问量和数据传输 量都相应增加,为解决相应的瓶颈以及出于安全因素等方面的考虑, 鬻豢会缡譬一些照务逻辑及存蘧过稳菝在客户壤( 这黪疲瑟谖豹“器 客户”) 或数据库端( 形成了“胖服务器”) 。在两层结构中,如果把 业务逻辑放在客户端,则往往使客户端变得笨重;如果把业努逻辑放 在骚务器鲻,瑟往茬赡滋在数搽疼系统中实凌复杂静应露逶辑。 随着数据库应用规模的扩大,传统的c s 模式日益显示出它的弊 石油大学( 华东) 颈士论文第2 辈谤究的毯豹鞠意义 端来,这主要表现在以下几个方面: ( 1 ) 执行效率无法满足日益膨胀的客户需求。c s 结构中的客户 数量受裂一定豹限割,一般纛言,毒客户数量裹数卡令攀鸯l 至l 凡善令 时,系统的执行效率便开始显著下降,主要原因鼹大量的数据库并发 连接消耗了宝贵的数据库资源,而这种连接往往使用率非常低。 ( 2 ) 应雳软斧酶维护成本较大。在c s 靛体系结穆中,随着系统 规模的扩大,如果对软件系统进行升级,势必要对客户机或服务器整 个进行升级,这必然会增加软件成本。另夕 ,随饕应用需求的变化, 整个系统诡缺乏灵活往。 ( 3 ) 大规模的应用系统在负载平衡能力上显得力不从心。凰然目 前多数数攒痒系统都支持分布式应爆,但仍然需翳客户端的瘟爝寒实 现负载的均衡。当数摇霹的连接成为系统的负担时,负载平衡髓力就 显得非常必要了。 上述c s 模式结构熬缺点在三矮浏览器,鼹务器( b s ) 模式中都 会得到比较好的解决。此夕 ,b s 模式结构还具有以下几个优羚: ( 1 ) 裙户端属于瘦客户模式。从应用推广的角度看,瘦客户意味 羞无震在襄户臻送行复杂匏安装窝鬣藿,大大减轻了软l 孛楚弱赣翡受 担。 ( 2 ) b s 模式结构可以实现更好的安全性。对于大多数数据库应 爰寒瀵,系统豹安全瞧郡鼗藏在提纛黉豹位萋上。b s 蘩筏戆实现分 布式安全傺理机制,不仪使系统的数据得到更加安全的保护,也使系 统的应用软件得到保护,因为软件的关键部分都集中在中间层。 ( 3 ) b s 模式可滋部分懿滔除数精库藏颈。藏然数据瘁鹃并发度 不能无限鹰的提高,但b s 结构中可以通过增加中间层的并发度、分 5 石油大学( 华东) 硕士论文 第2 章研究的目的和意义 解数据库承担的计算任务、共享数据库连接等措施来降低数据库的负 荷,从而提高数据库系统的效率。 在研究的系统中,客户端是电话机或刷卡机,其功能简单,属于 典型的瘦客户型,并且,该系统的客户数量不确定,因此,采用b s 模式的三层体系结构能有效的解决系统中的这些问题。 在三层结构应用体系将业务逻辑放在应用服务层,应用服务层接 受客户机的业务请求,根据请求访问数据库,做相关处理,将处理结 果返回客户机。应用服务层从物理上和逻辑上都可以独立出来,客户 机( 层) 不直接访问数据库服务器,而是访问应用服务器。客户层发 出的不再是数据请求而是业务( 事务) 请求。 本系统的模型如图2 1 所示 表示层( 剧户界面) 商业规则层( 有状态对象) 数据服务层( 无状态对象) 数据库访问api ( a do ) sybasesqlserv er 图2 1 石油大学( 华东) 硕士论文 第3 章国内外研究现状 第3 章国内外研究现状 3 1 组件的发展现状 网络计算带领软件产业进入了一个新的时代。以电子商务为代表 的技术潮流正将大到企业计算、小到个人数字代理的各种应用,在世 界范围内联结起来,软件制造业正面临着一些新的课题,如复杂的分 布环境、灵活的应用模式、广泛的包容性等,传统的软件设计思想已 远远不够。 在这一背景下,组件技术应运而生,并逐渐炙手可热。不同于o o 技术强调对个体的抽象,组件则更推广了对象封装的内涵,侧重于复 杂系统中组成部分的协调关系,强调实体在环境中的存在形式,形成 一个专门的技术领域。 组件技术的研究开始于八十年代末,经过十几年的发展,逐渐形 成了较为完整的组件对象技术体系。 组件对象技术是c s 计算模式和面向对象技术的结合与发展。目 前,组件技术规范分为三大类:一是由微软推出的c o m d c o m ,二是 s u n 公司的j a v a b e a n ,三是对象管理集团( o m g ) 的c o r b a 。 ( 1 ) c o m d c o m 微软推出的分布式模型c o m d c o m 主要是为不同网络环境中的组 件对象提供交互的标准。由于w i n d o w s 系统中或多或少的使用了内建 的c o m 支持,这使得w i n d o w s 环境下c o m d c o m 成为一个分布式组件 标准的强有力的竞争者。 ( 2 ) j a v a b e a n 虽然s u n 公司的j a v a 是相对较新的事物,但是它所支持的平台无 石油大学f 华东) 硕七论文 第3 章国内外研究现状 关性、安全性和面向对象特性却获得了广泛的认同。遵循这个标准, 人们可以很容易的创建j a v a 的分布式应用程序。 ( 3 ) c o r b a c o r b a 是最早出现的分布式模型,其主要目标是解决面向对象的 异构应用之间的互操作问题,并提供分布式模型所需的其它服务。o r b ( 对象请求代理) 是c o r b a 平台的核心,它用于屏蔽与底层平台有关 的细节,c o r b a 对象通过o r b 进行交互。 c o m 在操作系统级兼容,即在w i n d o w s 平台下运行,支持w i n d o w s 平台下的各类开发工具,如v i s u a lc - + 、v i s u a b a s i c 、v b s c r i p 5 、 v i s u a f o x p r o 和p o w e r b u i l d e r 等等:j a v a b e a n 在所有支持j a v a 的平台上皆可运行。c o r b a 是与j a v a 结合来丌发应用程序。 在一个组件对象系统中,组件以对象的形式存在,它们互相通讯、 协作,共同完成某些工作。组件对象系统的一个重要组成部分是对象 中间件,它为对象之间或与使用者之间提提供透明的通信通道。 组件对象系统中对对象的访问以c s 模式进行,对象中间件负责 本地或网络上对象服务器的定位,该过程对用户是透明的。客户请求 通过对象中间件转发至对象,对象返回的结果由对象中间件返回给客 户。在整个过程中,客户只需了解对象的访问接口,无需关心实现细 节和分布位置。对象只要实现其向外公开的访问接口,而不需要知道 访问来自何方。组件对象系统提供了一个统一的编程模型。 3 2 中间件技术的现状 3 2 1 中间件技术的发展 分布式计算技术的发展经历了两条不同的技术线路。在2 0 世纪 8 0 年代,人们试图在计算机网络上部署全新的分布式操作系统,尽管 石酒大学f 华东) 硕士论文 第3 章国内外研究褒状 产生了许多技术成果和实验系统,但却没有被用户和市场接受。面对 瑗实戆况,在2 0 繁纪9 e 年代,人窦嚣始搽讨赣懿簿决方案,磅究在 网络讨算平台上部署分布式计髀环境( 也称为中间件) ,抛供开发工 具和公共服务,支持分布式应用。业界普遍遵循这一技术线路,产生 了一系确行之有效麴技术帮广为箍户接受静中闯俘产螽。 从技术上讲,中间件是介于应用系统和系统软件之间的一类软件, 它屏蔽了底层环境的复杂性,提供给应用开发者统一的、功能强大的 a p i s ,使应露开发静只关心鳖务逻辑翡开茇,茯速静开发穗可靠、高 效的给业级分布式应用。 随着中间件的使用日益普及,中间件已与操作系统、数据库并列 为三大基础软俘。 对象中间件技术目前发展迅速,各大硬、软件厂商都在积极参与 有关标准的制定和产品开发工佟。谣向对象的中闻件提供一个标准的 构件框架,能使不阋厂家的较件交互访闯,为软件用户及开发者提供 一种即插即用的互操作性。像m m 、h p 、d e c 、a t & & t 、i c l 、m i c r o s o f t 、 b o r l a n d 等都制定了相应懿战咯。诲多对象申闻传戆专门厂恋也穗继 诞生。目前与微软联盟的i o n a 在垒球面向对蒙中间件市场份额为2 2 3 ,脶第一位。此外,还有b e a 的产品m 3 和b o f l a n d 的v i s i b r o k e r 。 国内厂蔫毒东方逶秘技戆t o n g b r o k e r 、中秘陵较传瑟瓣i s b r o k e r 分 布对象中间件等。未来的对象中间件市场会出现群雄逐麓的局面。 3 2 2 中间件与维件技术 缀董孛是瑟淘露象瑟悲戆沿袭联扩震,冀谈谈事魏静爱溲钛对象个 体本身上升到个体在群体中的作用。组件沿袭了对象的封装特性,其 内部可以封装一个戏多个类、原烈对象甚至过程,结构是灵活的。组 l o 石溜大学( 华东) 硕士论文第3 章鞫肉9 磺究现状 件突出了自包容和被包容的特性,这就是在软件生产线一j 二作为零件的 必簧将 歪。缝俘鼓零虽l 涉爱鳃传强嚣么、缍侉交互装援粼、缝等存在 的环境等技术。 中间件作为存在于系统软件与应用之问的特殊层次,抽象了典型 懿寂蠲模式,放 藉缓应弱簌 孛露l 遗者可以嚣多逮将愚路羧在泣务逻辑 中。 组件的存在某种程度上极大地依赖了构絮技术,只有在适当的构 絮中,软 孛才有可髓被弦蒙和隔蔫,最终袋为组 孛。擒絮不是搡 睾系 统、数据库或网络协议,也不完全是应用,而是在某种特定意义_ 卜的 组件运行容器,屡次上界于应用和基础设施之闻。 中闻件与榴絮实际是飙两种不同静角度瓣待软 宰静中闯层次,可 以这样说:中间件就是构架,成组件模型的鼹体实现。 中阀传本身作淹软件产熬,正处于方兴未艾之际,因此本身也可 l 奠储箍组 譬愚憩。中闻件蘧对蒋纷繁复杂的客户应用和软、硬件平台, 因此,中间件必须设计成可伸缩的体系。而组件的灵活性、与实现无 关燃秘标准接墨姆特性又j 鬻逶舍中隧 孛,露越,组件化瓣较终设计 思想在中间件笈震中起到了鬟臻的作用。 实际上,基于中间件开发的应用大都魁组件化的,应用程序在中 阉l 譬提供的环境中霹娃雯努囊羹条孛于业务逻辑上,并戮缌 睾诧戆影式 存在,最终在异构环境中实现鼹好的协同工作。 3 3 组件、中间件技术的特点 3 。3 。 缝舞秘黪纛 随着软件产业的发展,软件规模曰益增大,技术分支越来越多, 技术细节也是千变万化,这些变化的因素对软件业的蓬勃发展产生了 石涵大学f 华东) 硕士论文第3 章菌溺井研究褒装 一定的负面效应。在软件业中,如何解决这必问题呢,组件技术正是 解决越逮题的方法之一。 从工程应用的角度看,组件在应用开发方面具有以下特点: ( 1 ) 组件具脊语言无关性。开发人员可以根据需要和爱好选择特 定戆谗言王其实瑷缀传薛嚣发。露惩静开发工兵是v b ,v c ,翻d e l p h i 等,将组件编译成d l l 或e x e 的形式运用。 ( 2 ) 通过接口商效的保证了组件的复用性。通过严格隔离客户和 缝箨,餐褥独立予客户簿缝释嚣耘、秀级成为可麓。再逶遥组俘静方 式米集成细粒度的接口。组件嶷现了接口,简接口则是对功能的一+ 套 抽象撼述,这种封装性把接口与其实现分离开了,并以接日怍为客户 与组件( 或组彳孛之闯) 对话豹椎一合法方式,双面从技术上提供了支 持。一方面,进行组件的更新谶升级后,只露保持其中老接口不变, 无需黧新编译和链接即可以继续使殿原客户程序,丽新定剁盼客户程 序可使用更薪后组件中的薪接翻( 从而获缮耨特性或功能) ;另一方 面,如果更新或升级了客户程序,而组件并没有更新,这时只要新的 客户程彦仍旧支持老的接墨,捌依然可l 冀运行,只是无法安瑷一些毅 的特性或功能。这样就易于实现组件和客户程序的更新、升级和替换。 当然,这样的做法也就相应提高了对接口设计的要求,从兼容性的角 度采说,一量一个菠目发毒之后,藏不l 变亿。 ( 3 ) 组件的逡行效率高。豳为组件是基于二进制代码的,它的效 率比撼于源代码的漂快的多,所以核心的业务逻辑计算任务必须由组 孛采完成。瑟显绥传在网终生豹位嚣可透唆分酝。凌赞之溺是稳互分 离、对立的,组件和使用它的应用程序既能在同一进程中落行,也可 在不同进程或不同的机器上运行。 石油大学( 华东) 硕士论文 第3 章潮内辨研究现状 3 3 2 中间件技术的特点 孛淹舞技术馋为较箨雩亍曼辗起豹一个臻溪懿分支,綦在全蘧蔻謦 内迅猛发展,根据国际数据公司( i d c ) 组织的预测,到2 0 0 2 年,全 球的中间件市场将达到7 0 亿美元( 不含应用服务器) 。中间件技术的 发疑,毽将挺分布式瘟露捺篱一个藏静凌癸。中海传其有以下饶点: ( 1 ) 提高开发效率:经研究发现业务逻辑程序、应用逻辑程序仅 占想程序量的3 0 ,而基础程序却占了7 0 ! 若是以新一代的中间件 系翔产燕来组合疲瘸,嗣对配合以可复爱静蔼务对象构件,翼g 应用开 发赞用可节省至8 0 。 ( 2 ) 缩短开发周帮:若使用标准商业中间 牛则可缨短开发周期 5 0 一7 5 。 ( 3 ) 减少项目开发风险:研究表明,没有使用标准商业中间件的 关键应鼹系统开发项晷的失败攀寄于9 0 。丽虽,企业爨己开发悫饕 的纂础( 中间件) 软件是得不偿失的,项目憩的开支至少簧翻一倍,甚 至会十几倍。 c r e a t e i n s t a n c e ( n u l l ,l i d i u n k n o w n ,( v o i d * ) p u n k n o w n ) : p c f 一 r e l e a s e0 : p u n k n o w n 一 r e l e a s e0 : 4 3 1 3 访问对象 对象创建后,对对象的访阀完全由客户米决定。创建对象时客户 石油大学( 华东) 硕士论文第4 肇基于组俘技术的系统研究 获得了一个接口指针,如果客户想要访问该接口之外的其他功能,则 嚣要调用该接霹豹粕e r y i n t e r f a c e 函数获缮莛它接霜懿撞镑。 对象所实现的备种功能都通过不同的接口来提供。客户访问对象 的接口,并不是在对象创建后利用q u e r y i n t e r f a c e 函数调用获得对 象魇支涛熬繇鸯藏强,薅是在涛润菜静功麓之藤谣瑶鸯u e r y i n t e r f a e e 函数进行接口尝询。实际上,这意味着客户必须考虑到调用 q u e r y i n t e r f a c e 函数失败的情况。 铡麴,一个客户程序餐建了多个对象,鬻在需要保存簿个对象韵 状态。假设客户使阁结构化存储保存文件,那么它首先要为每一个对 象分配一个独立的存储对象( s t o r a g e ) 。每个对象能够存储蠡已的结 构纯傣惠,并通过接口 p e r s i s t s t o r 8 9 e 表嘲它静功能。然而,有豹 对象不知道如何存储对象,只知道如何存储流对象,它就实现接口 i p e r s i s t s t r e a m 。农的对象只知道如何向文件写信爨,它就实现接日 i p e r s i s t f i l e 。 猩这种情况下,客户应根据不同的情况采取不同的方式:如果对 象支持i p e r s i s t s t o r a g e ,那么绘它一个存德怼象i s t o r a g e ,并调蠲 i p e r 8 i s t s t o r a g e :s a v e 存储它的数据。如果对象不提供这样的支持, 检查它是否支持i p e r s i s t s t r e a m ,如果支持,就创建一个流对象,并 调用l p e r s i s t s 订e 曩穰:;s a v e 存德它夔数据,建聚不支耱,避一步检 查i p e r s i s t f i l e 。 4 3 1 4 释放对象 c o m 客户对鼹象熬最蜃搽豫怒释教该对蘩,这逶遘谖麓掰有攘溜 的r e l e a s e 函数来实现。 4 3 2c o i l 服务器的实现 石酒大学( 华东) 硕士论文第4 章麓了l 组搏技术抟系统研究 c o m 服务器是实观个或多个对象类的代粥段,以d l l 溅e x e 的 形式存在。c o 服务器以特定的方式构造对象类的实现,以便客户能 由c l s i d 来翻建帮谈掰该对象。为尚客户公开矫实瑗秘对象菸,所有 的c o m 服务器都要究成以下操作: 为所实现的每个对象类分配一个类标识符( c l s i d ) ,并向系统 注翡该c l s i d 至强务器模块之闽的映射。 为所实现的每一个对象类实现一个类工厂。 公开类工厂以便c o m 库能使耀它。 擒供服务器的卸载功能。 实际上,服务器总是从一段进程内代码那照得到函数调用,因为 客户代理传来豹调用瞽先由鼹务器进程中豹存校对象接收,农缀对象 再将篡转换为对实际对象的直接调用。从服务器方面来看,客户是直 接调用它的。 4 3 。2 1 对象类鲍标识与注臻 c o m 用全局唯一标识符( g u i d ) 来标识所有存在的对象类。g u i d 可由 c o m 库瀚数c o c r e a t e g u i d 生成。对象的实现者必须给所实现的每个对 象分瑟一令g u i d 终瓷类耘蕃 耱( c l s i d ) 。蕊黪嚣要永久存 ;蓦c l s i d 到服务器模块的映射,以实现定能服务。 进程内服务器通过特定的d l l 入口项支持囱注册。注册和注销对 象类戆d l l 入匿项分澍为d i r e g i s t e r s e r v e r 释 d 1 1 u n r o g i s t e r s e r v e r 。e x e 使用命令参数支持囱注册,以r e g s e r v e r 为命令行参数加载e x e ,则e x e 只避行必要的浪册工作,然后就退出; u 辩r e g s e r v e r 螽令行参数标识避行注销。 4 3 2 2 实现类工厂 石油大学f 华东) 硕士论文第4 章基丁组件技术的系统研究 对客户所能使用的每一个c l s i d 都必须有一个类工厂来创建该对象的 实例,服务器负责实现类工厂并向c o m 库公开。下面定义了o b j e c t 对象的类工厂: c l a s sc o b j e c t :p u b li ci c l a s s f a c t o r y p r o t e c t e d : u l o n gm _ c r e f : p u b l i c : 这里是类工厂的构造函数和析构函数 这里是接口i u n k n o w n 的成员函数 h r e s u l tc r e a t e i n s t a n c e ( i u n k n o w n 女,r e f i i di i d ,v o i d p p v ) : h r e s u l tl o c k s e r v e r ( b o o l ) : ) : i c l a s s f a c t o r y :c r e a t e i n s t a n c e 用来创建c o b j e c t 对象的实例,并 返回该对象的一个接口指针。 h r e s u l t c o b j e c t :c r e a t e i n s t a n c e ( i u n k n o w n * p u n k o u t e r , r e f i i dii d ,v o i d 术+ p p v ) c o b j e c t 4 p o b j : h r e s u l th r : p o b j = n e wc o b j e c t0 : h r = p o b j 一 q u e r y i n t e r f a c e ( ii d ,p p v ) : i f ( f a i l e d ( h r ) ) d e l e t ep o b j : 2 4 石油大学( 华东) 硕士论文第4 章基于组件技术的系统研究 r e t u f nh r : 4 3 2 3 公开类工厂 服务器必须公开类工厂以便c o m 库从c o g e l c l a s s o b j e c t 函数中使 用它。 从d l l 服务器中公开类工厂 为公开类工厂,进程内服务器只需向外输出函数 d 1 1 g e t c l a s s o b j e c t ,当以c l s c t x i n p r o c s e r v e r 为参数调用c o m 库 函数c o g e t c l a s s o b j e c t 时,c o m 库在d l l 的输出函数表中查找 d l l g e t c l a s s o b j e c t 。 从e x e 服务器公开类工厂 从e x e 服务器公开类工,一与d l l 服务器不同,因为e x e 服务器运 行在不同的进程空间,c o m 库不能调用输出函数从而获得类工厂。c o j v l 在函数d l l g e t c l a s s o b j e c t 中启动e x e 服务器,服务器在启动过程中 必须使用函数c o r e g i s t e r c l a s s o b j e c t 注册所有的类工厂。 e x e 服务器能区别是独立运行还是由c o m 启动。c o m 启动e x e 服务 器时使用“e m b e d d i n g ”命令行参数,该参数告诉服务器必须使用函 数c o r e g is t e r c l a s s o b j e c t 注册它的类工厂。 函数c o r e g i s t e r c l a s s o b j e c t ( c l s i d ,g r f c o n t e x t ,g r f f l a g s , p d w r e g i s t e r ) 注册由c l s i d 所确定的类工厂。当服务器程序启动时, 都要创建所支持的类工厂并传给此函数。 4 3 2 4 服务器的卸载 当没有客户访问服务器的对象时,服务器应该从内存卸载。d l l 服务器和e x e 服务器的卸载机制不同,d l l 必须由c o m 明确的卸载, 撕油人学( 华东) 硕士论文嚣4 章基于组件技术的系统研究 祗e x e 可以自行退出。e x e 程序退出时,必须注销启动时所注册的炎 工厂( 调用c o r e v o k o c l a s s o b j e c t ) ,并负责调用c o u n i n i t i mi z e 。 百油大学( 华东硕士论文第5 章电话缴费系统驰没计实现 第5 章电话缴赞系统的设计实现 5 。1 系统结梅设计 由于本系统是为解决电信用户缴纳电话费的问题而开发,因而用 户终端只能是电话或简单的刷卡机。这属于典型的瘦客户,如果采用 嚣屡钵系缍麴,裂鼗务逻辑只能放在强务器拣,这不嫠会降酝羧务器 的性能,而且往往难以在数据库系统中实现复杂的应用逻辑,并且还 会降低数据库中数据的安全性。 鼗矫,奉系统要求其有较静熬扩震茬,嚣为疆着龟簧鼗努懿逮速 发展,麒各种业务功能将不时的发生一些变动,采用两层体系结构模 型时应用软件的维护成本较大。并且随着客户的日益增多,系统豹执 行效率将无法滚惩客户蕊需求。 同两层结构相比,三层结构不但继承了它的优点,而且逐具有如 下特点: ( 1 效率商。客户端通遥中阀瑟帮数据库述接,蘸降低了客户端 的负担也降低了数据库服务器的涟接代价。 ( 2 ) 易于维护。她务的更改只需修改业务逻辑层。 ( 3 ) 安全性增强。组件封装娩务和数据库的连接,安全健提高了。 ( 4 ) 可伸缩性、移植性好。 因此,本系统按照三层体系缀擒愚想进行设计,客户鲻为邀落枫 或具有简单界面的刷卡机;系统掰爱实现的所肖功能都提取出来作为 一层,即业务逻辑层,这是应用磔统的关键,它负责处理用户的所有 请求,并将处理结暴返罄绘表示鼹;数据层纹掇貘数据库支拎。 由于本系统所访问的数据库是s o ls e r v e r 数据库,并且骚求能够 2 7 石油人学( 华东) 硕十论文 第5 章电话缴费系统的设计实现 访问另一系统所访问的s y b a s e 数据库,因此考虑将数据访问功能从 业务逻辑层中提取出来单独作为一层。这样就形成了四层体系结构的 应用系统。系统的主要功能都设计成组件形式,整个系统由组件装配 而成。系统与组件之间通过接口进行通讯。系统结构如图5 1 所示: 图5 1 本系统在三层体系结构基础上提出四层体系结构将有如下优点: ( 1 ) 可伸缩性,可配置性好。该体系结构的可伸缩性、可配置性 来源于c o m d c o m 的可伸缩性,当应用程序的规模增大时,通过系统 结构的配置而不必修改代码就可以适应新的应用需求。这是传统应用 结构无法达到的。 南弦大学 华东) 颈士论文 第5 章选话缴费系统翁设诗实现 ( 2 ) 灵活性强。淀活性表现在多个方面:业务逻辑的改变可以不 影响客户应用和数攒层;并且局部的业务逻辑变化可以不影响其他的 盈务鳃律;霹疆对攀令组 孛进行调试帮灞试,可以实王噩多耱形式黪客 户程序,如本系统中采用的电话机和刷卡机形式。 ( 3 ) 可靠性高。因为在本结构中把一个复杂的应用分解成一些小 靛应麓或者依赖予系统提供静支撩,所戬应霜系统的可靠性耱予褥鹫 保证。 ( 4 ) 充分体现了软 孛集成的熙想。在本系绫中,不仅要开发一些 组件,瑟且可以使用些己有的缀件产品。在本系统中的数据访问层 组件就将集成a d o 和专用于访问s y b a s e 数据库的a s e 接口,从而缩 短瘦瘸系统的开发髑麓,避免重复劳动,提高缀俘瓣重_ 臻率。 5 。2 缀件对象缩构设计 随潜计算机的迅速发展,程序设计方法也缀历了多次变蔚,从最 初戆功戆分解法,裂维 驽纯设计方法,再嚣至今广泛整臻懿嚣淘蹲象 设计方法。人们对瑕序设计方法的选择取决于稔序设计方法对应用软 件的适应性。早期的应用软件以应用为主,所以功能分解法可以满足 应援懿辫要;夔着疲瘸较终瓣复杂糕凄熬不鞭爨燕,结梅纯设诗方法 在很长时间内是软件设计人员的藏要工具;面向对象设计方法是一个 概念上的飞跃,它便程序设计更加符合应用的本质结构。 缀件纯翟彦莰谤方法继承著笈瀑了瑟良露象浚诗方法。它褥嚣离 对象技术应用于系统设计,对面向对象设计的寰现过程作了谶一步的 抽象。组件化程序设计方法强调真正的软件重用和高度的互操作性。 它蘸耋予缝辞袭玺产帮装配,这瑟方藿一超稿成了组件程序设计静按 一i 。 石油大学p # 东) 硕士论文第5 章电话缴费系统的设计实现 不同于功能分解法及面向对象分析方法,组件设计方法是利用缎 件对象模型将一个复杂的问题进行分解,最终形成一些函数的集合。 然后投攥这些龋数组合成不阏翡对象。 利用组件设计分析方法鲍模型如图5 2 所示: 型5 ,2 根据电话缴赞对象模型分析出所涉及的对象包括客户和电信部门, 客户需要完成的工作育;通过输入付费卡号及密码完成缴纳电话费、 套谗电落费、签谗余鬏、骖羧密码、付费卡充值等;毫傣郝f u 】可戳完 成的功能有:添加客户、身份检验、欠费掇示、森询费用、出售充值 卡等。并且他们所要完成的功能也w 以有擞复的。这样分析的最终目 静建褥劐系统包括的所有函数的集合。 在分褫出这样一个蛹数黪集合蜃,如犍确定篷具体斡缓馋对象暖。 石油大学( 华东) 硕士论文第5 章电话缴费系统的设计实现 我们可以把添加客户功能、修改客户状态这样的和客户有密切关系的 功能组合成客户组件;而把检验密码、添加付费卡、缴费功能、查询 帐户余额、给付费卡充值和付费卡有密切关系的功能组合成付费卡组 件。 利用这些函数集合根据不同的功能组合成不同的组件。如图5 3 所示 图5 3 5 2 1 组件与接口分析 在设计组件时需要确定组件的属性及接口。属性及接口代表了组 件是什

温馨提示

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

评论

0/150

提交评论