(检测技术与自动化装置专业论文)基于嵌入式corba软总线的atm服务系统的研究与设计.pdf_第1页
(检测技术与自动化装置专业论文)基于嵌入式corba软总线的atm服务系统的研究与设计.pdf_第2页
(检测技术与自动化装置专业论文)基于嵌入式corba软总线的atm服务系统的研究与设计.pdf_第3页
(检测技术与自动化装置专业论文)基于嵌入式corba软总线的atm服务系统的研究与设计.pdf_第4页
(检测技术与自动化装置专业论文)基于嵌入式corba软总线的atm服务系统的研究与设计.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(检测技术与自动化装置专业论文)基于嵌入式corba软总线的atm服务系统的研究与设计.pdf.pdf 免费下载

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

文档简介

ar e s e a r c ha n d d e s i g no f a t m s e r v i c es y s t e mb a s e do n e m b e d d e dc o r b as o f t w a r eb u s m a j o r :d e t e c t i o nt e c h n o l o g ya n da u t o m a t i o n d i r e c t i o no fs t u d y :e m b e d d e ds y s t e m s g r a d u a t es t u d e n t :l e im i n s u p e r v i s o r :c h e n g x i a o h u i c o l l e g e 研究生学位论文独创性声明和版权使用授权书 独创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含他人已经发 表或撰写过的研究成果,也不包含为获得其它教育机构的学位或证书而使用过的材 料。对论文的完成提供过帮助的有关人员已在论文中作了明确的说明并表示谢意。 学位论文作者( 签字) :受缝 签字日期: l o 切、0 学位论文版权使用授权书 本学位论文作者完全了解( 学校) 有关保留、使用学位论文的规定,有权保留并向国 家有关部门或机构送交论文的印刷本和电子版本,允许论文被查阅和借阅。本人授权( 学 校) 可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或扫描等复制手段保存、汇编学位论文。同时授权中国科学技术信息研究所将本学位论 文收录到中国学位论文全文数据库,并通过网络向社会公众提供信息服务。( 保密的 学位论文在解密后适用本授权书) 学位论文作者签名: 嘭红 签字日期:汐,年月日 导师签字私心、塘 签字日期山,7 1 年否月7 日 桂林理工大学硕士学位论文 摘要 当今社会,随着人们生活水平的提高,对生活便捷程度的要求也越来越高,a t m ( a u t o m a t i ct e l l e rm a c h i n e 自动柜员机) 的诞生,为各个银行的客户提供了更加便利的 服务。由于a t m 的分布非常广泛,需要通过一定的方式将它们联系起来,而c o r b a 技 术可以将多种机器,如台式机、手持终端、迷你机或嵌入式系统集成起来,非常适合在 分布式异构环境下应用。因此,研究基于嵌入式c o r b a 软总线的a t m 服务系统具有较 大的实际意义。 本文主要研究内容是嵌入式实时c o r b a 软总线的模型,并用该模型设计一个高效 的a t m 服务系统和相关的应用程序。 具体的主要研究内容和创新点如下: ( 1 ) 结合c o r b a 软总线的原理和嵌入式系统的特点,通过具体分析嵌入式环境下 的三种c o r b a 规范,设计了一个嵌入式实时c o r b a 的模型,并分析了此模型在具体 设计时提高实时性能的方法。 ( 2 ) 利用所设计的嵌入式实时c o r b a 模型构建了一个a t m 服务系统,并将此系 统分为前台客户端和后台服务端分别设计。其中,客户端以s a m s u n g 公司的 a r m 9 s 3 c 2 4 4 0 嵌入式3 2 位处理器为控制核心,以l i n u x 操作系统上的q t e m b e d d e d 作为图形界面开发环境,通过交叉编译的方法实现服务器的各种应用程序。同时,为了 减轻处理器的负担,简化硬件电路的结构,提高系统的控制精度,采用了基于f p g a 的 直流电机控制电路,实现了对电机的精密控制,提高了a t m 客户端的工作性能。服务端 的p c 机通过安装c + + b u i l d e r ( 集成了v i s i b r o k e ro r b ) 分布式软件为开发a t m 服务系 统的各种应用程序提供良好的平台。 ( 3 ) 详细描述了a t m 服务系统的应用程序在c + + b u i l d e r 分布式软件上实现的过程。 首先,分析系统的能力和需求,并定义和编译其需要提供的交易接口和银行接口文件。 然后,使用c o r b a 对象实现向导来实现各个服务器的对象。最后,开启局域网内的智 能代理,模拟a t m 服务系统的服务流程。在此系统中,c o r b a 软总线为各个服务器应 用程序提供统一的接口,可以方便的以构件的形式插入新的a t m 服务器和银行服务器, 大大地增强了系统的灵活性和可扩展能力。 关键字:c o r b a ;嵌入式系统;实时控制;软总线;a t m 服务系统 桂林理工大学硕士学位论文 a bs t r a c t n o w a d a y s ,w i t ht h ei m p r o v e m e n to fp e o p l e sl i v i n gs t a n d a r d ,i t i sm o r ea n dm o r e c o n v e n i e n tt ol i v e t h eb i r t ho fa u t o m a c t i ct e l l e rm a c h i n e ( a t m ) p r o v i d e dm o r ec o n v e n i e n t s e r v i c e st oc l i e n t so fe a c hb a n k s b e c a u s et h ed i s t r i b u t i o no fa t mi st o ow i d e ,i tn e e d saw a y t on o n n e c tt h e m ,av a r i e t yo fm a c h i n e s ,s u c ha sd e s k t o pc o m p u t e r s ,h a n d e dd e v i c e s , m i n i m a c h i n e s ,e m b e d d e ds y s t e m sa n ds oo nc o u l db ei n t e g r a t e du pi nc o r b at e c h n o l o g y e a s i l y , i ti ss u i t a b l ef o rd i s t r i b u t i o nh e t e r o g e n e o u se n v i r o n m e n t t h e r e f o r e ,t h er e s e a r c ho f a = r ms e r v i c es y s t e mb a s e do ne m b e d d e dc o r b as o f t w a r eb u sh a sg r e a tp r a c t i c a ls i g n i f i c a n c e t h er e s e a r c ho ft h i sp a p e ri st od e s i g na ne m b e d d e dr e a l t i m ec o r b as o f t w a r eb u s m o d e l i tu s e dt h i sm o d e lt ob u i l da ne f f i c i e n c y 删s e r v i c es y s t e ma n dr e l a t i v ea p p l i c a t i o n s p r o g r a n l t h e ns p e c i f i cp r o c e s so ft h i sp a p e ra sf o l l o w s : ( 1 ) i tc o m b i n e dw i t hc o r b a s o f t w a r eb u sp r i n c i p l ea n dt h ec h a r a c t e r i s t i c so fe m b e d d e d s y s t e m sa n da n a l y z e dt h et h r e ec o r b as p e c i f i c a t i o n si ne m b e d d e de n v i r o n m e n ti nd e t a i l i t h a sd e s i g n e da ne m b e d d e dr e a l t i m ec o r b am o d e la n da n a l y z e dt h em e t h o dt oi m p r o v et h e r e a l t i m ep e r f o r m a n c ei nt h i sm o d e l ( 2 ) i tu s e dt h ee m b e d d e dr e a l t i m ec o r b a m o d e lt ob u i l da na t ms e r v i c es y s t e m ,a n d d i v i d e di ti n t oc l i e n t - s i d ea n ds e r v i c e - s i d et od e s i g n i nt h ec l i e n t - s i d e ,t h ec o n t r o lc e n t e ri s a r m 9 s 3 c 2 4 4 0e m b e d d e d3 2 - b i tp r o c e s s o ri ns a m s u n g , t h eg r a p h i c a lu s e ri n t e r f a c e d e v e l o p m e n te n v i r o n m e n ti sq t e m b e d d e do nl d n o p e r a t i n gs y s t e m i ta c h i e v e dav a r i e t y o fs e r v i c ea p p l i c a t i o n st h r o u g ht h ec o r s s c o m p i l e ra p p r o a c h m e a n w h i l e ,i no r d e rt or e d u c et h e b u r d e no ft h ep r o c e s s o r , s i m p l i f yt h eh a r d w a r ec i r c u i ts t r u c t u r e ,i m p r o v et h ec o n t r o lp r e c i s i o n , i tu s e dd cm o t o rc o n t r o lc i r c u i tb a s e do nf p g at oc o n t r o lm o t o rs t r i c t l ya n di m p r o v ea t m p e r f o r m a n c e i ns e r v i c e - s i d e ,b yi n s t a l l i n gt h ed i s t r i b u t e d s o f t w a r ec 抖b u i l d e r ( i n t e g r a t e d v i s i b r o k e ro r b ) i np c ,i tp r o v i d e sag o o dp l a t f o r mf o ra t m s e r v i c es y s t e mt od e v e l o pa l l k i n d so fa p p l i c a t i o n s ( 3 ) i td e s c r i p tt h ea r ms e r v i c es y s t e ma p p l i c a t i o ni m p l e m e n t a t i o np r o c e s si nd e t a i lo n d i s t r i b u t e ds o f t w a r ec + + b u i l d e r f i r s t i ta n a l y z e dt h ec a p a b i l i t i e sa n dn e e d so ft h es y s t e m , d e f i n e da n dc o m p i l e dt h eb a n ki n t e r f a c ea n dt r a n s a c t i o ni n t e r f a c ef i l e s t h e n ,u s et h ec o r b a o b j e c ti m p l e m e n t sw i z a r dt oa c h i e v ea l l t h eo b j e c t so ft h es e r v e r s f i n a l l y , o p e ni n t e l l i g e n t a g e n t si nl o c a la r e an e t w o r kt os i m u l a t et h es e r v i c ep r o c e s s e so f a t ms e r v i c es y s t e m i nt h e s y s t e m ,c o r b as o f t w a r eb u sp r o v i d e sau n i f i e di n t e r f a c ef o re a c hs e r v e r sa p p l i c a t i o n s ,i ti s 桂林理工大学硕士学位论文 e a s yt oi n s e r tan e wa t m s e i v g l o rab a n ks e r v e ri nt h ec o m p o n e n tf o r m ,w h i c he n h a n c e st h e f l e x i b i l i t ya n ds c a l a b i l i t yo ft h es y s t e mg r e a t l y k e y w o r d s :c o r b a ;e m b e d d e ds y s t e m s ;r e a l t i m ec o n t r o l ;s o 仃w a r eb u s ;a t ms e r v i c es y s t e m 桂林理工大学硕士学位论文 目录 摘要:i a b s t r a c t i i 第1 章绪论。l 1 1 研究背景1 1 2 研究意义2 1 3国内外相关研究动态及发展趋势3 1 4 本文工作。4 第2 章c o r b a 软总线原理及应用5 2 1软总线的原理5 2 1 1 基于软总线系统的设计方法6 2 1 2 基于软总线系统的特点。7 2 2 c o r b a 软总线的原理8 2 2 1c o i m a 的基本组成8 2 2 2c o r b a 的工作方式1 1 2 3c o r b a 的通信模型1 2 2 3 1对象应用的传递和解释1 2 2 3 2 桥接的分类域1 2 2 4 c o i 淝a 通信协议与互操作13 2 4 1g i o p 协议l3 2 4 2 c o r b a 互操作层次结构1 3 2 5c o r b a 的服务1 4 2 6o m gi d l 与c + + 的映射关系。17 2 7小结19 第3 章嵌入式c o r b a 模型设计2 0 3 1嵌入式系统的简介2 0 3 2 嵌入式c o r b a 的应用需求2 0 3 3 嵌入式c o r b a 的规范分析2 l 3 3 1m i n i m u mc o r b a 2 1 3 3 2 实时c o r b a 2 2 3 3 3 c o r b a e 规范2 2 3 4 嵌入式实时c o r b a 的模型设计2 3 3 4 1 实时c o r b a 的优先机制2 4 3 4 2 实时g i o p 的解决方案2 6 桂林理工大学硕士学位论文 3 5 小结2 6 第4 章基于嵌入式c o r b a 软总线的a t m 服务系统的设计2 7 4 1 服务系统的总体构架2 7 4 2 服务系统客户端设计2 8 4 2 1系统客户端结构与功能分析2 8 4 2 2 系统客户端的硬件设计2 9 桂林理工大学硕士学位论文 1 1 研究背景 第1 章绪论 各种技术的并行和交叉发展,使得其技术成果呈多元化方向发展。由不同型号的计 算机、不同种类的操作系统,以及不同的计算机编程语言构成了种类繁多的信息单元和 系统。当我们想把这些信息单元或系统联合起来,构成一个综合的新系统,并且实现所 有子系统或各个信息单元所具有的功能时,就会发现这是多么困难。在异构环境面前, 我们需要重新考虑各个子系统相互连接的问题。过去的解决方法是把原有的单元或系统 看成不可变动的独立部分,通过通信的方式将其连接起来。所以网络仅能完成简单的通 信功能。即使是这些通信功能,为使之有序和可控,还需增加网络管理和附加服务,在 这种情况下软总线的思想应运而生。回顾一下计算机的体系结构和发展,我们得到启发, 一台计算机系统的核心部分包括功能构件、总线系统、应用软件和操作系统,通过在这 样的系统上配置不同的扩展功能构件和应用软件,就可以使之成为不同的业务系统并实 现不同的业务功能。这就可以看出在一定范围内,系统是可以扩展、可以重构及可以实 现多种综合业务的。使用递推的思想,能否把各种业务设备和业务处理软件看成不同的 功能构件,用类似于硬总线的特性为依据来构建一种硬总线的映射软总线。而后 将这些新功能构件跨接到软总线上,以构成一个综合各种功能的新系统。这种信息系统 无疑在功能和结构方面都具有更大的柔性,更易于扩展和重构。软总线是面向对象的一 组虚拟的数据信息传输线,它服务于用多种计算机语言编写的多个、多种类型的软件功 能构件。这组虚拟的数据信息传输线是一组通用的标准集成软件功能构件的接口界面。 它是计算机操作系统与各种集成功能构件之间,或集成软件功能构件之间进行数据传输 与联系的虚拟公共通道和接口界面。软总线实现的目标:为集成应用提供一个公共软件 平台,为标准的使用提供一个透明的平台,为复杂的应用提供一个简单的开发环境。同 时,也为系统提供环境的可伸缩性以及服务的动态集成。软总线是连接构件的逻辑通道, 是符合接口标准的构件彼此集成的物理基础,同时软总线还提供一个标准的通信协议, 允许遵循这个协议的构件彼此通信儿“。 2 0 世纪9 0 年代美国“对象管理组织o m g ( o b j e c tm a n a g e m e n tg r o u p ) 提出了一个 基于标准的基础结构,即公共对象请求代理体系结构c o r b a ( c o m m o n0 b i e e tr e q u e s t b r o k e ra r c h i t e c t u r e ) 规范”。此规范中定义了一系列“对象”接口、传输、管理的方法 和约束,它为软总线的思想提供了具体实现的途径,从而推动了软总线思想向实用化迈 进。在分布式应用环境下,c o r b a 应用的对象请求代理o r b ( o b j e c tr e q u e s tb r o k e r ) 是 一种基于对象模型的标准软总线,一般称为c o r b a 软总线,它可以为接入系统的构件提 桂林理工大学硕士学位论文 供标准的接口。应用接口定义语言i d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 这种描述性语言 对接口定义后,就可以解决对象引用的请求,以及建立客户、对象请求代理和应用对象 之间的连接。随着分布式对象技术在嵌入式实时领域的应用越来越广泛,结合嵌入式资 源有限的特点,在保证应用的可移植性、o r b 之间的互操作性、对i d l 完全支持的前提下, o m g 发布了嵌入式环境下的m i n i m u mc o r b a 规范、实时c o r b a 规范和c o r b a e ( c o r b ae m b e d d e d ) 规范。 1 2 研究意义 受到计算机硬总线思想的启发,软总线的思想随着软件体系结构的发展日益成熟。 软件体系结构是描述一个系统中构件、构件连接、构件交互的组织结构、关联关系和系 统支配的方针和原则。在应用中,由于系统构件的工作方式不同,软件体系结构先后经 历了四种不同类型的代表性系统模型。分别是以数据为中心的系统模型、以执行为中心 的系统模型、面向对象的系统模型以及基于总线的系统模型1 。软总线最初的设想是为 插入系统的软件模块定义一组标准的接口,不管这些软件模块的内部私有属性如何,只 要它的接口符合软总线标准,就能够挂载在软总线之上,成为系统的一部分并与其它模 块协同工作。这样既屏蔽了各个模块的内部属性又降低了模块插入系统的难度。早在七 十年代软总线的思想就已经被提出来了,但直到软件复用技术、面向对象技术、分布式 对象管理技术等技术的发展和成熟,软总线技术才有了发展和实现的基础。构件 ( c o m p o n e n t ) 是具有一定功能的程序体,它既能够独立工作也能与其它构件组合起来协 调工作,构件通过接口对外提供自身所具有的特定功能服务旧。构件与构件之间、构件 与客户之间也是通过接口进行交互。在用c o r b a 软总线构建的系统中,构件通过接口接 入软总线,为系统提供服务,并通过i d l 语言对各个接口进行描述。由于描述性语言i d l 不是过程语言,并不能实现其具体的功能,各种具体的功能将在构件内部由过程性语言 如c 、c + + 或j a v a 等设计实现。通过这种方式可以实现功能与接口的彻底分离,降低了接 口客户和接口实现者之间的耦合程度,屏蔽了构件内部属性,隐藏了构件之间的通信细 节,增强了信息的封装程度。如果对构件的修改不影响构件的外部接口,就不会影响其 它构件或应用系统对构件的调用。这样就不必对系统进行大幅度的修改,也就更适合于 进行重用、更新和升级,使得系统更加容易改进。由于c o r b a 能够解决一系列兼容问题, 能够跨平台、跨操作系统、跨语言、跨协议、跨版本而成为众多用户的选择。因此c o r b a 分布式的用户可以使用各种信息和数据,无论它们分布在数字世界的哪个角落;也可以 对信息和数据进行各种自动化处理,无论它们需要哪个公司的哪款软件,这种处理是无 缝集成的,就好像使用专门编制的软件一样,能够最大限度的重用已经存在的软件、硬 件和数据信息。 桂林理工大学硕士学位论文 由于嵌入式系统具有软硬件可剪裁、可靠性高、成本低、体积小、功耗低等优势, 所以嵌入式系统的应用十分广泛。但随着嵌入式系统对网络应用需求的提高,它在分布 式环境的异构问题面前和桌面系统面临着一样的困境。若直接通过较低层的通信协议来 解决异构系统的通信问题,开发人员需要花费大量时间去了解下层平台的特性,分析各 种嵌入式平台的差异,在此基础之上,才能解决具体的应用问题。c o r b a 技术的出现, 有效的解决了系统之间的协作问题,它为分布式应用提供了良好的平台。c o r b a 屏蔽了 操作系统、硬件平台、编程语言之间的差异,使得基于c o r b a 软总线系统的开发、维护、 升级变得十分简单。将c o r b a 技术引入嵌入式环境中,可以很好地解决嵌入式系统之间, 以及普通桌面系统与各嵌入式系统之间的通信和协作问题:在嵌入式系统中使用c o r b a 软总线可以使客户服务器位置变得相对透明,能够很好的解决系统间互操作的问题。同 时,还能广泛地使用和获取资源,有利于增强系统的扩展功能。 1 3 国内外相关研究动态及发展趋势 对象管理组最早出版的重要文档之一是对象管理体系结构o m a 。o m a 定义了分布 式对象系统的基本成分。o r b 作为c o r b a 软总线,可以连接如公共服务、公共工具等高 层次组件和应用程序级对象。虽然o r b 只是c o r b a 中的一部分,但没有了o r b ,就不能 构建服务、工具和应用程序对象。因此,c o r b a 技术最初的焦点就放在o r b 体系结构本 身。c o r b a 体系结构的第一代主要是为分布式对象计算定义一个基础,并使这个基础独 立于技术和编程语言,而实现这个基础的关键成分是对接口定义语言i d l 的定义。最初的 c o r b a 体系结构只为c 编程语言定义i d l 的映射,并伴随有命名、事件和生命周期等一 些基本服务。而c o r b a 体系结构的第二代加入了o r b 互操作性,它基于与o r b 独立的互 操作协议:通用i n t e r - o r b 协议g i o p ( g e n e r a li n t e r - o r bp r o t o c 0 1 ) 以及基于t c p i p 的特 殊协议,因特网i n t e r o r b 协议i i o p ( i n t e r n e ti n t e r - o r bp r o t o c 0 1 ) 。同时,还增加了另外 一些语言的映射,以及定义了大量的附加服务。在这些服务中,有很多的服务对基本 o r b 增加了重要的价值,使得开发者能够很好地通过o r b 来利用高级的系统功能。由于 通用的c o r b a 并不提供对实时系统的支持,这使得c o r b a 技术在实时嵌入式系统中的 应用受到了很大的阻碍。为此,o m g 于2 0 0 2 年对c o r b a 进行了扩展,并提出了实时 c o r b a 规范1 0 版,此版本仅支持静态调度。2 0 0 3 年1 1 月,o m g 又推出了实时c o r b 规范 的2 0 版,用以支持动态调用。2 0 0 6 年发布的c o r b a e 规范是主要针对分布式实时和嵌入 式环境的高性能体系结构规范。 在嵌入式系统应用中,最先引入c o r b a 的就是军用和电信领域,美军联合作战无线 电系统( j t r s ) 、美国i c c sf o r n i f 及美国海军高级作战系统舰a c c s 中的软件通信体系 结构就是应用c o b r a 的典范”。基于嵌入式c o r b a 软总线的研究与应用在国内虽起步 桂林理工大学硕士学位论文 较晚,但也呈现出发展旺盛的趋势。近几年,上海、北京、成都等的很多企业都在研究 和开发嵌入式c o r b a 产品,但是成熟的嵌入式c o r b a 产品还未出现。许多研究所也已 意识到实时中间件应用的重要性,如北京科银京成技术有限公司实现了一种基于嵌入式 c o i m a 的系统框架,并取得了不错的成效n0 i 。随着嵌入式系统及软件技术的不断发展, 相信嵌入式c o r b a 技术将得到更加广泛的应用,帮助我们解决更多复杂的问题。 1 4 本文工作 本文是基于嵌入式c o r b a 软总线的足r m 服务系统的研究与设计。通过研究软总线的 工作原理以及c o r b a 技术的基本原理及应用,掌握c o r b a 软总线的结构及其工作方式。 通过具体分析嵌入式环境下的三种c o r b a 规范,设计一个基于嵌入式实时c o r b a 的模 型,并用此模型来构建a t m 服务系统。本文的具体工作如下: 第l 章:绪论,阐述论文的研究背景、研究意义、国内外相关研究动态和发展趋势、 工作重点和论文的组织结构。 第2 章:c o i 沿a 软总线的原理及应用,首先分析基于软总线系统的设计方法,并总 结基于软总线系统的特点。然后,着重研究c o r b a 软总线的基本原理及应用,主要包括 c o r b a 的基本组成和工作方式、通信模型及协议、基本服务等。 第3 章:嵌入式c o r b a 模型设计,通过分析嵌入式环境下对c o r b a 应用的需求,以 及研究嵌入式c o r b a 的三种规范,设计一个嵌入式实时c o r b a 的模型,并分析提高其 实时性能的方法。 第4 章:基于嵌入式c o r b a 软总线的a t m 服务系统的设计,用上一章设计的嵌入式 实时c o r b a 模型来构建一个a t m 服务系统,并将此系统分成前台客户端和后台服务端分 别来设计。 第5 章:a t m 服务端应用程序的设计与实现,通过分析其系统需求和实现能力,在分 布式软件c + + b u i l d e r 上设计开发a 卟硼l 务系统中的各种服务器应用程序,并实现各个服 务器应用程序之间的通信。 第6 章:总结与展望,对所完成的工作进行总结并对进一步的研究工作进行展望。 4 桂林理工大学硕士学位论文 第2 章c o r b a 软总线原理及应用 允许跨硬件平台和网络环境应用的通信层被称为中间件。中间件掩盖了计算机体系 结构、操作系统、编程语言和网络技术的异质性。使用中间件技术可以更好地开发各种 应用程序,也有利于对系统进行综合管理。软总线是一种新型的中间件软件技术,它为 软件的发展和集成指明了方向。而软总线是在中间件、软构件以及软件重用的基础上发 展起来的1 1 2 1 ,c o r b a 技术的成熟以及c o r b a 规范的完善使得软总线技术的实现成为 可能。 2 1 软总线的原理 软总线系统就是运用硬总线的思想构建的一种“支持多主服务、统一接口标准、统 一权限控制、具有数据存取控制、易于扩充维护的软件平台 。简而言之,软总线是构 件的组装架构。软总线不是简单的将各个控件联系起来,它还有许多自己独特的功能, 如容错处理,事务处理,安全管理,负载平衡,系统吞吐率控制等,这些是保证系统正 常运行的一些控制功能。软总线技术是一种使开发人员可以将不同语言、不同供应商开 发的构件组合在一起来构造软件。通常,软总线技术在软件开发中有以下几个优点: ( 1 ) 提高开发速度。由于构件开发商已经编好了大量的构件,因此,通过复用这些 构件可大大减少用户开发的工作量,进而缩短开发周期; ( 2 ) 降低开发成本。由于用户进行软件开发的工作量大大降低,因此开发成本也相 应减少。一般来说,使用构件来搭建软件的费用相对于传统方法下的开发成本来说是微 不足道的; ( 3 ) 增加应用软件的灵活性。由于应用软件是在构件基础上编制的,因此对于使用 者的不同需要,往往通过更换、修改应用中的一个或几个构件就可以实现; ( 4 ) 降低软件维护费用。由于基于构件的应用软件修改起来比较简单,一般都是通 过修改构件来实现,而不需要对整个软件进行全方位的大规模修改,因此软件的维护费 用也大大降低; ( 5 ) 简化软件升级过程。软总线技术通过版本控制,开发人员可以实现快速升级, 保证整个系统实时同步升级,同步升级过程只是对局部模块实施操作,并不会影响整个 软件其它部分的使用; ( 6 ) 促进软件产业的合理分工。专业化的构件生产可作为独立的产业存在,软件开 发将由软件系统集成商通过购买商用构件,再集成组装而成。这样精通应用领域的开发 人员可以从事专业构件的开发,而擅长系统集成的软件工程师可专注于构件的组装。 桂林理工大学硕士学位论文 2 1 1基于软总线系统的设计方法 用软总线的设计方法构建的系统称作基于软总线的系统。基于软总线的系统具备两 个基本特征:永恒持续性和动态适应性。永恒持续性是指在系统没有停止运作的情况下, 此系统可以持续的提供服务。动态适应性是指系统具有动态维护、在线升级和重新配置 的功能驯u 引。基于软总线的系统是由一系列的构件和一组或多组软总线构成的。软总线 为各种构件提供统一的接口,各种构件通过软总线接入系统。软总线是用于提供硬件平 台独立的中间件通信通道,它在构件之间传递数据、指令和各种信息。基于软总线的系 统结构图如2 1 和2 2 所示: ( 一h ) ; s t r u c tx a c t i o n 动作结构,包含一个客户交易的全部成员 l o n gu s e r l d ; 。 l o n gp i n ; l o n ga c c o u n t ; d o u b l ea m o u n t ; :e n u m a c t i o na c t i o n ; d o u b l eb a l a n c e ; :e n u m a t a t u ss t a t u s ; ) ; i n t e r f a c :es e r v e r e x c e p t i o nn o s e r v e r s t r i n gm e s s a g e ; ) ; :x a c t i o nh a n d l e t r a n s a c t i o n i n o u t :x a c t i o nt r a n s a c t i o n ) ; l o n g b a l a n c e ( ) ; ) ; b 艮务器接口,描述服务器的动作 j j 艮务器异常 交易处理方法 余额计算方法 5 2 2 银行接口的定义 这个接口文件主要用来抽象表达“银行”。本文只讨论银行中与a t m 机相关的服务。 银行内部的各种具体操作功能由银行内部的功能模块来完成。银行接口b a n k i n g i d l 接口 定义文件及其说明: # i n c l u d e x a c t i o n i d l i n t e r f a c eb a n k s e r v e r :x a c t i o nh a n d l e t r a n s a t i o n i n o u t :x a c t i o nt r a n s a t i o n 银行服务器接口 交易处理方法 4 2 桂林理工大学硕士学位论文 ) ; l o n gb a n k l d ( ) ; ) ; m o d u l eb a n k i n t e r f a c ea c c o u n t f l o a t b a l a n c e ( ) ; ) ; 银行识别方法 银行服务器模块,描述银行功能 帐号接口 帐号余额计算方法 i n t e r f a c ea c c o u n t m a n a g e r 账户管理接口 :b a n k :a c c o u n t0 p 商( 打开账户方法 i ns t r i n gn a m e ) ; ) ; ) ; 在c + + b u i l d e r 的c o r b a 开发中,可以通过三种途径来添加工程中的i d l 文件。 第一:利用文本编辑器完成i d l 文本的编辑,然后再添加到工程中; 第二:利用c + + b u i l d e r 的c o r b ai d lf i l e 向导添力i ii d l 文件; 第三:在c o r b as e r v e r 或者c o r b ac l i e n t 向导指引下添力n i d l 文件。我们采用第一 种方式,利用文本编辑器编辑完成交易接口和银行接口的i d l 文件,即将以上两段源代码 用文本编辑器编辑完成后,保存在x a c t i o n i d l 和b a n k i n g i d l 两个i d l 文本中,方便在随后的 工作中添加到工程中,完成服务器应用程序的创建。 5 3 创建服务器应用程序 根据系统功能需求,现在应该创建两个以上的服务器应用程序,银行服务器和a t m 服务器。为了更好地体现分布式特征,需要创建两个银行服务器。因此,本文一共需要 创建第一银行服务器、第二银行服务器和a t m 服务器这三个服务器应用程序。 在c + + b u i l d e r 上创建服务器应用程序的步骤: 首先,使用c o r b a 服务器向导,在选择f i l e n e w o t h e r 菜单命令,打开n e wi t e m s 对 话框,在对话框m u l t i t i e r 页面下选择c o r b as e r v e r 图标双击。打开c o r b as e r v e rw i z a r d 对话框。由于我们创建的是w i n d o w s 下的应用程序,所以选择w i n d o w sa p p l i c a t i o n 。 然后,点击a d d 按钮,将保存的两个i d l 文件增加到工程中。 最后,点击o k 按钮,完成新的服务器工程的创建。服务器应用程序框架的创建是 个自动的过程,不需要人工干涉。生成的代码会在工程文件中增加c 0 r b a 库,并启动初 始化o r b 和b o a 的代码。在自动生成的代码中声明了两个变量,他们用来和o r b 以及 4 3 桂林理工大学硕士学位论文 b o a 进行通讯。其代码形式如下: c o r b a o r b v a ro r b = c o r b a o r b i n i t (a r g e ,a r g v ) ; c o r b a = b o a v a tb o a = o r b - b o a i n i t (a r g o , a r g v ) ; 由于本文需要创建第一银行、第二银行和a t m 三个服务器应用程序。所以,需要重 复以上步骤两次。其工程分别命名为a t m s e r v e r 、b a n k s e r v e r l 和b a n k s e r v e r 2 。 5 4 编译i d l 文件 码根和服务器框架作为服务器和客户端进行通信的关键模块,它们必须在所有具体 的实现工作开始之前就被建立起来。相对可读性很强的i d l 文件来说,码根和框架更类似 于程序的底层代码。在c + + b u i l d e r 中,建立如此复杂的文件是无需亲自动手的,一切都 交给编译器来完成。在编译i d l 文件之前,清除c o r b ag e n e r a t i o n 中的所有选项,这样可 以得到比较简洁的接口框架文件。接着,采用c o r b a 对象实现向导来简化开发任务。在 c + + b u i l d e r 中,可以在整个系统编制完成后,统一对整个程序的源代码进行编译,也可 以在编辑完成i d l 文件后,立即对i d l 文件单元进行编译,这样可能会对后面的工作更有 帮助。所以,在创建完b a n k s e r v e r l 、b a n k s e r v e r 2 和a t m s e r v e r 三个工程后,立即对 b a n k i n g i d l 和x a c t i o n i d l 两个i d l 文件进行编译。其编译步骤为:在代码编辑器中,将要编 辑的i d l 文件设置为当前编辑状态;然后选择p r o j e c t c o m p i l eu n i t 菜单命令,编译代码编 辑器处于当前编辑状态的i d l 文件。或者在工程管理器中,选中一个需要编译的i d l 文件, 按下鼠标右键,选择c o m p i l e 命令进行编译。编译完成后,生成四个c l a p 文件,出现在代 码编辑器和工程管理器中。也就是说,在a t m s e r v e r 、b a n k s e r v e r l 和b a n k s e r v e r 2 三个服 务器工程中,都将生成码根为x a c t

温馨提示

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

评论

0/150

提交评论