




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 比尔盖茨曾经说过“软件即服务和“世界上所有一切都将包括在互联网服务中”。 软件技术的发展,就是要构建一种动态开放的服务环境,并将各种类型的应用服务集成 在一起,进行有效的组织与管理,并向用户提供完善的服务旧1 。 近几年来,面向服务的体系结构以其松耦合,粗粒度等特性越来越受到各行各业的 关注。面向服务的体系结构是一种分布式的应用模型。它将应用程序的功能单元以服务 的形式提供给用户。服务的接口采用平台无关的方式进行定义,这使得构建在各种系统 中的服务可以通过一种统一和通用的方式进行交互。和对象相比,服务是更高层次的抽 象,更加符合企业的业务流程。平台无关的接口为企业应用系统提供了松耦合的通信方 式,使企业内部应用系统之间以及企业应用系统之间的整合更加容易。w e b 服务是面 向服务的体系结构的一种实现。近几年来,w e b 服务己经成功地应用到许多企业应用 系统中。 对于企业来说,灵活的业务流程可以满足用户的各种需求,增加企业的竞争力。在 面向服务的体系结构中,映射到业务功能的服务是在分析业务流程的过程中确定的。分 析企业的业务流程,定义粒度合适的服务是实现面向服务的体系结构的重要因素。 公用事业行业需要利用面向服务的体系结构( s o a ) 来降低应用和i t 环境的复杂 性,促进模块化业务服务的开发,并将这些服务轻松的集成和重用。 本文是以曼博科技公司研发的“公用事业综合系统( i p u s ) 为基础,针对公用事业 市场化程度日趋加深的情况,实现企业对公用事业( 燃气,水,电等) 综合系统更好的 管理和操作,从而抽象出一些公用的部分衍生为服务,实践证明,面向服务的应用开发 具有更强的灵活性,并能更好地满足用户的需求。 关键词:面向服务体系结构;w e b 服务;公用事业综合系统 a b s t r a c t b i l lg a t e so n c es a i d “s o f t w a r ei ss e r v i c e ”a n d “t h ei n t e r n e tw i l ls e r v ef o ra l lt h i n g si 1 1 t h ew o r l d ”t h ed e v e l o p m e n to fs o f t w a r ei n t e n d st oe r e a tad y n a m i ca n do p e ns e r v i c e e n v i r o n m e n t ,i n t e g r a t e sa n de f f e c t i v e l ym a n a g e sa l lt y p e so fs e r v i c e s ,a n dp r o v i d ep e r f e c t s e r i c ef o ru s e r s t 2 7 1 s e r v i c e - o r i e n t e da r c h i t e c t u r e ( s o a ) i sn o tan e wc o n c e p t b u ti th a sd r a w nm o r ea n d m o r ee v e r yw a l ko fl i f e sa t t e n t i o nt h e s ey e a r s s o ai sa na p p l i c a t i o na r c h i t e c t u r ew i t h i n w h i c ha l lf u n c t i o n sa r ed e f i n e da si n d e p e n d e n ts e r v i c e s i tp r e s e n t sa na p p r o a c hf o rb u i l d i n g d i s t r i b u t e ds y s t e m st h a td e l i v e ra p p l i c a t i o nf u n c t i o n a l i t ya ss e r v i c e st ie i t h e re n d u s e r a p p l i c a t i o n so ro t h e rs e r v i c e si nal o o s ec o u p l e dw a y t h i sf e a t u r ep r o v i d e si te x e c u t i v e sa g o o dc h o i c et ob u i l dm o r ec o m p e t i t i v ee n t e r p r i s es y s t e m sw h i c hs e r v ec u s t o m e r sb e t t e ra n d a r em o r ee a s i l yt ob e i n t e g r a t e d w i t ho t h e r s y s t e m sw e bs e r v i c e i sas u c c e s s f u l i m p l e m e n t a t i o no fs o aw h i c hg r e a t l ys t i m u l a t e st h ep o p u l a r i t yo fs o a t 2 引 f l e x i b l eb u s i n e s sp r o c e s si si m p o r t a n tt oe n t e r p r i s eb e c a u s ei tc a ns a t i s f yc u s t o m e r s c h a n g e a b l er e q u i r e m e n t sa n dm a k ee n t e r p r i s em o r ec o m p e t i t i v e l 2 9 1 i ns o a ,s e r v i c e sm a pt o t h eb u s i n e s sf u n c t i o n st h a ta r ei d e n t i f i e dd u r i n gb u s i n e s sp r o c e s sa n a l y s i s b u s i n e s sp r o c e s s a n a l y s i sa n ds e r v i c ed e f i n i t i o ni sak e yf a c t o ri ns o a p u b l i cu t i l i t i e si n d u s t r yn e e d st om a k eu s eo fs e r v i c e o r i e n t e da r c h i t e c t u r e ( s o a ) a p p l i c a t i o n sa n dt or e d u c et h ec o m p l e x i t yo fi te n v i r o n m e n t ,a n dp r o m o t et h ed e v e l o p m e n to f m o d u l a rb u s i n e s ss e r v i c e s a n de a s yi n t e g r a t i o no ft h e s es e r v i c e sa n dr e u s e 3 0 t t h i sa r t i c l ei sb a s e do ns c i e n c ea n dt e c h n o l o g yr e s e a r c ha n dd e v e l o p m e n to fm a m b o ,” i n t e g r a t i v e p u b l i cu t i l i t i e s s y s t e m ( i p u s ) ,b a s e do nm a r k e t - o r i e n t e dr e s p o n s e t ot h e i n c r e a s i n gl e v e l so fp u b l i cu t i l i t i e st oe n h a n c et h es i t u a t i o no fe n t e r p r i s e so fp u b l i cu t i l i t i e s ( g a s ,w a t e r , e l e c t r i c i t y , e t c ) t ob e t t e rm a n a g ea ni n t e g r a t e ds y s t e ma n do p e r a t i o n f 2 6 j ,w h i c h a b s t r a c tt h ec o m m o np a r t so fs o m ed e r i v a t i v e sf o rt h es e r v i c e s ,p r a c t i c eh a sp r o v e dt h a t s e r v i c e o r i e n t e da p p l i c a t i o nd e v e l o p m e n ti sm o r ef l e x i b l ea n dc a nb e t t e rm e e tt h en e e d so f u s e r s k e y w o r d s :s e r v i c e o r i e n t e da r c h i t e c t u r e ;w e bs e r v i c e ;i n t e g r a t i v ep u b l i cu t i l i t i e ss y s t e m - u - 独创性声明 本人郑重声明:所提交的学位论文是本人在导师指导下独立进行研究 工作所取得的成果。据我所知,除了特别加以标注和致谢的地方外,论文 中不包含其他人已经发表或撰写过的研究成果。对本人的研究做出重要贡 献的个人和集体,均已在文中作了明确的说明。本声明的法律结果由本人 承担。 学位论文作者签名:聿壶遮之鸯日期:鲨i :垒:皇 学位论文使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位论文的规 定,即:东北师范大学有权保留并向国家有关部门或机构送交学位论文的 复印件和电子版,允许论文被查阅和借阅。本人授权东北师范大学可以将 学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或其它复制手段保存、汇编本学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:在互竖寥可 指导教师签名: e l 期:业罗 e t期: 学位论文作者毕业后去向: 工作单位: 通讯地址: 电话: 邮编: 东北师范大学硕士学位论文 第一章绪论 1 1 概述 面对知识经济的迅猛发展和经济全球化的挑战,党和国家做出了“以信息化带动工 业化,积极推进信息技术在各行各业的广泛应用的重大决策。当前,中国企业的信息化 意识也明显提高,信息化进程正在加快,企业信息化工作在提高生产率和企业竞争力方面 正在形成巨大的潜力。中国企业信息化建设大致可分为两种模式:一种是具有宏观管理背 景的“自上而下”模式,例如烟草业、电信业和银行业信息化建设等【l2 1 。这些企业在系统 建设之初,无法对未来可能发生的变化做出清晰的预见和准备,因此系统建设时特别强调 l t 系统的稳定性与一致性,系统缺乏柔性和适用性,面对日益频繁而又深刻的业务变化, 其应变能力不免捉襟见肘;另一种是“自下而上 的模式。在一个企业内部,多种系统、 多个应用并存。“一个部门一个服务器 的现象比比皆是,企业数据的一致性无法保证, 信息及时共享、反馈难。这已经成为阻碍企业信息化建设进步发展的最大障碍。 要彻底解决上述问题,企业就必须建立个灵活的、快速响应的客户支持基础架构, 它可以包容现有的应用并满足未来的客户需求和业务需求。与其他企业信息架构方法相 比,面向服务的企业信息架构( s o a s e i c e o r i e n t e da r c h i t e c t u r e ) f i e 让企业信息系统 变得更有弹性,能更快地响应业务需求,从而实现更好的业务灵活性,使企业能够对快速的 变化做出有效的响应,并利用变化来获得竞争优势。 1 2 本文研究的背景、目的和意义 本课题是一个以服务概念为核心的架构方式,用来设计、构建、管理分布式的计算 基础设施,支持企业执行其业务战略最终达到业务目标;这种架构倡导建设基于标准的、 具有良好规范定义的、松耦合的、可重用的服务,从而使这些服务可以被独立的用户发 现和使用。进而使组织把业务和l t 服务融合到一起,并且在一个高度分布和动态变化 的业务环境中保证稳定性、安全性和可管理性。 面向服务的真正价值来源于业务和i t 的整合,而不是技术本身。本课题的好处在 于,通过服务的重用以及供应商无关性来减少成本;通过对i t 系统实施简单的修改来 满足业务不断变化的需求,从而提高企业的适应性;通过将面向功能的开发转变为面向 业务的丌发来提高i t 系统的实施效率;进而可建立i t 和业务需求的紧密连接,提高业 务流程的可见性:专注于简单化和模块化从而大大减少开发成本;可以在完成具体的业 务流程定义之前进行相关l t 服务开发。 公用事业行业以其不可替代性和其行业的特殊性在社会上占着举足轻重的地位,原 有陈旧的管理和服务系统已经日渐不能满足行业的需求,并且成为了限制其发展的瓶 颈。所以针对公用事业行业陈旧系统的种种弊端,迫切的需要开发出种,一套,乃至 东北师范大学硕士学位论文 一系列智能化,可拓展化的框架或者应用软件【3 1 。曼博科技公司的i p u s 综合系统就是 在这种背景下应运而生的! 通过针对公用事业行业的特点和环境,提供了一套方便,快 捷,安全,高效的服务机制,并且把公用事业各行业中某些公用的服务抽取出来,制定 为标准服务。为行业间的拓展和升级提供良好的接口和重用。提高了模式普及的速度和 效率【”j 。 使面向服务的丌发模式在公用事业应用开发的大环境下能够推陈出新。从而代替原 有的种种系统,使公用事业的管理和操作更为人性化和智能化。同时在开发的过程中亦 可以对i p u s 系统进行丰富和完善。从而使各服务之间的动态组合更为方便和实用。 1 3 本文组织结构 本文由所参与研究的i p u s 项目为出发点,基于s o a 架构,并且采用了w e bs e r v i c e s 技术。结合公用事业行业的特点,有针对性的提出和设计了一些标准的服务。 本文主要分为六个部分: 第一章:绪论。介绍了本文研究的背景,目的和意义,分析了面向服务体系结构的 产生和发展现状。 第二章:相关理论与技术。介绍了s o a 与w e bs e r v i c e s 的基础知识和关键技术。 第三章:面向服务的软件架构设计。阐述面向服务的应用开发设计原理。并且阐述 了面向服务的几种设计方法。 第四章,第五章:着重探讨以s o a 为架构,w e b 服务为技术支撑,并结合曼博科技 公司设计的公用事业综合系统i p u s 项目,针对公用事业行业中的具体业务给出一些初 步的服务方案和设计方法。 第六章:总结与展望。对全文进行总结,并提出下一步还要做的工作。 2 东北师范大学硕士学位论文 第二章相关理论与技术 2 1 无线传感器网络 半导体技术、无线通信技术以及微机电系统的集成高速发展孕育了一种新的信息获 取和处理方式无线传感器网络f 1 1 ,无线传感器网络是由随机分布的集成有传感器、 数据处理单元和通信模块的微小节点通过自组织的方式构成的网络。并且借助于节点中 内置的形式多样的传感器测量所在周边环境中的各种信号。 图2 1 无线传感器网络示意图 2 2 面向服务架构s o a 2 2 1 面向服务架构的概述 面向服务的架构是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应 用组件进行分布式部署、组合和使用。服务层是面向服务的架构的基础,可以直接被应 用调用,从而有效控制系统中与软件代理交互的人为依赖性。面向服务的架构并不是一 种现成的技术,而是一种架构和组织i t 基础结构及业务功能的方法。面向服务的架构 是一种在计算环境中设计、开发、部署和管理离散逻辑单元( 服务) 的模型1 4 1 。这一定义 阐明了面向服务的架构的范围。 面向服务的架构要求开发人员将应用设计为服务的集合,它要求开发人员跳出应用 本身进行思考,考虑现有服务的重用,或思索他们的服务如何能够被其他项目重用。单 独的、独立的、封装完善的服务所具有的一个关键的好处是,可以采用多种不同方法将 它们组合成较大型的服务,由此来实现重用。 监是面向服务的架构差不仅仅是= 弛开发方法一它还具有管理上的优点。例如, 现在管理员可直接管理开发人员所构建的相同服务,这远胜于以往管理单个应用的方 东北师范大学硕士学位论文 式。通过分析服务问的交互,面向服务的架构可以帮助企业了解何时以及为什么业务逻 辑被切实执行了,这使管理员或分析师能够有针对性的优化业务流程。 面向服务的架构本身就是一种面向企业级服务的系统架构,简单来说,面向服务的 架构就是一种进行系统丌发的新的体系架构,在基于面向服务的架构系统中,具体应用 程序的功能是由一些松耦合并且具有统一接口定义方式的组件( 也就是服务) 组合构建起 来的。因此,基于面向服务的架构也一定是从企业的具体需求开始构建的。但是,面向 服务的架构和其它企业架构的不同之处就在于面向服务的架构提供的业务灵活性。业务 灵活性是指企业能对业务变更快速和有效地进行响应、并且利用业务变更来得到竞争优 势的能力。对企业级架构设计师来说,创建个业务灵活的架构意味着创建一个可以满 足当前还未知的业务需求的i t 架构【5 1 。 面向服务的体系结构提供了一种方法,通过这种方法,可以构建分布式系统来将应 用程序功能作为服务提供给终端用户应用程序或其他服务。其组成元素可以分成功能元 素和服务质量元素。图展示了体系结构堆栈以及在一个面向服务的体系结构可能观察到 的元素。 图2 2 面向服务的架构体系结构图 体系结构堆栈分成两半,左边的一半集中于体系结构的功能性方面,而右边的一半 集中于体系结构的服务质量方面。这些元素详细描述如下: 功能性方面包括: 1 传输是一种机制,用于将来自服务使用者的服务请求传送给服务提供者,并且将来 自服务提供者的相应传送给服务提供者。 2 服务通信协议是一种经过协商的机制,通过这种机制,服务提供者和服务使用者可 以就将要请求的内容和将要返回的内容进行沟通。 3 服务描述是一种经过协商的模式,用于描述服务是什么,应该如何调用服务以及成 4 东北币范大学硕士学位论文 功地调用服务需要什么数据。 4 服务描述实际可供使用的服务。 5 。业务流程是一个服务的集合,可以按照特定的顺序并使用组特定的规则进行调用, 以满足业务要求。注意,可以讲业务流程本身看作是服务,这样就产生了业务流程 可以由不同粒度的服务组成的观念。 6 服务注册中心是一个服务和数掘描述的存储库,服务提供者可以通过服务注册中心 发布它们的服务,而服务使用者可以通过服务注册中心发现或查找可用的服务,服 务注册中心可以给需要集中式存储库的服务提供其他的功能。 服务质量方面包括: 1 策略是一组条件和规则,在这些条件和规则之下,服务提供者可以使服务可用于使 用者,策略既有功能性方面,也有与服务资源有关的方面;因此,我们在功能和服 务资粮两个区中都有策略服务。 2 安全性是规则集,可以应用于调用服务的服务使用者的身份验证,授权和访问控制。 3 事物是属性集,可以应用于一组服务,以提供一致的结构。例如,如果要使用一组 服务来完成一项业务功能,则所有的服务必须都完成,或者没有个完成。 2 2 2 面向服务架构的特征 1 服务的封装( e n c a p s u l a t i o n ) ,把服务封装成可以被不同业务流程重复使用的业务组 件。它隐藏所有实现细节,不管服务内部如何修改,使用什么平台、什么语言,只 要保持接口不变,就不会影响最终用户的使用。 2 服务的重用( r e u s e ) ,一个服务是一个独立的实体,与底层实现和用户的需求完全 无关,极大的方便了服务的重复使用,从而降低了开发成本。 3 服务间的互操作( i n t e r o p e r a b i l i t y ) ,服务之间通过既定协议采用同步或异步方式通 信。 4 服务是自治的( a u t o n o m o u s ) 实体,即服务自身是完全独立的自包含的模块化的。 5 服务的松耦合度( l o o s e l yc o u p l e d ) ,即服务请求者和服务提供者之间只有接口上的 往来,至于服务内部如何更改,如何实现都与服务请求者无关。 6 服务是位置透明的( l o c a t i o nt r a n s p a r e n c y ) ,即服务请求者不需要知道服务的具体 位置及是哪一个服务响应了自己的请求,服务请求者关心的是使用一个服务完成了 自己要处理的工作就可以了。 2 2 3 面向服务架构的参考模型( s o a r m ) s o a 正在发展成熟阶段。各个商家都在根据自己的设想利用x m lw e bs e r v i c e 及相 关基本成熟的技术开发类s o a 系统。没有标准不利子i t 业的长期发展,为了统一标准, 必须提出一套公认的s o a 参考模型。有了这个参考模型,我们就可以有利于实施具体 s o 蔚一就有一种具体的思考方法r 有利于重复利用;最重要的是帮助我们把现有的标准 应用与自己的架构当中,而不必考虑过多细节。关于s o a r m 的观点很多,在这里给 s 东j l - i j i l i 范大学硕士学位论文 出一个国际组织o a s i s 草拟了一套s o a 参考模型: 图2 3 面向服务架构的参考模型 说明: 1 服务( s e r v i c e ) ,服务提供者提供的一个行为或行为集合供其它实体使用。 2 服务描述( s e r v i c ed e s c r i p t i o n ) ,必要信息的说明:服务消费者可以判断该服务是否 可用:方便服务消费者调用。 3 广播( a d v e r t i s e m e n t ) ,在特定环境传递已有服务给服务消费者的一种方法。使服务 被发现成为可能。 4 数据模型( d a t am o d e l ) ,一组与服务消费相关的信息逻辑表达式。 5 策略( p o l i c y ) ,一个专为服务描述策略提供的安全机制,服务策略强制要求满足服 务安全要求,否则,服务间的交互将被拒绝。 6 契约( c o n t r a c t ) ,从语法上,语义上,逻辑上强制管理服务的使用。 2 2 4 面向服务架构给企业级软件架构设计带来的好处 企业j 下在处理两个问题:迅速地改变的能力和降低成本的要求。为了保持竞争力,企 业必须快速地适应内部因素( 如兼并和重组) 或外部因素( 如竞争能力和顾客要求) 。需要 经济而灵活的i t 基础设施来支持企业1 6 i 。 我们可以认识到,采用面向服务的体系结构将给我们带来几方面的好处,有助于我 们在今天这个动荡的商业环境中取得成功: 1 利用现有的资产。面向服务的架构提供了一个抽象层,通过这个抽象层,企业可以 继续利用它在i t 方面的投资,方法是将这些现有的资产包装成提供企业功能的服 务。组织可以继续从现有的资源中获取价值,而不必重新从头开始构建。 2 更易于集成和管理复杂性。在面向服务的体系结构中,集成点是规范而不是实现。 这提供了实现透明性,并将基础设施和实现发生的改变所带来的影响降到最低限度。 通过提供针对基于完全不同的系统构建的现有资源和资产的服务规范,集成变得更 6 东北师范大学硕士学位论文 加易于管理,因为复杂性是隔离的。当更多的企业一起协作提供价值链时,这会变 得更加重要。 3 更快的响应和上市速度。从现有的服务中组合新的服务的能力为需要灵活地响应苛 刻的商业要求的组织提供了独特的优势。通过利用现有的组件和服务,可以减少完 成软件开发生命周期( 包括收集需求、进行设计、开发和测试) 所需的时间。这使得 可以快速地开发新的业务服务,并允许组织迅速地对改变做出响应和减少上市准备 时间。 4 减少成本和增加重用。通过以松散耦合的方式公开的业务服务,企业可以根据业务 要求更轻松地使用和组合服务。这意味资源副本的减少、以及重用降低成本的可能 性的增加。 5 说到做到:通过面向服务的架构,企业可以未雨绸缪,为未来做好充分的准备。面向 服务的架构业务流程是由一系列业务服务组成的,可以更轻松地创建、修改和管理 它来满足不同时期的需要。 面向服务的架构提供了灵活性和响应能力,这对于企业的生存和发展来说是至关重 要的。但是面向服务的体系结构决不是灵丹妙药,而迁移到面向服务的架构也并非一件 可以轻而易举就完成的事情。我们推荐的方法是,在业务要求出现或露出苗头时迁移企 业功能的适当部分。 2 3w e b s e r v i c e w e b 服务已经成了人们当前讨论的技术热点,并经常将其与面向服务的架构相提并 论。w e b 服务并不等于面向服务的架构,而是实践所证明的面向服务的架构的一种最佳 实现途径【2 1 。 使用w e b 服务技术,应用程序可以通过与平台和编程语言无关的方式相互通信。 w e b 服务是一个软件接口,它描述了一组可以在网络上通过标准化的x m l 消息传递访 问的操作。它使用基于x m l 语言的协议来描述要执行的操作或者要与另一个w e b 服务 交换的数据。在面向服务的体系结构中,一组以这种方式交互的w e b 服务定义了特定 的w e b 服务应用程序。 软件业最终会接受这样的事实:跨多个操作系统、编程语言和硬件平台集成软件应用 程序不可能由任何一种专门的环境来解决。传统上,这个问题一直是一个紧耦合问题, 调用远程网络的应用程序通过自己发出的函数调用和请求的参数与远程网络紧密地联 系在一起。在w e b 服务出现之前,在大多数系统上,采用的是固定的接口,但对于不 断变化的环境或需求,这样做缺乏灵活性或适用性【引。 w e b 服务所使用的x m l 可以用真正与平台无关的方式来描述任何数据,以跨系统 交换数据,因此转向了松耦合应用程序。而且,w e b 服务可以在较抽象的层面上工作, 较抽象层面可以按照需要动念地重新评估、修改或处理数据类型。所以,从技术层面上 讲,w e b 服务可以更方便地处理数据,并且允许软件更自由地进行通信。 7 东北师范大学硕士学位论文 从更高的概念层面上讲,我们可以将w e b 服务视为一些工作单元,每个单元处理 特定的功能任务。再往上一步,可以将这些任务组合成面向业务的任务,以处理特定的 业务操作任务,从而使非技术人员可以考虑一些应用程序,这些应用程序能够在w e b 服务应用程序工作流中一起处理业务问题。因此,一旦由技术人员设计并构建好w e b 服务之后,业务流程架构师就可以聚集这些w e b 服务来解决业务层面上的问题。这里 借用汽车引擎来做类比,业务流程架构师考虑将整个汽车引擎与汽车框架、车身、变速 器和其他系统组合在一起,而不是研究每个引擎内的各个部件。而且,动态平台意味着 引擎可以与其他汽车制造商的变速器或部件一起工作。 最后一个方面是,w e b 服务有助于在组织内的业务人员和技术人员之间架起一座桥 梁。w e b 服务使业务人员更容易理解一些技术上的操作。业务人员可以描述一些事件和 活动,然后技术人员可以将这些事件和活动与相应的服务相关联。 有了通用定义的接口和设计良好的任务,重用这些任务就变得更容易了,因而重用 这些任务所代表的应用程序也就变得容易了。应用程序软件的可重用性意味着在软件上 的投资有了更好的回报,因为可以从同一资源产生更多收益。可重用性使业务人员可以 考虑以一种新的方式来使用现有的应用程序,或者以一种新的方式将应用程序提供给合 作伙伴,因此可能增加合作伙伴间的业务交易。 所以,w e b 服务试图解决的主要问题是数据和应用程序集成的问题,以及将技术性 的功能转换为面向业务的计算任务的问题。这两个方面使企业可以就流程或应用程序层 面与他们的合作伙伴进行交流,同时为适应新形势或按照需要与不同合作伙伴进行合作 留有动态的余地。 图2 4w e b 服务模型图 以下几点是构成w e b 服务的核心技术 1 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) :即可扩展标记语言,是w 曲服务规范中使 用最多的标记语言,能够结构化的描述任何格式的内容p 1 。 2 x s d ( x m ls c h e m a sd e f i n i t i o nl a n g u a g e ) - x s d 也是由万维网协会( w 3 c ) 创建的, 8 东北师范大学硕士学位论文 它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型,是w e b s e r v i c e 平台中的数据类型系统。因此,任何语言编写的w e bs e r v i c e ,其使用的数 据类型都必须转换成x s d 类型。这样,再用s o a p ( s i m p l e0 b j e c ta c c e s sp r o t o c 0 1 ) 协议包装后,就可以在不同平台或软件的不同组织间任意传递使用。 3 s o a p ( s e r v i c e o r i e n t e da r c h i t e c t u r ep r o t o c 0 1 ) :简单对象访问协议,是w e b 服务的 消息传递协议,此协议对消息进行了编码,这样就可以通过传输协议( 如h 1 v r p 、 s m t p 或其他协议) 在网络上传递它们。 4 w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ):w e b 服务描述,是一种x m l 文档, 它将w e b 服务描述为组端点,这些端点会处理包含面向文档或面向过程的( r p c ) 消息的消息操作和消息都是被抽象描述的,然后它们会被绑定到一个具体的网络协 议和消息格式,用来定义端点。相关的具体端点被合并到抽象的端点或服务中。 w s d l 可以扩展为允许端点和其消息的描述,不管使用哪种消息格式或网络协议进 行通讯都可以。然而,目前经过描述的绑定只能用于s o a p l 1 、h t t pp o s t 以及 多用途因特网邮件扩展( m u l t i p u r p o s e i n t e r a c tm a i l e x t e n s i o n s ,m i m e ) 。 5 u d d i ( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ) :通用描述、发现和集成, 既是服务客户端的a p i ,也是基于简单对象访问协议的服务端实现,可以用来往服 务提供者或者w e b 服务储存或者读取信息。 图2 5 描述了w e bs e r v i c e 涉及到的标准以及这些标准的作用 2 3 1 简单对象访问协议 s i m p l eo b j e c ta c c e s sp r o t o c o l ( s o a p ) ,即简单对象访访问协议,是一种标准化的通 讯规范【7 l 。s o a p 是一种简单的、轻量级的基于x m l 的机制,用于在网络应用程序之问 进行结构化数据交换。s o a p 包括三部分:一个定义描述消息内容的框架的信封、一组表 示应用程序定义的数据类型实例的编码规则,以及表示远程过程调用和响应的约定。 2 3 1 1 样式和编码 有两种不同的主流s o a 消息编程样式。第一种是k p c 样式,基于使用s o a p 消息 创建远程过程调用( r e m o t ep r o c e d u r ec a l l ) 的概念。第二种是d o c u m e n t 样式。同时也 9 东北师范大学硕士学位论文 有两种不同的编码格式,e n c o d e d 和l i t e r a l ,从理论上说,两种样式和编码之间可以随意 组合使用,但常用的只有三种组合,目前还没有人用d o c u m e n t e n c o d e d 样式。 1 r p c l i t e r a l ,数据作为s o a p 体的内容,并在应用服务器对消息进行路由的信息中 包含有关其所属的过程和函数的信息。 2 r p c e n c o d e d ,消息中包含了类型信息。 3 d o c u m e n t l i t e r a l 样式,即将相应的数据直接添加到消息中,消息本身并不包含有关 数据所提交到的进程的信息,此工作由路由软件进行。例如,所有对特定u r l 或端 点的调用都有可能指向特定的操作。 2 3 1 2 消息交换模式 发送消息,有很多选择,可以发送请求并等待响应,发送请求但不等待响应,发送 请求并在到达最终的目的地前通过多个中间层。但就实质而言,只有两个选择: 1 请求响应:在请求响应模式种,以s o a p 消息的形式发送请求,然后直接等待发送 回响应。请求可以为同步的,也可以是异步的。 2 单向消息传递:这种情况也称为“f i r ea n df o r g e t ”方法,发送请求但并不等待响应。 可以在仅传递信息时或并不关心接收者对此如何响应时使用此方法。 2 3 2w e b 服务描述语言 w s d l ,即w e b 服务描述语言,是用x m l 文档来描述w e b 服务的标准,是服务的 接口定义语言,通过w s d l ,可描述w e b 服务的三个基本属性: 1 服务的名字及协议相关的地址,如u r l 。 2 服务所提供的方法,方法的参数及参数的数据类型。 3 和服务交互的数据格式以及相关协议。 w s d l 文档以端口集合的形式来描述w e b 服务,w s d l 服务描述包括对一作和消 息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个的一个网络端点规 范。w s d l 文档被分为两种类型:服务接口和服务实现,基本架构框架如下: 1 类型( t y p e s ) :定义了w e b 服务使用的所有数据类型集合,可被元素的各消息部件所引 用。它使用某种类型系统( 一般地使用x m ls c h e m a 中的类型系统) 。 2 消息( m e s s a g e ) :通信消息数据结构的抽象类型化定义。使用t y p e s 所定义的类型来定 义整个消息的数据结构。 3 操作( o p e r a t i o n ) :对服务中所支持操作的抽象描述。一般单个o p e r a t i o n 描述了一个访 问入口的请求响应消息对。 4 端口类型( p o r f f y p e ) :对于某个访问入口点类型所支持操作的抽象集合。这些操作可以 由一个或多个服务访问点来支持。 5 绑定( b i n d i n g ) :包含了如何将抽象接口的元素( p o r t t y p e ) 转变为具体表示的细节,具体 表示也就是指特定的数据格式和协议的结合;特定端口类型的具体协议和数据格式 规范的绑定。 6 端口( p o r t ) :定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务访问点。 l n 东北师范大学硕士学位论文 7 服务( s e r v i c e ) :这是一个粗糙命名的元素,代表端口的集合;相关服务访问点的集合。 可见,端i s i 类型( 与消息和类型元素的细节相结合) 描述了w e b 服务是什么,绑定元素描 述了如何使用w e b 服务,端口及服务元素描述了w e b 服务的位置。 2 3 3 统一描述、发现和集成 u d d i 是统一描述、发现和集成( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r y ,a n di n t e g r a t i o n ) 的缩写。它是一个基于x m l 的跨平台的描述规范,可以使世界范围内的企业在互联网 上发布自己所提供的服务。 u d d i 是o a s i s 发起的一个开放项目,它使企业在互联网上可以互相发现且定义业 务之间的交互。u d d i 业务注册包括三个组件: 1 白页:有关企业的基本信息,如地址、联系方式以及己知的标识; 2 黄页:基于标准分类的目录: 3 绿页:与服务相关联的绑定信息,及指向这些服务所实现的技术规范的引用 u d d i 是核心的w e b 服务标准之一。它通过简单对象存取协议进行消息传输 用w e b 服务描述语言描述w e b 服务及其接口使用。 2 4 面向服务架构与w e bs e r v i o e 的关系 w e bs e r v i c e 是目前最适合实现s o a 的一些技术的集合。事实上,最近s o a 的火 爆在很大程度上归功于w e bs e r v i c e 标准的成熟和应用的普及为广泛的实现s o a 架构提 供了基础。用w e b 服务来实现s o a 的好处是可以实现一个中立平台来获得服务,而且 随着越来越多的软件商支持越来越多的w e b 服务规范,会取得更好的通用性。w e b s e r v i c e 中各种协议互相工作来满足s o a 所需的特点,具体如下: 独立的功能实体:通过u d d i 的目录查找,可以动态改变一个服务的提供方而无需 影响客户端的应用程序配置。所有的访问都通过s o a p 访问进行,只要w s d l 接口封 装良好,外界客户端是根本没有办法直接访问服务器端的数据。 大数掘量低频率访问:通过使用w s d l 和基于文本的s o a p 请求,可以实现能一 次性接收大量数据的接口【1 0 l 。 基于文本的消息传递:w e bs e r v i c e 所有的通讯是通过s o a p 进行的,而s o a p 是 基于x m l 的,不同版本之间可以使用不同的d t d 或者x m ls c h e m a 加以辨别和区分。 因此只需要为不同的版本提供不同的处理就可以轻松实现版本控制的目标。 东北师范大学硕士学位论文 第三章面向服务的软件架构设计 3 1 面向对象的软件分析与设计 面向对象是近2 0 年来国内外i t 行业最为关注的技术之一,面向对象技术是一种按 照人们对现实世界习惯的认识论和思维方式来研究和模拟客观世界的方法学。它将现实 世界中的任何事物都视为“对象。将客观世界看成是由许多不同种类的对象构成的, 每一个对象都有自己的内部状态和运动规律,不同对象之间的相互联系和相互作用就构 成了完整的客观世界。面向对象方法克服了传统的功能分解方法只能单纯反映管理功能 的结构状态、数据流程模型只侧重反映事物的信息特征和流程、信息模拟只能被动地迎 合实际问题需要等缺点,构成以系统对象为研究中心,为信息管理系统的分析与设计提 供了一种全新的方法i 1 。 面向对象的分析与设计的一些基本原则: 1 封装:软件对象就是包含模拟真实世界的对象的物理属性( 数据) 和功能( 行为) 的离散 包。例如,帐户对象保持收支平衡并且包含平衡中的借贷机制。 2 信息隐藏:结构良好的对象有简单的接口,并且不向外界显漏任何内部机制。真实世 界信息隐藏的例子是,您不需要详细了解汽车的工作原理就能够驾驶它。 3 类和实例:类是定义特定类型的软件对象具有什么类型的属性和行为的模板,而实例 是具有这些属性值的个别对象。创建类的新实例称为实例化。 4 关联和继承:在面向对象中,表达类和对象之间的关联的能力是一个关键的概念,继 承是关联的强形式,用于表达有关系。我们常常发现软件对象的自然层次。 5 消息传递:为了完成一些有用的工作,软件对象需要相互通信。它们通过相互发送消 息来这样做。 6 多念:这个术语描述两个或两个以上的类接受相同的消息但是以不同的方式进行实 现的情况。 7 低耦合,高内聚:在面向对象分析与设计中,对象是最基本的模块,因此,耦合主要 指不同对象之问相互关联的紧密程度。低耦合是设计的一个重要标准,因为这有助 于使系统中的某一部分的变化对其他部分的影响降到最低程度。内聚是度量一个类 独立完成某项工作的能力。内聚度越高,则耦合度越低。 面向对象支持应用程序分析、设计和开发的完整生命周期: 1 面向对象的分析与设计试图找到最优的对象和最自然的类继承来实现它们。 2 面向对象开发集中于应用程序的渐进式开发,每次实现一个业务场景。像i b m w e b s p h e r es t u d i oa p p l i c a t i o nd e v e l o p e r 这样的工具有助于开发人员快速地构造和测 试面向对象应用程序。 1 2 东北师范大学硕士学位论文 3 面向对象运行时环境,例如由j a v a 虚拟机提供的,提供应用程序服务( 如垃圾收集( 删 除因使用它们的对象已经被丢弃而不再使用的资源) ) 以及框架( 如j 2 e e ) 来为驻留在 不同的服务器上的对象提供相互通信的机制。 目前与面向服务有关的面向对象的设计实践的主要问题在于,它的粒度级别集中在 类级,对于业务服务建模来说,这样的抽象级别太低了。诸如继承这样的强关联产生了 相关方之间一定程度的紧耦合( 因而具有依赖性) 。与此相反,面向服务范式试图通过松 耦合来促进灵活性和敏捷性。目前,在面向服务的架构中还没有服务实例的跨平台继承 支持和一流的表示法来避免需要处理服务生命周期维护管理问题( 如远程垃圾收集) 。 这些考虑事项使面向对象难以与面向服务体系结构样式直接保持致。然而,对于 设计已定义的服务中的底层类和组件结构,面向对象仍然是种有价值的方法。此外, 许多o o a d 技术( 例如类、责任、协作( c r c ) 卡) 也可以用于服务建模。 3 2 面向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河北佳慧电通科技有限公司招聘1人笔试参考题库附带答案详解
- 电大会计专业毕业论文题
- 邛崃中考真题数学试卷
- 2025中铁一局集团建筑安装工程有限公司招聘2人(设计运营管理)笔试参考题库附带答案详解
- 本科毕业论文答辩衣服
- 数学专业毕业论文建模题
- 2025年度高端公寓租赁及绿色物业管理合作协议
- 2025年度药品研发企业临床研究药品采购合同及伦理审查执行标准
- 2025年度车辆共享与品牌形象广告投放合作协议
- 2025年学生自主实习就业指导与就业保障服务合同
- 水质分析 题库及答案
- 2025年小学英语教师业务理论考试试题及答案
- 2025至2030中国基因分析服务行业项目调研及市场前景预测评估报告
- 2025-2030中国消费电子产业创新趋势及市场需求与投资回报分析报告
- 2025年广东省中考物理真题(含答案解析)
- 四川省自贡市2024-2025学年八年级下学期期末物理试题(含答案)
- 2025年土木工程建筑技能考试-工程造价技能大赛历年参考题库含答案解析(5套典型题)
- 公安行政案件办理务实课件
- 2025年初中物理教师教材教法考试测试卷及参考答案(共三套)
- 2025年有限空间作业专项安全培训试题及答案
- 基于人工智能的产前诊断技术应用探索-洞察及研究
评论
0/150
提交评论