




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着分布式应用系统得到越来越广泛的应用,对于分布式系统的要求趋向于强调系统 结构的开放性、功能的模块化、维护的简单性等。 本文主要介绍了开放式应用系统的框架构造技术所包含的技术和具体实现。在开放式 应用系统的框架构造技术中主要强调了通过插件技术及) 眦技术的应用。在研究过程中以 开发代理保险业务计算机应用系统为线索,对开放式应用系统的框架构造技术的应用 和所涉及的技术进行逐一的介绍,并使系统具备可扩展、可伸缩、易维护的特点,满足用 户的需求。 代理保险业务计算机应用系统中所有的功能和实现都以独立的模块化形式存在, 利用c o r 队及中间件技术解决分布异构问题。这样的系统不仅适合于多人协同开发,对于 将来系统功能的扩展和更新维护也提供极大的方便。 关键词: 一 开放式应用系统的框架构造技术;构件技术;捌l 技术;c o r b a 技术;模块化 a b s t r a c t , a b s t r a c t w t hm o r ea 1 1 dm o r e l e d i s t r i b u t e d 印p l i c a t i o ns y s t e m d i s t r i b u t e d s y s t e m , t h e r e q u i r e m e n t s a r e e m p h a s i s o nt h e 舢c h i t e c t l 鹏,t 1 1 e 劬c t i o nm o d u l i z ea j l dm em a i n t e n a i l c es i i n p l i 舭 印p l i e d t ot h e o p e i l l l m gs y s t e m i nt 1 1 i sa r t i c l e i n t r o d u c i n gm et e c l l l l i q u ea i l di n l p l e m e n t 、o fa no p e n 印p l i c a t i o n s y s t e mf 锄e w o r k e s p e c i a l l yi i 心o d u c i n gc o m p o n e n tt e c l l l l i q u ea n dx m l t e c l l l l i q u e i nt l l ep r o c e d u r eo fr e s e a r c h ,s a l l l p l ea si n s u r a n c ea g e n c ym a n a g e m e n ta p p l i c a t i o n s y s t e m ,a i l a l y s i n gt 1 1 ee v e r ) ,a s p e c to fo p e na p p l i c a t i o ns y s t e m 丘a m e w o r kw 【1 i c h m a k et l l es y s t e me x t e n s i b l ea n dm a i n t e n a n c ee a s y ,s a t i s 匆i n gt h er e q u i e m e n to f c n n r l l m e r a ut l l ef h n c t i o na n di m p l e m e n to fi n s u r a n c ea g e n c ym a i l a g e m e n ta p p l i c a t i o n s y s t e m a r em o d u l i z e a p p l yc o r b aa i l dm i d d l e 一、v a r et o s o l v ed i s t r i b u t ea i l d i s o m e r o u sp r o b l e m ,a r l dm es y s t e mn o to n l ya d 印tt o m u l t i - p e r s o nc o o p e r a t e 谢t h d e v e l o p m e mb u ta l s om es y s t e mi se x t e n s i b l e ,c u s t o m i za _ b l ea j l dc a l lb ee a s i l y u p d a t e d k e y w o r d : a j lo p e na p p l i c a t i o ns y s t e m 舭u n e w o r k ; c o i n p o n e n tt e c l l l l i q u e ;x m lt e c l l l l i q u e ; c o r b a t e c h l l i q u e ; m o d u liz e i i 东南大学学位论文独创性声明 z i 人声明所呈交的学位论文是我个人在导师指导下进行的研究工侔及竣鬻 的研究成果。尽萎所矧,除了文中特别加以标注和致谢的地方, 论文啊:暑耋f 奠倥人已经发丧囊鬟写连靛研究袁鬃,也不包含为获得乐南丈掌式英之美掣i 蕾习 0 j 孚童夏t 嚣丽爱j 连i ;j 誊;。与善:一焉工_ :j ! 司志刊乏:研究所苏翦,i 1 一重量二习 己在j 龟又峄萍了露穗说;舅并爰示了掰意。 务场 袁毫:学掌位论文使用援誊j i 基子文:鲞掣曩露曩曩沦又妁l 司菩福一蒙。酴在舔密籀内绦蕾i ! 支舞冀。:1 j 文技壹阕摹! 舞阅卅丛公罐( 包括刊登) 论文的全都或部分l 赶窑,恐支蕾譬毫i 曼 括刊登) 霞扭客南丈学研究生院办、毪。 研究生签名: i : 翟 j 飞 兰奠h h i 一冀 五 七一 j ,; 营葚一 :曩 骨机 譬乃 f , 蠢董 ,:, 一 弼“再攀一: _ :i ;1 k i 。以 , i , _ _ 0 , 。 挚 筮 第一章引言 1 1系统开发的背景 第一章引言 随着客户机服务器计算模式成为主流技术,过去的两层结构,即将数据统一存储在数 据服务器上,而有关的业务逻辑都在客户端实现的胖终端的解决方案已经不能适应目前客 户的需求和技术发展的需要,并大大阻碍了系统的发展。胖终端模式的主要缺点有:单一 的服务器结构紧密地依赖供应商;数据存取受到限制;难以扩展到大企业广域网或国际互 联网;也难以管理客户端的机群等。为了满足系统功能的不断增长,有效控制系统的规模 结构以及更加简便的对系统进行升级维护,系统构造模式逐步向三层结构以及分布式计算 方向发展。 三层结构,即底层为数据层,由多种数据服务器组成,提供各种数据服务:中层为应 用层,实现系统中的关键业务处理,它可以是分布于不同系统平台上的多种应用服务器; 然后是处于最外层的用户层。分布式对象结构系统是现代三层结构的基础,表示逻辑在客 户端( 第一层) :商务逻辑在中间层( 第二层) ;其他资源,如数据库,分布在最后一层( 第 三层) 。所有分布式对象协议都建立在相同的基础结构上,这种结构使得在_ _ 台计算机上的 一个对象看上去好像分布在不同的计算机上。分布式对象结构以非常简单的网络通信层为 基础的。从本质上说,这种结构分为三个部分:对象服务器,s k e l e t o n ( 架构) 和s t u b ( 桩 存根) 。通过三层体系结构,可以在不改变原有硬件结构的前提下提高系统的整体效率, 方便对客户端程序的维护。 分布式计算使得访问商务系统更加容易。分布式系统允许系统的一部分处于不同的计 算机上,可能是在许多不同的地方,而且这时它们才最现威力。换言之,分布式计算允许 远程获得商务逻辑和数据。顾客、商务伙伴和其他厂商能从几乎任何地方在任何时候使用 商务系统。分布式对象技术,如:j a v ar m i ,c o r b a 和微软的d c o m ,允许运行在一台机器 上的对象被不同计算机上的客户端应用程序使用。 在面向对象技术的基础上发展起来的构件技术在现在的应用系统开发中开始起到重要 的作用。面向对象的语言,如:c # ,d e l p h i ,j a v a 等,用于编写可变的、可扩展的、可重用 的软件。在商务系统中,面向对象语言用来改进g u i 的开发、简化存取数据和封装商务逻 辑。将商务逻辑封装入商务对象已经成为最近信息技术业的焦点。商务模型是易变的,这 就意味着商务产品、进程和目标将随着时间的推移而发展。如果为商务建模的软件能被封 装入商务对象,它就能成为可变的、可扩展的、可重用的,而且会随着商务模型的发展而 发展。利用构件技术、中间件技术、c o r b a 技术、x 地技术等构建的开放式应用系统的框架 模式很好的克服了胖终端模式的缺点,并同其它各种成熟的标准构件及中间件产品一样将 在应用系统的开发中起到重要的作用。 基于以上思想,并结合代理保险公司对客户管理系统的需求,本系统采用开放式应用 系统框架的构造技术为面向一般代理保险公司数据管理的应用系统构造一个标准框架,它 具有可扩展性、可移植性及智能更新等特性,从而简化应用系统的开发和维护工作。 , 第一章引言 1 2 本文结构 全文共分六章。第一、二章讨论了应用系统的发展情况,并对目前出现的一些技术与工 具做了一些分析:第三章分析了系统框架的目标,给出了整个系统的总体方案;第四章详细 讨论了系统的实现技术;在第五章中对客户端应用的实现做了详细介绍。最后,在第六章对 系统的可用性做了分析,并讨论了一些需要进一步完善的问题。 2 第二章相关技术 第二章相关技术 2 1 面向对象的分析与设计 2 1 1u m l 简介 统一建模语言( 删l ) 是一种直观化、明确化、构建和文档化软件系统产物的通用可视 化建模语言。它捕捉了被构建系统的有关决策和理解,用来理解、设计、浏览、配置、维护 以及控制系统的信息。u 地可以与所有的开发方法、生命阶段、应用领域和媒介一同使用。 u m l 是面向对象的分析与设计( o o a d ) 方法发展到8 0 年代末至9 0 年代中出现高潮时的 产物。它不仅统一了b o o c h 、r u m b a u g h 和j a c o b s o n 的表示方法,而且对其作了进一步的发展, 并最终统一为大众所接受的标准建模语言。标准建模语言删l 的主要特点可以归结为三点: 1 、 u m l 统一了b o o c h 、0 m t 和0 0 s e 等方法中的基本概念。 2 、 u m l 还吸取了面向对象技术领域中其他流派的长处,其中也包括非0 0 方法的影 响。u m l 符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使 用的符号,也添加了一些新符号。因此,在u m l 中汇入了面向对象领域中很多人的思想。这些 思想并不是u 儿的开发者们发明的,而是开发者们依据最优秀的o o 方法和丰富的计算机科学 实践经验综合提炼而成的。 3 、 u m l 在演变过程中还提出了一些新的概念。在u m l 标准中新加了模板 ( s t e r e o t y p e s ) 、职责( r e s p o n s i b i l i t i e s ) 、扩展机制( e x t e n s i b i l i t ym e c h a n i s m s ) 、线程 ( t h r e a d s ) 、过程( p r o c e s s e s ) 、分布式( d i s t r i b u t i o n ) 、并发( c o n c u r r e n c y ) 、模式 ( p a t t e r n s ) 、合作( c o l l a b o r a t i o n s ) 、活动图( a c t i v i t yd i a g r a m ) 等新概念,并清晰地区分 类型( t y p e ) 、类( c l a s s ) 和实例( i n s t a n c e ) 、细化( r e f i n e m e n t ) 、接口( i n t e r f a c e s ) 和构件 ( c o m p o n e n ts ) 等概念。 因此可以认为,u m l 是一种先进实用的标准建模语言,但其中某些概念尚待实践来验证。 u m l 是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。此 外,u m l 适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。 在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部 角色及其对系统( 用例) 的功能要求。分析阶段主要关心问题域中的主要概念( 如抽象、类和 对象等) 和机制,需要识别这些类以及它们相互间的关系,并用删l 类图来描述。为实现用例, 类之间需要协作,这可以用u m l 动态模型来描述。在分析阶段,只对问题域的对象( 现实世界 的概念) 建模,而不考虑定义软件系统中技术细节的类( 如处理用户接口、数据库、通讯和并 行性等问题的类) 。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的 规格说明。编程( 构造) 是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的 类转换成实际的代码。在用u m l 建立分析和设计模型时,应尽量避免考虑把模型转换成某种 特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问 题十分不利于建立简单正确的模型。u 地模型还可作为测试阶段的依据。系统通常需要经过 单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的删l 图作为测试依 据:单元测试使用类图和类规格说明:集成测试使用部件图和合作图:系统测试使用用例图来 验证系统的行为:验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的 需求。总之,标准建模语言删l 适用于以面向对象技术来描述任何类型的系统,而且适用于系 统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。 u m l 也有其不足之处,主要有以下三点: 第二章相关技术 l 、 u m l 建模后很难与处于软件开发上游的企业用户沟通。因为u m l 的表达方式与上游 用户的行业知识相差甚远,用户一看见满篇的软件工程术语与符号就发怵,根本无法理解使 用u m l 所描述的业务流程,也难以真正理解u m l 所陈述的需求,与业务专家交流无工而返, 导致软件大厦一开始就建立在沙子上,需求不清不楚,没完没了的胡子工程就此落下病根, 这种情况造成了软件开中的第一个隔阂,是u m l 的第一大硬伤。 2 、 u m l 的表达方式不直接支持详细设计。上游系统分析师费尽心力地使用u m l 建模后, 很难让处于软件开发下游的程序员直接接受去编程,程序员还得费尽周折地琢磨如何把建模 结果转换成程序代码,这种情况造成了软件开中的第二个隔阂,是u i l 的第二大硬伤。 3 、 u m l 建模图形之间的内部联系十分松散。主要表现在:状态转移图中,事件与外部 a c t o r 、c l a s s 、p a c k a g e 等无关;无法从语法上建立状态转移图与顺序图的联系:无法从语 法上活动图应与顺序图在流程描述关系;协作图和顺序图中与m e s s a g e 相伴的参数与类图无 关。 因此对于u m l 的前景,还有待于实践的考验。 2 1 2 面向对象的语言d e l p h i 面向对象的程序设计( o b j e c t o r i e n t e dp r o g r 锄i n g ,简记为0 0 p ) 是本系统采用的编 程语言d e l p h i 诞生的基础。0 0 p 立意于创建软件重用代码,具备更好地模拟现实世界环境 的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数 “封装”进w i n d o w s 编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清 晰、编写容易。d e l p h i 是完全面向对象的,这就使得d e l p h i 成为一种触手可及的促进软件 重用的开发工具,从而具有强大的吸引力。一些早期的具有0 0 p 性能的程序语言如 c + + ,p a s c a l ,s m a l l t a l k 等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与 用户交互能力较差,程序员仍然要编写大量的代码。d e l p h i 的推出,填补了这项空白。用 户不必自己建立对象,只要在提供的程序框架中加入完成功能的代码,其余的都交给d e l p h i 去做。欲生成漂亮的界面和结构良好的程序丝毫不必绞尽脑汁,d e l p h i 可以帮助您轻松地 完成。它允许在一个具有真正0 0 p 扩展的可视化编程环境中,使用它的o b j e c tp a s c a l 语言。 这种革命性的组合,使得可视化编程与面向对象的开发框架紧密地结合起来。 2 2 构件技术 构件技术也译为组件技术,是一种类似于“零部件组装”集成组装式的软件生产方式。 它把零件、生产线和装配运行的概念运用在软件产业中,彻底打破了手工作坊式的软件开发 模式。构件是软件的构成元素,构件具有一定的功能和结构,并符合一定的标准,可以完成 一个或多个特定的服务,构件隐藏了具体的实现,通过接口对外提供服务。一般而言,构件 是软件系统中具有相对独立功能,可以明确辨识、接口由契约指定、和语境有明显依赖关系、 可独立部署、可组装的软件实体,并且可以重复使用。广义上讲,构件可以是数据,也可以 是被封装的对象类、软件构架、文档、测试用例等。 构件是面向对象和其它软件技术的化身。构件利用合成( c o m p o s i t i o n ) 来建立系统。 在合成中,两个或多个构件集成到一起以建立一个更大的实体,而它可能是一个新构件、构 件框架或整个系统。合成是构件的集成。结合的构件从要素构件中得到了联合的规范。如果 构件符合了客户端调用和服务的规范,那么它们不需要额外编写代码就能够实现交互操作 ( i n t e r o p e r a t e ) 。这一般被称为即插即用( p l u g a n d p l a y ) 集成。在运行时间执行的时候, 这是后期连接的一种形式。例如,某个客户端构件可以通过在线目录发现构件服务器。构件 符合客户端和服务接口规范后,就能够建立彼此之间的运行时绑定,并通过构件的下部构造 4 第二章相关技术 无缝地交互作用。在完美的情形中,所有构件都将完全符合它们的规范,并且从所有的缺陷 中解放了出来。 2 2 1c o r b a 技术简介 公用对象请求代理( 调度) 程序体系结构( c o m m o n0 b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) ,缩写为c o r b a ,是对象管理组织( 0 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 r b a 的基本构件有: 1 、公共设施 公共设施分为横向设施和纵向设施,横向设施是指在通用应用领域内定义的对象。 信息管理、网络管理、系统管理、任务管理和用户接口都属于通用领域;纵向设施 是指在专用领域内定义的对象。电信、财政、商务、卫生保健都属于专用领域。 2 、对象服务( o b j e c ts e r v i c e s ) 对象服务是为公共设施和各种应用对象提供的基本服务,如命名服务、事件服务、 事务处理服务、通知服务、交易服务、生命周期服务和安全服务。 3 、应用对象 由各个应用开发者自行开发的实体,应用对象使用c o r b a 提供的各种对象服务。 4 、对象请求代理( o r b :o b j e c tr e q u e s tb r o k e r ) o r b 是c o r b a 的基础,是在分布环境下,c o r b a 应用所使用的、基于对象模型的软 件总线。它的基本职责是解决对象引用的请求和建立应用对象之间的联结,通过标 准接口、使这种联结独立于所使用的硬件和软件平台,从而保证了对平台的透明性 以及对操作系统、网络协议和编程语言的透明性。 一 在c o r b a 中,o r b 是一个中间件,它在对象间建立客户一服务器的关系。通过0 r b ,一个 客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是通过一个网络 访问。0 r b 截获调用然后负责找到一个对象实现这个请求,传递参数和方法,最后返回结果。 客户不用知道对象在哪里,是什么语言实现的,他的操作系统以及其他和对象接口无关的东 西。在传统的客户服务器程序中,开发者使用他们自己设计的或者公认的标准定义设备之 间的协议。协议的定义依赖于实现的语言,网络的传输和其他许许多多因素。o r b 将这个过 程简单化。使用o r b ,协议定义是通过应用接口,而该接口是接口定义语言( i d l ) 的一个 实现,他和使用的编程语言无关的。并且o r b 提供了很大的灵活性。他让程序员选择最适当 的操作系统,运行环境和设计语言来建设系统中每个构件。更重要的是,它允许集成已经存 在的构件。c o r b a 是在面向对象标准化和互操作性道路上的一个信号。通过c o r 队,用户不 必要知道软硬件的平台和他们处在企业网的什么地方就可以操作。 2 2 2c o m d c o m 简介 c o m 是m i c r o s o f t 提出的构件标准,它定义了构件和应用程序之间进行通信的标准,同 时提供了构件程序运行时所需要的环境。c o m 技术是0 l e 和a c t i v e x 技术的基础。c o m 定义 了一组a p i 和一个二进制标准,让来自不同编程语言、不同平台的彼此独立的对象可以互相 第二章相关技术 进行通信。一个c o m 对象包括一个或多个接口,这些接口构成了c o m 对象的功能,用户可以 像访问一般v c l 的方法一样访问接口的方法。 在c o m 标准中,一个构件程序也可以称为一个模块。它可以是一个d l l ( 动态链接库) , 这种构件为进程内构件( i n p r o c e s sc o m p o n e n t ) :也可以是一个可执行程序,这种构件为 进程外构件( o u t p r o c e s sc o m p o n e n t ) 。 c o m 作为构件对象模型,主要特性有: l 、语言无关性。c o m 作为定义构件对象模型的规范,没有定义它特定使用的语言。 也就是说,编写构件对象所使用的语言与客户程序所使用的语言可以不同,只要它们 都能生成符合c o m 规范的可执行代码就可以。 2 、面向对象的特性。c o m 对象是c o m 构件和客户程序进行交互的实体,c o m 对象 的属性就是c o m 对象区别于其他c o m 对象的标志,而c o m 对象的方法就是c o m 对象提 供给外界的接口,客户程序通过接口得到c o m 对象的服务。 3 、定制应用程序。通过定制,应用程序可以按照用户要求的工作方式工作。这 样,在开发人员建立对实用应用程序的定制方案时,他们需要的是可以被修改的应用 程序。 4 、构件库的应用。构件技术最引人注目的优点之一是快速应用程序开发。构件 库可以使开发人员从库中取出所需的构件,并可将其快速地组装的一起以构造所需的 应用程序。 5 、对分布式的支持。随着网络技术的发展及其重要性的提高,对由分布式在网 络上的多个部分组成的应用程序的需求保持强劲的增长势头。构件化的程序设计可以 使得开发分布式应用程序的过程得以简化。 d c o m 是原c o m 技术的延续,主要是增加了远程调用c o m 部件的功能。另外,由于它结合 原来c o m 中的a c t t i v e x 技术,使得原有的各种a c t i v e x 部件,也因d c o m 的兼容性而变成可被 远程调用的部件。d c o m 的技术特点在于每个程序模块无需存储在客户端,更无需下载程序本 身在客户端运行。只需要在服务器内存放一份d c o m 部件,不同地方的用户即可通过网络来访 问这一d c o m 部件。当然d c o m 部件不只是节省了存储空间。而且,使用d c o m 部件构成的大型 程序,可以把处理相同工作的部分分割,交给一个专门的软件模块完成。而其他程序或其他 d c o m 部件只需对其进行调用,即可获得需信息。当程序流程发生变化时,程序员只要对变更 的部分进行修改,即可同时对其他单位的程序更新,有效地提高了整个系统的灵活性。 2 2 3s o a p 简介 s o a p 以x i l 形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型 信息的机制。s o a p 本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实 际上它通过提供一个有标准构件的包模型和在模块中编码数据的机制,定义了一个简单的表 示应用程序语义的机制。这使s o a p 能够被用于从消息传递到r p c 的各种系统。 s o a p 包括四个部分: 1 、s o a p 封装结构,定义了一个整体框架用来表示消息中包含什么内容,谁来处理这些 内容以及这些内容是可选的或是必需的。 2 、s o a p 编码规则,定义了用以交换应用程序定义的数据类型的实例的一系列机制。 6 第二章相关技术 3 、s o a pr p c 表示,定义了一个用来表示远程过程调用和应答的协定。 4 、s o a pb i n d i n g ,定义了一个使用底层传输协议来完成在节点间交换s o a p 封装的约定。 2 2 4s o a p 与c o r b a ,d c o m c o m 的比较 首先指出的是s o a p 不会取代c o r b a :c o m d c o m ,三者的概念有所区别。c o m d c o m 是个 构件模型标准,c o r b a 是分布式应用的服务标准。c o r b a 和d c 0 m 为分布式应用程序建立服务, 服务对象来执行客户端调用的服务。而s o a p 是基于) ( 1 i l l 和h t t p 的分布式对象的通信协议, 是c o m d c o m 和c o r 队对象进行通讯的协议。利用s o a p 的互操作性和c o r b a 强大的执行能力, 两者可以很好的结合在一起。 c o r b a 应用程序和d c o m 应用程序不能实现互操作,两者不能在一起协作。因为在 0 r p c ( o b j e c tr p c ) 协议中,用0 b j r e f 代表了一个正在运行对象的引用;在 c o r b a i i o p ( i n t e r n e ti n t e r 一0 r bp r o t o c 0 1 ) 中,用交换可互操作对象引用i o r ( i n t e r o p e r a b l e0 b j e c tr e f e r e n c e ) 代表一个服务器的对象引用。不幸的是,i o r 与0 b j r e f 不能够关联起来的。然而,使用s o a p 可以实现在垂直应用层面上c o r b a 和d c o m 技术的水平 整合,能够更好的将c o r b a ,d c o m 集成为一个整体。 s o a p 没有定义信息的语义、服务质量以及基于i n t e r n e t 的事务处理。而是采用l 进 行消息编码,正确的处理需要服务器和客户端本身来执行,理解和执行彼此使用的信息格式 ( 0 n e t 0 0 n e ,r e q u e s t r e p l y ,b r o a d c a s t ,e t c ) ,应用程序本身在语义解析中扮演着十 分重要的角色。而c o r b a ,d c o m 表示了传送信息的语义,对参数和返回值使用二进制编码。 可对诸如参数名称或类型的任何元信息都不编码,但使中介很难处理消息。又因为每个系统 使用不同的二进制编码,系统间的互操作的很难实现。 尽管c o r b a 可以在不同的平台上执行,d c o m 可以在微软的各种平台上运行,但是基于 c o r b a 和d c o m 的解决方案必须依赖于单一的应用程序。比如说,假如运行的是d c o m 服务器 程序,所有的分布式的客户端不得不运行于微软的操作平台上。c o r b a 虽然可以运行于不同 的平台,但c o r b a 的互操作性并没有在更高层的服务上进行扩展,如安全性和事务处理,在 这种情况下,许多提供的服务没有得到很好的优化。d c o m 和c o r b a 适合于服务器一服务器 间的通讯,但是对于客户端一服务器的通讯十分脆弱,尤其当客户程序分布在i n t e r n e t 上更 是如此。 s o a p 不象d c o m 一样试图定义分布式系统的所有元素,s o a p 没有提供分布式类库、类型 安全检查、版本控制等等,s o a p 比它处于一个更低的层次,有点类似于i i o p 在c o r b a 的作 用,d c o m 却提供了一些额外的协议功能,是1 1 0 p 或者s o a p 所不具备的。然而,许多d c o m 的额外功能只有在服务器一服务器间通信时才会用到,对于客户端一服务器之间的通信则是 多余的。 2 3 采用蹦l 格式的系统配置数据交换 l 代表e x t e n s i b l em a r k u pl a n g u a g e ( e x t e n s i b l em a r k u pl a n g u a g e 的缩写,意为 可扩展的标记语言) 。) 。是一套由全球信息网协会w 3 c 设计的一个可扩展的标记语言,是 定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。) n 也是元标记 语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。 ) ( i l 是一种界定文本数据的简便而标准的方法。x 札允许用户建立自己的元素并可以以 7 第二章相关技术 任何名字为它们命名,而不像h t 札那样,只能使用预先定义好的标识组,这也就是x m l 的 可延伸性。与注重数据及其表达方式的h t m l 不同,) 。只关心数据本身,它是一种能够交 换和表示数据的、独立于平台的、强大的技术。) 眦文件就在前几年) 眦刚刚问世的时候, 它就被赋予电子商务的世界语的美称,尤其在b 2 b ( b u s i n e s s 一2 - b u s i n e s s ) 领域内更是如此。 原因就是删l 是个非常简单的而又是结构化的a s c i i 文本语言,任何人和任何事都能读懂它。 与作为当前网页标准格式的h t m l 语言不一样。两者之间的不同之处在于:h t m l 要用预先定 义的语法集来解释;) n 几文件虽然要遵循通用的语法规则,但真正的关键词( 标记) 则是由作 者决定的。其含义可由d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 文件或者现在更为流行使用的纲 ( s c h e m a ) 来选择定义。使用d t d 或s c h e m a 的x m l 文件可以说是一个自我解释的文件,在数 据集成化和出错调整时都很有用。x 札的结构化模式使得数据和信息可以在应用程序之间相 互传递。它提供一个标准格式,对所有的通讯协议是透明的。这就是) ( i l 在电子商务应用的 电子数据交换( e 1 e c t r o n i cd a t ai n t e r c h a n g e ,e d i ) 和b 2 b 中扮演重要角色的原因。通过 d t d 或者s c h e m a 来“定义”( 或检查) 删l 文件理所当然地使得任何人都可以与任何其它人和 事交谈,只要使用恰当的的x m l d t d s c h e m a 组合。现在越来越经常要求集成现有的系统, ) 眦可能成为系统之间相互交谈和理解的“语言”。 2 3 1 ) ( m l 的优点 1 、 开放性 瑚l 技术根据标准规范,允许在如何平台上读取和处理数据。更重要的是,) ( m l 技术站在 分布式w e b 服务的最前沿,允许通过h t t p 和其它传输协议交换l 数据。d e l p h i 7 是一个 新的开发环境,对删l 的支持已直接内置到环境中,d e l p h i 7 和) 眦组合的这种编程方式, 将允许在某一平台上的某一语言与运行在其他平台上的其他语言一起工作,通过开放数据标 准进行通信。这样就不必每个人都为使用多个平台而学习多种语言,也不必使用专用的通信 协议。 2 、 简单性 删l 文档是纯文本格式,是计算机中最简单的数据格式。如果需要在两个不同的系统之 间交换数据,纯文本格式无疑是最佳的选择。 3 、 自我描述性 自我描述性是指:x m l 可以明确地表示数据模型中各个部分的意义。只要查看捌l 文档中 的某个数据项旁的标记,就可以确定该数据的意义。 4 、互操作性 ) 【m l 文档是纯文本的,很容易在系统之间传递它们。这不仅仅是因为这些元素简单, 而是因为l 更容易在应用程序间迁移。不同的环境或操作系统可以互相通信,这对于混和 了新旧系统的业务来说特别有用。 5 、结构 ) ( m l 可以描述单行的简单数据结构,也可以描述比较复杂的基于文本的数据,还可以描 述像数组或集合甚至数据库等这样非常复杂的数据结构。煳l 文档用一组创建它们的规则来 发送。这些规则一般采用模式的形式,为接收应用程序提供它需要知道的任何内容,以验证 文档。 第二章相关技术 6 、 分开结构和内容 在复杂的应用程序中,x m l 中数据的显示和数据本身是区别开的。 7 、 可扩展性 使用瑚l ,可以按照自己的需要定制语言,) ( m l 为表示数据创建了一个框架,为了表示数 据而创建的所有语言都是对l 的扩展。 2 3 2 ) ( m l 文档的解析方式 x m l 解析器是一种解码引擎,用来提取蹦l 的数据元素。目前有两种类型的l 解析器, s a x ( s i m p l ea p i f o rx m l ) 和d o m ( d o c u m e n to b j e c tm o d e l ) 。 d o m 是用与平台和语言无关的方式表示x 扎文档的官方w 3 c 标准。d o m 是以层次结构组 织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构 通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的, 因而d o m 被认为是基于树或基于对象的。d o m 以及广义的基于树的处理具有几个优点。首先, 由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可 以在任何时候在树中上下导航,而不是像s a x 那样是一次性的处理。d o m 使用起来也要简单 得多。另一方面,对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用 其他手段来处理这样的数据会更好。这些基于事件的模型,比如s a x 。 s a x 这种处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的 数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内 存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它 可以在某个条件得到满足时停止解析。一般来说,s a x 还比它的替代者d o m 快许多。 选择d o m 还是选择s a x ? 对于需要自己编写代码来处理蹦l 文档的开发人员来说,选择 d o m 还是s a x 解析模型是一个非常重要的设计决策。d o m 采用建立树形结构的方式访问) 。 文档,而s a x 采用的事件模型。d o m 解析器把删l 文档转化为一个包含其内容的树,并可以 对树进行遍历。用d o m 解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后 利用n a v i g a t i o na p i s 访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。 然而由于使用d o m 解析器的时候需要处理整个l 文档,所以对性能和内存的要求比较高, 尤其是遇到很大的瑚l 文件的时候。由于它的遍历能力,d o m 解析器常用于煳l 文档需要频 繁的改变的服务中。s a x 解析器采用了基于事件的模型,它在解析煳l 文档的时候可以触发 一系列的事件,当发现给定的t 靠的时候,它可以激活一个回调方法,告诉该方法制定的标 签已经找到。s a x 对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的 t a g 。特别是当开发人员只需要处理文档中所包含的部分数据时,s a x 这种扩展能力得到了 更好的体现。但用s a ) ( 解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中 的多处不同数据。所以d o m 和s a x 各有千秋,可以在开发中互补。 2 4 中间件技术 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术 之间共享资源。中间件位于客户机服务器的操作系统之上,管理计算资源和网络通讯。中 间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作:中 间件是基于分布式处理的软件,特别强调了其网络通讯功能。 9 第二章相关技术 2 4 1 中间件的分类和作用 中间件作为位于操作系统和应用软件之间的一个软件层,它向各种应用软件提供服务, 使不同的应用程序能在屏蔽掉平台差异的情况下,通过网络互相通信。因此中间件是为解决 分布异构问题而提出的概念。中间件是位于平台( 硬件和操作系统) 和应用之间的通用服务。 中间件种类主要有: 1 、通信处理( 消息) 中间件:此类中间件能在不同平台之间通信,实现分布式系 统中可靠的、高效的、实时的跨平台数据传输( 如t o n g l i n l ( 、b e ae l i n k 、i b m 的m q s e r i e s 等) 。 2 、 交易中间件:在分布式事务处理系统中要处理大量事务,常常在系统中要同时 做上万笔事务。中间件将超大型应用系统划分为若干独立运行的较小的应用系统,交易 服务中与数据库无关的逻辑处理任务由中间件完成,从而进一步分担了很多原来需要数 据库完成的工作,在很大程度上提高了数据库在处理大量并发服务请求时的性能,保持 整个系统稳定的工作状态。 3 、 数据存取管理中间件:在分布式系统中,重要的数据都集中存放在数据服务器 中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加 密或压缩存放的,该中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。 4 、w e b 服务器中间件:浏览器图形用户界面已成为公认规范,然而它的会话能力 差、不能作数据写入、受h t t p 协议的限制等,就必需进行修改和扩充,形成了w e b 服 务器中间件,如s i l v e r s t r e 硼公司的产品。 5 、 安全中间件:一些军事、政府和商务部门上网的最大障碍是安全保密问题,而 且不能使用国外提供的安全措施( 如防火墙、加密、认证等) ,必需用国产的产品。产生 不安全因素是由操作系统引起的,但必需要用中间件去解决,以适应灵活多变的要求。 6 、跨平台和构架的中间件:当前开发大型应用软件通常采用基于构架和构件技术, 在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此 产生了构架中间件,功能最强的是c o r b a ,可以跨任意平台,但是太庞大;j a v a b e a n s 较 灵活简单,很适合于做浏览器,但运行效率差:d c o m 模型主要适合w i n d o w s 平台,已广 泛使用。实际上国内新建系统主要是u n i x ( 包括l i n u x ) 和w i n d o w s ,因此针对这两个平 台建立相应的中间件要实用得多。 7 、专用平台中间件:为特定应用领域设计领域参考模式,建立相应构架,配置相 应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务( 如电子商务、网站 等) 。 8 、 网络中间件:它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等,也是当 前最热门的研发项目。 2 4 2 中间件特点及优势 作为中间件一般应具备以下一些特点:满足大量应用的需要;运行于多种硬件和0 s 平 台:支持分布式计算,提供跨网络、硬件和o s 平台的透明性的应用或服务的交互功能;支 持标准的协议:支持标准的接口。 1 0 第二章相关技术 世界著名的咨询机构t h es t a n d i s hg r o u p 在一份研究报告中归纳了中间件的十大优越 1 、用开发:t h es t a n d i s hg r o u p 分析了1 0 0 个关键应用系统中的业务逻辑程序、 应用逻辑程序及基础程序所占的比例:业务逻辑程序和应用逻辑程序仅占总程序量的 3 0 ,而基础程序占了7 0 ,使用传统意义上的中间件一项就可以节省2 5 一6 0 的应 用开发费用。如是以新一代的中间件系列产品来组合应用,同时配合以可复用的商务 对象构件,则应用开发费用可节省至8 0 。 2 、系统运行:没有使用中间件的应用系统,其初期的资金及运行费用的投入要比 同规模的使用中间件的应用系统多一倍。 3 、开发周期:基础软件的开发是一件耗时的工作,若使用标准商业中间件则可缩 短开发周期5 0 一7 5 。 4 、减少项目开发风险:研究表明,没有使用标准商业中间件的关键应用系统开发 项自的失败率高于9 0 。企业自己开发内置的基础( 中间件) 软件是得不偿失的,项目 总的开支至少要翻一倍,甚至会十几倍。 5 、合理运用资金:借助标准的商业中间件,企业可以很容易地在现有或遗留系统 之上或之外增加新的功能模块,并将它们与原有系统无缝集合。依靠标准的中间件, 可以将老的系统改头换面成新潮的i n t e r n e t i n t r a n e t 应用系统。 6 、应用集合:依靠标准的中间件可以将现有的应用、新的应用和购买的商务构件 融合在一起进行应用集合。 7 、系统维护:需要一提的是,基础( 中间件) 软件的自我开发是要付出很高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牙膏以旧换新活动策划方案
- 有色金属材热处理工应急处置考核试卷及答案
- 英语句型多样化转换方法精讲
- 植物胶体生产创新创业项目商业计划书
- 第12课 即时通信真便捷说课稿-2025-2026学年小学信息技术(信息科技)四年级上册人教·陕师大版
- 井下支护工新员工考核试卷及答案
- 吴哥窟建筑修复方案设计
- 美妆用具营销策划方案
- 企业文化与品牌形象协同效应分析报告
- 六年级品德与社会下册 我们只有一个地球1说课稿 浙教版
- 2025年河北省公需课《双碳目标下绿色能源转型趋势》答案
- 2025-2030中国再生金属行业市场深度调研及发展策略与风险研究报告
- 客户转让合同协议书范本
- 光伏发电工程竣工最终验收报告
- 2025-2030中国篮球运动鞋行业市场发展趋势与前景展望战略研究报告
- 发改价格〔2007〕670号建设工程监理与相关服务收费标准
- 2025年小学生科普知识竞赛练习题库及答案(200题)
- 传媒行业创新案例小红书
- 《美妆类电商产品销量影响因素实证研究13000字(论文)》
- T-JSQX 0016-2024 无人驾驶配送装备通.用技术要求
- 科技前沿下的生物医药研发实验室创新研究
评论
0/150
提交评论