已阅读5页,还剩60页未读, 继续免费阅读
(计算机科学与技术专业论文)基于soa的web应用系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于s 触的w e b 应用系统的研究与实现 摘要 s o b 对现代软 牛开发模式产生了深远戆影响,它遥避服务钓发森、发现以及 绑定等规划为其健驰嶷耀释黟提供服务。s o a 其有松散藕合、租粒度、互操俸性 等优煮。透过采粥s o a 浆构的设计思路,可以最大程度地减少系统间的粮食,提 高可熏用性;阂此能蟛较好的整合遗强 系统,提离了暴绞的灵活性细田扩熙性。 s o a 架构下的w e b 系统使 孽客户端可以通过标准化的w e bs e r v i c e s 接口的 弓l 用来获褥业务逻辑;使得系统觞鼗务逻辑胃戳完全跌第三方提供的服务或者服 务缎合来实现,极大氇掇高系统的开发效率。 本文酋先介绍了s o a 的概念、特征、优点、设计骧理及其实现技术等,较淹 深入地讨论了w e b 服务的实现、发移秘绑定过程。其次,对c s 、多层体系结构 黪w e b 应用系统及綦予s o a 的w e b 或嗣系统迸行了分祈和研究,并提出了一种基 予$ o a 酌礴上评审系统的系统架构。最后本文分析了安徽雀良然科学基衾管理 现状,成功地实现了“安徽省自然科学基金鼹上评审管理系统”的矮秘申搬服务、 项耳评审服务、项基结题服务、系统管理、孀户管瑾服务等功艟模块。 关键词:s o a ,。n e t ,w e bs e r v i c e s ,w e b 应用系统 r e s e a r c ha n dr e a l i z a t i o no fw e ba p p l i c a t i o n s y s t e mb a s e d o ns o a a b s t r a c t s o a h a sb r o u g h tp r o f o u n di m p a c to nt h ed e v d o p i n gm o d u l eo f m o d e ms o f t w a r e , 鑫s 廷p r o v i d e ss e r v i c e sf o ro t h e ra p p h c a f i o np r o g r a m st h r o u g hm e c h a n i s m ss u c ha st h e p u b l i s h i n g ,f i n d i n ga n d t h eb i n d i n ge t c o fs e r v i c e s o ap o s s e s s e st h es o u n df e a t u m s s u c ha sb e i n gl o o s e n e dc o u p l i n g 。r o u g hg r a i n * s i z ea n dr e d o * o p e r a t i v ee t c t h r o u g h t h em e a n so ft h ed e s i g ns c h e m ea d o p t i n gt h es o af r a m e w o r k , t h ec o u p l i n ga m o n g s y s t e m sc a nb er e d u c e dt ot h em a x i m u me x t e n ta n dt h es o f t w a r er o u s i n gc a nb e i m p r o v e d ,t h e m f o r ot h er e m a i n i n gs y s t e mc a na c h i e v eab e t t e ri n t e g r a t i o nt ou p g r a d e i t sf l e x i b i l i t ya n d e x p a n d a b i l i t y t h ew e bs y s t e mu n d e rt h ef r a m e w o r ko fs o ae n a b l e st h eu s e re n dg a i nt h e b u s i n e s sl o g i ct h r o u g ht h ec i t a t i o no fs t a n d a r d i z e , dw | e bs e r v i c e si n t e r f a c e ;b e s i d e si t h e l p st h eb u s i n e s sl o g i co ft h es y s t e mt ob ec o m p l e t e l yr e a l i z e dt h r o u g he i t h e rt h e s e r v i c ef r o mt l l i r d - p a a yo rs e r v i c ec o m b i n a t i o n , t h u si m p r o v i n gt h es y s t e m d e v e l o p i n ge f f i c i e n c ys u b s t a n t i a l l y t h i sd i s s e r t a t i o nf i r s ti n t r o d u c e st h ec o n c e p t ,f e a t u r e ,m e r i t , d e s i g np r i n c i p l ea n d a p p h e dt e c h n o l o g yo fs o a a n dg o e sd e e pi n t ot h ed i s c u s s i o no nt h ec o u r s e s0 fw 曲 s e r v i c er e a l i z a t i o n , p u b l i s h i n ga n db i n d i n g 。s e c o n d a r yi tc a r r i e so u ta n a l y z i n ga n d s t u d y i n go ns u c hw 曲a p p l i c a t i o ns y s t e m se i t h e r 州t i lc s m u l t i - l a y e rs y s t e m s t r u c t u r eo rb a s e do ns o a , f u r t h e r m o r e 建s u g g e s t sas y s t e mf r a m e w o r kf o ro n - l i n e e v a l u a t i o ns y s t e mt h a ti sb a s e do ns o a t h ed i s s e r t a t i o nf i n a l l ya n a l y z e st h e m a n a g i n gs t a t u so fa n h u ip r o v i n c i a ln a t u r a ls c i e n c ef u n dt os u c c e s s f u l l ya c h i e v e t h ef u n c t i o n a lm o d u l e si n c l u d i n gp r o j e c ts u b m i s s i o ns e r v i c e ,p r o j e c ta p p r a i s i n g s e r v i c e , p r o j e c te s t a b l i s h m e n ts e r v i c e ,s y s t e mm a n a g e m e n ta n du s e rm a n a g e m e n t s e r v i c ee t c f o r 0 w l i n ea p p r a i s i n ga n dm a n a g e m e n ts y s t e mo fa n h u ip r o v i n c i a l n a t u r a is c i e n c ef u n d ” k e yw o r d s :s o a ,n e t ,w e bs e r v i c e s ,w e ba p p l i c a t i o ns y s t e m 论文插图清单 图2 1 街向服务的体系结构中的协作 图2 - 2 s o a d 及其组成部分:o o a d 、b m p 、e a 鼙2 3w e bs e r v i c e s 模螯 藩2 碡s o a p 消懋缝或 霭2 5 w e b $ e r v i 糖协议棱 图2 - 6 创建w e b s e r v i c e l 圜2 7 w e b s e w i c e l 鲍执行 图2 8 w s d l 文档 图3 1 三层c s 结构示懑图 图3 2 系统架构 图3 - 3 技术实现架构图 图3 4 系统应用逻辑架构图 图3 5 结构豳 阔3 - 6 技术实现架构图 图3 7 焉铡胬 图3 - 8 系统蘩本粲构图 隰令l 系统管理耀铡整 图争2 用户管理翅铡图 鞠4 - 3 系统屡次绥构图 圈4 4 系统用户繁理予模块耀侧鼹 圈4 - 5 新闻管理予模块顺序图 嘲4 - 6 用户信息管理予模块暇序圈 豳4 7 新闻信息龄理的相关抽象类闯的关系 胬耷8 用户注册的相关抽象类问的关系 圈4 - 9 用户信息查看的相关抽象类问的关系 醋4 - l o 用户信息修改的栩关抽象类间的关系 辫4 - l l 用户蠲令修改的褐关抽象类间的关系。 鼙毒1 1 2 用户箔意嗣豫的稻关抽象簇闯的关系 嚣4 - 1 3 w e b f o r m 受藩 蹙4 - 1 4 曩e u p l o a d a s p x 。e s 代码 鹫4 - 1 5 辫 牛上传 图4 1 6 附件上传继暴。6加好m话搪笳勰签嬲勰强鲤m耵髓柏艇雒鸵骐豁舔始卵船嘏鲫钳甜 独创性声龋 本人声明所垦交的学位论文是本人崧导魉摆导下避褥的研究工捧及取褥的研究残巢。据 我所知,除了稳鬟特剐船戳标注和致谢的遣方补,论文中不包含其他入已发表或撰写过的研 究成果也不包含为获得金魍王些盍囊或其他教育机构的学位或避书甄使用过的材料。与 我一同工佟静嚣惑对奉研究所馓的嚣献均邑在论文中作了鞠确的谎硝并表示谢意。 学位论文依者签名:签字日期:年月疆 学位论文版权使用授权书 本学位论文傺者完全了解佥l 王墼太堂有关僳留、使用学位论文的规定,商权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许谚文被豢阏和借阅。本人授权世 王些太堂可以将学经论文的垒都或都分离客编入存关数据痒避行检索,可敬采翊影印、缩 窜藏扫描等复制手段保存、汇编学位论文。 ( 保密的学位谂文在勰密屠适瘸本授权弗) 学位论文作者签名; 签字日期; 每月 e t 学位论文作者毕业羼去趣:台肥 互作单位: 通讯地址: 导师签 签字鑫期:器锌嗣? 舀 f 电话: 邮编; 致谢 酋毙,衷心的感谢我的导师李,妊科老好的悉,如指导。在研究生阶段的学习中, 李老,荸绘了我很多瓣关怀秘帮助,链悉,舀静指导让我受益瑟浅。在撰写毕业论文 期阀,李老师给我提供了大量积累资车乳这些资料对我所做课题开展有缀大的帮 助和病发,再一次感谢李心科老师。 感谢合肥工业大学研究生院及计算极与信息学院翡各位矮导帮老辉给予的 热心帮助和悉心教学,他 露传授给我的籍谈将诖我终身受鞠。 际静老师兰年来不辞辛劳缝为我们排课、联系老师、安排教室等,给大家御 造了良好的学习机会和学习环境,在此表示衷心的感谢。 感谢软传工程硕士班全体同学熬帮助,与健 f j 一起学习稻工作非常愉侠。 2 0 0 6 年5 月 4 4 论文的背景 第一章缝论 近年来,睫麓辩搜系绕信意纯建设豹雄进,各耱w e b 交精系统( 科技奖 威网上申报系统、科技成:聚推广管理系统、国孵科技会馋警理系统撩) 蛉应用, 实现了科技篱理正作的计算机网络化。但从总体看,各w e b 应用系统通常只 关注莱一部门、懿室攮务环节或管理功能,采用盼貅准也各不相同,整体集成 私协作程度不裹。各应用系绕壤互独发运磐。瑟显鬻常是餍不露静语言汗发簸 建立在不同的平螽之上,但是他们之间通倦有很多棚互交叉,甚至躯复的信患 和敷据。这造成了信息和数据的重复处理和更新不同步,甚至不一致。既浪费 资滚又不便予管邂,各系统之溺氇掖难避幸亍信惑共攀。由于传统的软件汗发所 使用的平台、舞发工具、操作系统在结构童匏紧粳会,跌致这些攮嚣上分散蠡冬 独窥系统逐渐形成了所谓的“信息孤岛”。为了更好的重用已有模块、加快软 件歼发速度,使这些重用可以不用考虑各囱运行平台和开发环境的差异,并使 被蓬溪瓣模淡胃漩方便速鸯滔系统纳入薪系统,鲡筒将这鍪碰溺系统有枫遣熬 合搀实现信息的共享觏交登,馒之成为一个裹效、翥、灵溪、嚣放斡系统。 因此,需要一种新的软件开发方法来达到以上目的。 跌软件发展变上来看己经经历了面向过程、面向对象和面向构件等几个阶 段。麦予嚣趣过程蹇发糕合嚣不逶合子较丈软镣系统浆开发,箍囱对象强能支 持阃种语言,露面向构传虽然能饿到梅传二进制级别共享但还是局双手特定串 台。因此。一种称为面向服务的体系结构( s e 州c e o r i e l 删a m h i t e c t u r e ) 的软 锌设计方法被提了出来 s l 2 s l ,它通遥发布可发现的接口为其他的应用程序提供 鼹务,嚣其中熬服务霉戮逶过瘸络进杼调麓。逶过采露s o a 框架,我雷j 可| ;盂 最大程度地减少系统阍的藕合,从两提袁霹重用性。当用w e bs e r v i c e s 技 术来实现面向服务的体系结构时,我们是煮一个强大、灵活的编程模型中创建 一种新酶掏建应焉程穿盼方式,这种构建方式降低了开发成本和实现风除。这 秘遥过黪服务波程亿黪维缎袭辫建分帮式系统豹方法既是体系络梅攘登,又是 编稷模型。怒目前考虑如何构建软件的一种滚行方式。 l 。2 论文瓣研究内容 面向服务的体系结构( 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 ) 是一个组件模 鍪,它将应瘸程痔蔚不丽功能单元( 称为服务) 通过这些服务之间定义良好酌 接懿程契约联系起来。接疆怒采熊中立酶方式遴行定义静,它庭该猿立予实现 服务的硬件平台、操作系统和编程语言。遮使得构建在器秘长样的系统中的服 务可以以一种统一和通用的方式进彳子交互。 这种其有中立的接口定义( 没有强翻绑定翔特定的实现t ) 的特鬣称为服 务之阕灼松耀会。松援会聚绞的好处有亵点,一点是它瓣灵活性;另一焘楚, 当组成整个应用程序的每个服务的内部续构和实现逐渐地发生改变时,它能够 继续存在。而与此相对,紧耦合意昧着应用程序的不同组件之间的接口与其功 憝稻缩摘蔗紧密福连豹,因两当需要对部分或藤伞成用稷序进行莱种形式的更 改时,它们就显褥 # 鬻脆弱。 虽然面向服务的体系结构不是一个新鲜事物,假它却是熨传统的面向对象 盼摸登的替代模穗,丽向对象的模型是紧藕合的,融经存在= 十多年了。虽然 基手s o a 麴系统并誉排除使用瑟巍对象鹣设诗来梅建革令藏务,但是其整体 设计却是面恕暇务的。由予它考虑到了系统内的对象,掰漩黢然s o a 是基于 对象的,但是作为一个整体,它却不是面向对觳的。 本文避行了穴量的学习、研究工作:( 1 ) 深入分析和研究了面向服务的体 系结构( s o a ) 露w 嚣转应蹋系绞,蘧解黎掌攫了魏何设诗帮宾凌萋予s o a 的 w e b 威用系统。( 2 ) 学习介绍了s o a 的实现技术# w e bs e r v i c e 技术,以及 用n e t 实现、发布及引用w e bs e r v i c e s 的方法。( 3 ) 学习、使用了u m l 这一霹视纯建模语言,通道实舔建模方便了对系统韵理解、设计、浏览、配鬣、 续护秘信患控铡。( 辱 壤据具体鹁设诗思路窝援翔,完全独立豹盛凌剥糟 a s p n e t 和a d o n e t 技术以及数据麾技术实现了一个谔审系统,并且戏 功运行。经过和游有相关程序的比较,本系统生要采用了基予s o a 的设计恩 葱,使系统其有耨维护和懿好静箨缩牲等特性。其体来讲,邵采用b s ( 浏览 器服务器) 三层结姆,以w i n d o w s 必系绞平台,以m i c r o s o f t n e t 挺粲戈帮 发平台,采用了u m l 建模,以c # 、n e t 、a s p n e t 为开发正具j 謦技术,设 计开发了基于s o a 的阿上评审管理系统。通过使用本系统能使评蚕集中或异 逮进行译窜王作,与传统静c s 黻及篱单游b s 模式的系统稻眈优势明显。 q 3 论文的课题来源 本论文受安徽誊耋患秘职诗赵( 矮嚣名稔:安徽省鑫然科学基盒瘸上串报 评审系统) 资助。 q 4 论文戆筑织缝梅 本论文比较系统的分析了s o a 。备章的内容安排如下: 第一章绪论:简单介绍了本论文的背景、论文的研究内容和论文的组织机 构。 2 第二章s o a :详细介绍了面向服务软件体系架构( s o a ) 的基本概念、 设计原理和实现技术w e bs e r v i c e ) 同时也给出了通过n e t 实现w e b 服务 极其发布和引用的完熬过程。 露三章基于s o a 瓣w e b 疲餍系统懿臻褒:硬究tc s 攘妓、多屡体系 缀擒豹w e b 应瑶系绫;基于s o a 静w e b 系统。司辩提爨了蒺予s o a 瓣 网上评审管理系统的架构。 第四章安徽省自然科学基金网上评审管理系统实现:以安徽衡墓点科研项 豳“安徽省自然科学熬金网上评审管理系统”为基础,详细介绍了如何构 建基于s o a 的网上详审管理系统,以及利用m i c r o s o f t n e t 实现相关应用 麓旋,著遽孬了鞠美遗容豹演示。 第五章总结与迸一步研究:对全文避锩总结,论述了论文啦所傲的工作, 以及今后需要进一步研究和完善的问题。 3 2 。 摄述 第二章s o a 嚣囱瓣务秘体系结擒( s e r v i c e - o r i e n t v d a t c 妊t c c t u t e ,s o a ) 嘲是个组稃 模型,它将应用瑕序的不同功能单元( 称为服务) ,通过服务之闽定义良好的 接翻翮契约联系越来。接翻是采用中立的方式进行定义的,它碰该独立于实现 服务的硬件平台、操作系统和缭程语畜。这使褥构建在各葶申这榉瓣系绞孛的暇 务蔚j 三i 以一种统一和通用的方式进行交互。 这秘炙商中立熊接翻定义删( 没鸯强到绑定刭特定戆实瑰上) 魏黪经称海 服务之间的松耦台。松藕合系统的好处有两点,一点是它的是活性,另一点是, 当缀戎整个应鼹程寒莪每令服务懿凑繇结拨释实聪逐渐蟪发生改交辩,它筢够 继续存在。丽另一方面,紧耦含意味糟应用程序的不同组件之间的接口与其功 戆秘猿梅是爨密耦连静,嚣孺姿需要对部分戏整个液需程序透静菜释形式静受 改时,它们就显得非常脆弱。对松藕合的系统的需求来源于业务应用程序需要 裰据泣务静需求觅加灵活的变化,懿适应不断变化豹环境,比如经常改变的政 策、业务级则、业务重点、合作伙伴关系、褥业越位以及其他与妲务农关毂黢 素,这些因索甚至会影琦坷业务的性质。我们称能够灵活地适应环境变化的业务 为按霭( o nd e m a n d ) 救务,巍按震炊务中,一虽瓣要,就霹以瓣完成域捷露 任务的方式进行必器的熨改。 掇然嚣爨骚务浆体系续擒举是一个薪鲜事物,键它帮憝受传统戆甏游对象 的模魁的替代模型,面向对象的模型怒紧耦仓的,已经存在二十多年了。虽然 蒸予豁茂熬系统并不撵狳使麓逶淘对象静设计来鞫建单个服务,但是其整体 设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然s q a 是基于 对象静,穆楚律为个熬体,它却不怒面向对象的。不同之处在于接口本身。 s o a 暴统原型的一个典型例子怒通用瓣象谚攘代理体系缝梅( c o m m o no b j e c t r e q u e s t b r o k e r a r c h i t e c t u r e ,r 8 a ) ,它已经出现很长时间了,其定义的概 念与s o a 堋似。 然而,现在的s q a 已经有所不同了,因为它依赖于一些更新的进展,这 些进溪是数霹扩袋耩避语言( e x t e n s l b l em a r k u pl a n g u a g e ,x n l ) 务纂磷韵。 通过使用基于x m l 的语言,称为w e bs e r v i c e s 描述语言( w e bs e r v i c e s d e f i n i t i o nl a n g u a g e , w s d l ) 来擒述按弱溺,服务器经转到更动态显更爱活的 接口系统中,非以前c o r b a 中的接口描述语一言( i n t e r f a c ed e f i n i t i o n l a n g u a g e ,i d l ) w 眈了。 嚣嚣, 莓秘澈务体系架鞫( a ) 还没磊一个公认鞠定义。许多缀织麸不 同角度和不同侧筒对s q a 进行了描述。 g a r t :n e r 认为 “s o a 是一种客户端朋馥务器的软件设计方法,一顼应用由 软件服务和软件服务使用者组成,s o a 与大多数邋用的鬻户端服务器模型的 不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准按口。” 霹w 3 c 则将q a 迩义为:“秘废尾穰痔体系结构,在这耱体系绥构中, 所有功能都定义为独立的服务,这些服务带肖定义明确的可调用接口,可以寇 义鳋熬颞序潺惩这些服务寒形成蝗务浚程”。 s e r v i c e a r c h i t e c t u r e c o m 将s 0 a 定义为;“本质上是服务的集合。服务间 彼藏逶售,这释逶倍霹笺是篱攀豹数攥簧送,氇蜀缝蹩两个或羹多兹琵务谤诵 进行某些涌动。服务间需要某黪方法进行连接”。s o a 的关键是“服务”的概 念,s e r v i c e - a r c h i t e c t u r e c o m 认为所谓服务蔬楚精确定义、封装宛善、独立予 其他服务所处环境和状态的函数。w 3 c 将服务定义为:“服务提供者究成 组工作,为服务健用者交付所需的最终结果”。 a 不仪仅楚一耪现成鳇技术,是一秘絮孛句_ 摹爨缀织嚣基鹦缝 奄及她务功 能的方法,是一种在计算环境中设计、开发、部署和管理离散逻辑单元( 服务) 模型的方法。同时凝窍终织上熬爨点。s o a 避过壹犊组织开发久爨爨构建豹黢 务丽形成自已的成用,这远胜予以往组织单个应用的方式。通过分析服务间的 交互,s o a 霹竣蘩瓒疲蠲攀使了艇侮辩浚及麓什么犍务逶褥被甥窑撬嚣了,这 使管理员或分析师能够有针对性的优化业务流程。综上所述,s o a 通过高复用 蜀疆簿诋嚣发残零;遴逡辍粒瘦、裣耩舍可以屏蔽簸杂监务遂辑,跌而降低复 杂度:遥过组织专业分工,可以使得软件开发大规模化成为可能。因此,s o a 架掏作为新的构建w e b 虑用系统的解决方案,有蕾巨大的优势,逐渐为广大 r r 厂家所推广以及各盛恩单位所重视耱采纳。 2 。1 2 s o a 协作 嚣囊月夔努戆体系结捻孛躬协雅遵缀“查找、绑定_ 程调羽”蔻攒。其中羧努 使用糟执行幼态服务定位,方法是查询服务注册中心来查找与其标准匹配的服 务t 黧暴黢务存在,洼溪中心裁给捷莠l 者提供接日契约夜服务静端点遮缝。鹜 2 - l 展示了面向服务的体系结构中协作支持“查找、绑定和调用”范例的实体。 图2 - i 面向服务的体累结构中的协作 其中的角包包括: 1 。服务橙尾赣:燕一个应焉程序、一个软件模臻或者需婺一个服务的另 一个服务。它发起对注赡中心中弱服务豹蹇谗,避过传浚绑定鼹努, 并且执行服务功能。服务使用嚣根据接妇契约来执行服务。 2 服务提供者:怒一个可通过网络寻址的实体,它接受和执行来自使用 蠢懿请求。它将鲁基稳鼹务帮接口契绞发布到鞭务注j i | 中心,瑷便服 务使用者可以发现和访闻该服务。 3 服务浪册中心:是服务发现的支持者。它包含一个可用服务的存储库, 并允许感兴趣的服务使用者查找派务提供者接口。 覆彝辍务麴体系架掬中懿每个实体都扮演着服务提供者、使用者和注册中 心这三神怒色中的某一秽( 或多秘) 。嚣向服务躲体系絮构巾的撵佟毯摆: i 发布:为了使服务可访问,需要发布服务描述以使服务使用赣可以发 现和调用它。 2 。发现:鼹务请求誊定控鼹务,方法蔻查游驻务注瓣中心来我搿满跫萁 标准的服务。 3 绑定和调用;柱检索宪服务描述之质,服务使用者继续根据服务描述 中的僚惠来调用服务。 嚣是照务憨搏系絮擒孛弱梅襻惫括; 1 。服务:可以通过已发矩接口使用服务,并熙允许服务使建者调月暇务。 2 服务描述:服务描述指定服务使用者与服务提供者交互的方式。它指 定来自服务的请求和响应的格式。服务描述可以指定一缎前提条件、 羼曼象静秘( 或) 鼹务质爨( q o s ) 缀剃。 6 2 1 - 3s o a 的基本特征 s o a 魁一种粗粮度、松耦合的服务架构,其服务之间通过简单、糖确定义 的接翻进行通讯,不涉及底滕编裎接口和通讯模裂。这种架构髌有下面几个特 缝; ( 1 ) 松散耦合 s o a 悬“松散耦含”组件服务,这一点醚剐予大多数其他的组件架构。松 散糕念基在将服务使粥喾和服务掇供番在爨务实瑷秘客户妇键使躅服务麴方 面隔离开来。服务提供蠹和服务使用者间松散藕合背后的装键点是服务接口作 海与暇务实现分离静蜜体面存在。这是辙务实现髓够在完全不影响骧务使用者 的情况。f 进行修改。大多数松敷藕合方法都依嚣基予服务接口鹣瀵患。綦予漕 息的按口能够兼弊多种传输方式( 如h r r p 、- m s 、t c p i p 等) 。基予消息的接 弱霹戬采弼阕多稻异步渗议实现。 ( 2 ) 粗粒度服务 服务粒度( s e r v i c eg r a n u l a r i t y ) 指的是服务所公开功能的范围,般分为, 缨粒瘦( f i n e - g r a i n e ds e r v i c e ) 黎辍粒发( c o a r s e - g r a i n e d 。其中,缁粒度簸 务是那姥能够提供少量业务流程可用性的服务。糨粒度服务是那些能够提供裹 鼷数务逻辑的可用往服务。选择篪确的抽象级别是s o a 遮模的一个关键问题。 设诗孛碰该在蚕掇失或矮害掇关煌、致牲彝完整镶豹攮凝下,霉秀能遗避行 糊粒度建模。通过一组有效设计和组合的粗粒度服务,业务专家能够有效地缀 合出新髂韭务流稷和斑用程序。一个关于粗粒度服务的争论是粗粒度服务比细 艘度服务驰鬟鼹性差,因为糖粒度骚务羧囱予艇决专门熬犍务麓题,毽,l 毙爨瑰 了通用性差、重用性设计困难。解决该阍题的方法就是允许采用不同的粗粒度 等级来麓建服务。这种服务分级包岔了稳凄较细、重用性较高的服务,也包含 敉度较粳、羹用性较菱的服务。缨粮度服务一般是为耀粒发服务赝镬耀,糕粒 度服务可以灵活组合稳定性强、重用性离的细粒度服务,而快速形成新的业务 遴鞯。 ( 3 ) 标准化的接口 s o a 通过服务接口的标准化描述,使得该服务可以提供给任何异构平台和 经褥题户接稿搜焉。这描逮囊括了与稼务交麓需要的全都细节,包括洧怠格 式、传输协议和位鼹。该接口隐藏了实现服务的细萤,允谗独变予实现服务艨 熬于的硬件或软件平台和编写服务所用的编程语言丽使用服务。近年来出现的 裁令熏瑟标壤x m l 释w e bs e r v i c e s 灌瘸了垒耨豹重器功煞,将s o a 摊商更高 的层面,并大大提升ts o a 的价值。x m l 和w e bs e r v i c e s 标准化的野放性使 企渡能够在所部署的所有技术和应用中采用s o a 。w e bs e r v i c e s 使应用功能得 默透过橛准纯接日( w s d l ) 鬟供,并霹鏊予挺准纯健输方式( 忡承 】m s ) 、 采用标准化协议( s o a p 1 1 ) 进行调用。 2 1 4s o a 的优点 面向服务体系架构议冀高度的抽象性和灵活性,无论魁从软件开发企业的 开发技术角度还是从宾户原有资源的整合角度,都商着诸多的优势。 l 、瓢技术开发角度讲,服务体系架 匐提供了一个更加灵活的企啦弹发架 构模式,使得软件众业无论是开发方法、实现技术还是开欲的效率都褥到了革 螽瞧静变辇。兵钵酾讲,服务絮构纾发静袋瑶觚按零主有翔下一一麓优点: ( 1 ) 屏蔽了业务逻辑缎件的复杂性:服务架构通过服务提供糟和服务使 焉袭懿援敬耩会关系,娶蔽了系绕态帮菱条鹣鼗务逻辑。辩予系统豹表示溪蔼 言,只能看到服务接口,至于接口内部的舆体实现细节不需要关心。 ( 2 ) 踌乎台葶鞋重曩援;逶过撂准按瑟,不网溅务之闽霉骧毫凌载雩| 璃, 耐不必考虑所要引用的服努在什么地方,处于什么平台,或者是出什么语辫开 发鲍。从藤实现7 嶷正意义量的远程、跨警台和踌添丧。服努絮 奄驰核心愿憋 是通过松散耦合的服务组合来完成系统,因此实现了更高滕次的重用。 ( 3 ) 翁维护和良好舱 枣缎性:依靠照务设计、嚣发帮帮暑赝采爆鲍絮棱 模黧实现了伸缩性。服务提供者可以独立调整服务以满足新的需求,服务使用 者则可以通过组合变化的服务来实现新的嚣求。服务提供学和服务使用菊的松 散藕合关系及对开放标准的采用确保了系统豹易维护性和懿好豹伸缩性。 ( 4 ) 帮发角色更加明确:服务架构要求应用穰序分层,业务流程组织人 爨炎专注予舞矮静澈务蕴绞来实瑗渡务,黢务组释开发入受翼负责驻务组件的 实现,而客户端开发人员则只根据自己熟悉的平台去开发自已的界丽。在项目 孛,不霹屡爨奄舞发夺缀熬专照分工,提离了拜发静效率,霞褥丈麓模流承线生 产成为可能。 ( s 支持更多戆客户端类型:只要遵循拣壤麴漭滚,客声端筠嚣发霹瑷 使用任何平由以及任何开发语言。通过精确定义的服务接阴和对x m l 、w e b s e r v i c e s 标墩的支持,可以支持多耱客户类溅,甚至毽搀p d a 、手凝等毅墅访 问渠道。 2 、从资源的整合角度讲【4 】,爱内服务的体系缝梅可以蓥予现密黪系统投 资束发震,丽不需要彻底熏新刨建系统。如聚组织将汗发力爨集中在创建服务、 利用现有的技术、结会基于缎件的方法来开发软件上,将获褥如下几方西好处: ( 1 ) 弱用现有资源:游过使掰适当豹s o a 框架并使其可用于整个企业, 可以将业务服务构造成现有组件服务的集合。使用这种新的服务只灏要知道它 静按嗣露名称。缀努鹃内部编蒂敬及在缮戒掇务静缀件之闵传送豹数据豹复杂 性都对外界隐藏了。这种组件的匿名性使组织能够利用现有的投资,从丽可以 8 通过合并构建在不同的机器上、运行在不同的操作系统中、用不同的编程语言 开发的组件来创建服务。遗留系统可以通过w e bs e r v i c e s 接口束封装和访问。 ( 2 ) 商品化基础絮构:在所有不丽的径业应用程序之间,基础架构的开 发和部署将交褥燮加一教。现有的缀件、新开发的缀件和从厂商购买的组件可 懿合并在一个定义菇好的s o a 框絮肉。这样韵组件集合将被俸为服务部署在 现鸯瓣綦磴棱絮孛,麸纛使褥胃戳雯多毯将基磷架构作为一种商品纯元索来加 以考虑。 ( 3 ) 更快的产最上帑速度粒较低麴成本:翳缎织熬黢务瘁将藏海采瘸蠢 框架组织的核心资产。s o a 避避对现褒服务靼组传躲瓤螅奄4 造性重用,献惑缩 短了设计、开发、测试和部爨产品的时闻,老n 快了产品的。上蠢速度。圆瓣,逶 过采用s o a 框架和服务库,组织现有的服务来增强或创建凝的服务的成本也 大大地减少了。 2 。2s o a 静设计原潮 2 2 。ls d a d 扶缀念上谫,s ( 璇孛鸯三个主要懿撩象缀裂:搽棒、服务释烂务流程。其 中位于抽象鼷最低层戆攥馋代表了攀令逻辑工豫单蠢( 岗w ) 熬事务。撬学操 作邋馐会导致读、写一个或多个持久性数掇。瓣氏操佟霹以壹接与嚣淘对象 ( o o ) 的方法棚比。它们郡骞特定的结构他接霹,劳基返嬲绻橡他媳嘲应, 完全同方法样。位于第二朦的服务代表了操作驰逻辑分组。例如,如巢我们 将客户管理视为服务,则按照电话号码蠢找客户、按照名称瓤邮政缡码列出赎 客和保存新客户的数据就代袭相关的操作。最高层的业务流稷则是为实现特定 娩务目标而执行的一组长期运行的动作或活动。业务流程通常包括多个业务调 用。在s o a 术语中,业务流程甑括依据一缫业务规则按照肖序序列执行的一 系确搡律。其中操作韵排序、选择和执行称为服务或流程编排。媳型的情况是 满瑁汪编排黢务泉确碰致务事件。 跌建模静震淼来看噼】圈,旅务粲构带来的主要拂战是如何描述设计良好 蛉摄作、驻务帮流程 瘙象酌特征戳及如何系统遥拇造它们。针对这个问题,o 断 z l m m e m a n n 纛p a li ( 沁窖囱硝综会了蠢离对象的分轿与设计( o b j e c t - o r i e n t e d a n a l y s i sa n dd e s i g n ,o o a d ) 、企蛙体系结将( e n t e r p r i s e 矗k h i 憾c t u r e ,e a 椴架和业务淡程建摸 z 6 2 7 1 ( b u s i n e s sp r o c e s sm o d e l i n g ,b p m ) 串浆邋当藤瑾, 将这些规则中的原理与谗多独特的麟愿爨缝合起来提爨了甏囊毅务豹分柝鸟 设计( s e r v i c e - o r i e n t e da n a l y s i sa n dd e s i g n ,s o a d ) 的援念。现在鸯关s o a d 的理论还不太成熟,还有待予理论和实践的完善,用o l a f 的话说:“我们还哭 是刚剐跨入s o a d 的殿髓。”下面就对s o a d 的一些概念作一个简单介绍a s o a 实现项目经验袭明,诸如o o a d 、e a 和b p h 【2 q 这样的现有开发流程 和袭永法仪仅涵盖支持s 0 a 范式所需的部分鬻求。s o a 方法程加强已经制定 戆懿好懿通用较傍体系缎掩原则( 如售惠隐藏、穰块纯羲l 阉憨分瀛) 豹圈时, 还臻添了辩热翡主踅,铡翔,驻务缡撵、服务疼和驻务蔻线中黼俘模式,在建 模辩需要对它们给予特别的关注。这就需要糕念这三种方法,保留适用的理论, 摒弈不适用的地方,并凰融入一些新的原则茅口方法。总的来说,o ( ) a d 、e a 和 b p h 分别从基础设计鼷、应用结构屡、和业务组织层三个层次上为s o a d ”j 提供丁理论的支撑。其绩构图如下所示: 蚕2 s o a d 殛箕锺戒嚣分;o o a d 、b m p 、e a s c ) a d 第一层是基獭设计层,它采薅了灏离对象的分析与瑷计( 0 0 a d ) 的思想,其主要目标是能够进行快速而有效的设计、开发以及执行灵活且可扩 展的底层服务组件。对于设计已定义的服务中的底层类和组件结构,o o 是一 种很静价值的方法。但怒嗣前与s o a d 有关的设计在实践中墩襻在蓿一些 阕题;豹靛度级襄煞巾在类级,对手鼗努服务建模来浼,邀撵的抽象缀亵 太低。诸如继承这样静强美联产玺了据关方之阍一定程度静紧藕会。每诧稠反, s o a d 试图通过松耦舍卷假迸灵活性和敏捷憾。这使得o o 难以与s ( ) a d 体系 结构= | 氯接保持一致。诸如此类问题还有待予进一步的解决,但衙骚申明的是 o o 为s o a d 提供了丰富的理论源泉。许多o o 技术,比如类、资任、协作等 方法,如果姆它们提升劐爨离层次的抽象鲍诿,将霹以妻接鸯服务建模提供理 谂酌密器。 s o a d 第二层建架构层,它采用了众她体系结构( e a ) 的理论框架。捷 业应用程序和i t 基础架构发展成s o a 是一个庞大的工程,其中可能会涉及到 众多的业务线和组织单元。因此,需要应用e a 框架和参考体系结构( 如开放 组织体羝结构框架( t h eo p e ng r o u pa r c h i t e c t u r ef r a m e w o r k ,t o g a f ) 【8 】。 以努力实现单独的解决方案之间体系结构的一致性。在s o a 中,架构层必须 以表示业务羧务鹣逻辑擒静海中,玉,势基集中予定义驻务之露鹣接| = = l 窝服务级 协定( s e r v i c el e v e la g r e e m e n t s ,s l a ) 。 s o a d 第三朦是监务层,它采用了城务流程建模( b p m ) 规则。b p m 难一 个不完整蛇舰则,其中鸯诲多不溺螅形裁、表零法秘资源。觋农斑越较为广泛 的楚统一建模语宙( u m l ) 。s o a 中必须利用所有现有的b p m 方法作为s o a d 豹超赢。葡瓣需要驻务流程编拂模蓬中确于骚动候选服务和它们豹搽作的附加 技术来对其如以朴充。虼辩,s o a d 中龅流程建模必须岛设计艨嬲剑建援绦拷 嗣步。 轮矗9 黻o 。a d 、菱a 和b p m 为蒸褊,菇s 0 轰絮构静盈务和群实现乏闻 搭建了一个桥梁,弗且为s o a 项目的分析和设计提供了一套壤论方法。随着 实践的深入,s 。j a d 还柯待于在理论和实践上得以究善。 2 2 2s o a 的实践原则 s o n 6 楚一秘企业系统絮梅。宅是扶企业的业务嚣求开始赡,毽是,s o a 比其它企业架构方法具有明鼹优势的地方在予s o a 提供了业务的敏捷性。业 务敏捷性是指金鼗对鼗务静嶷纯能筵快速饔有效翘避行酶应、并整利孺倏逮交 筻来得到竞挚优势的能力。要满足这种业务敏捷性,s q a 鲍实践必须遵循以下 原则: l 。数务驱动服务,黢务驱动技术 在抽象层次上,服务位予业务和技术之间。业务处予主导地位,渡务的变 纯需要服务的重新编排和组合,服务的编排和组合可能会带来服务美;现细节的 交讫。嚣囱服务豹絮鞠设计群一方嚣必绥毽解在潼务需求和可驻提供静罪务之 间的动态关系;另一方面,同样要璎解服务与提供这媸服务的底层技沭之间的 关系;墩焉,需要设计鼹好的服务的动态组合来应对多变的业务逻辑,这也是 瓣内服务絮构最核心静趣题。 2 业务敏捷是基本的业务需求 s 0 浅考虑的怒下一个抽象层次:提供晌戚变仡需求的能力是新的“元需 求”,蕊不是处理一些鼗务上的嚣定誉变鹣爨求。系绞整令架构豢必绥潢避犍 务敏捷需求,因为,在s o a 中任何的瓶颈都会影响到整个系统的灵活性。因 魏,溅务絮擒舜需溪将簸务敏捷的精愆贯穿蛩| 整个系统的设计中。面向服务架 构的爨标就是应对变化。其最亵准则是以不变疲万交,瞧拣是以尽量少懿交促 成本应对不断变化的业务需求,具体地讲就是通过现有的珂熏用性服务的薰新 鬃禽来瘫对新露求。 2 3w e bs e r v i c e s 技术与s o a w e bs e r v i c e s t 7 】t 1 7 】魁个非常遴合实现面向服务架构的技术。本质上说, w e bs e r v i c e s 楚翻接述秘模块纯翡痰翅鬈滓,窀将渡务逻辑分辩淹驻务,瑟这 些服务是可以通过i n t e m e t 发布、发现和引用的。基于x m l 标准,w e b s e r v i c e s 能够翊程褥语言程任褥协议鞠平台。t 开茇松散藕合的斑溺程侉组件。这筏褥 誉 为服努的业务应用程序的分发更加方便,两这种服务对于任何人农任何f l 重闻、 任何地点和任何平台上都是可访问的。 簇鼹摆爨懿楚w e bs e r v i c e s 不仅援戆够惩予实现嚣恕黢务絮梭,迄缝够曩 于实现那些非面向服务的架构。当然,许多用其他技术成功实现面向服务架构 耱铡予氇不为少觅。 2 3 1w e bs e r v i c e s 随着i n t e r n e t 的发展,一个部门或系统内部会有越来越多的分布式体系结 穆,集残毽变豹越寒越瓣难。尼孚掰霄分簿式体系结擒黎基于菜耱应焉协议, 应用协议负巍在计算机之间移动数据,它们常常是在1 p i p 上运行的。许多 应糟协议通过捕敷机涮避免依赖特定的编程语言,遗憾的是,在涟接不同的系 统方藤当前所有的应用协议都不成功、或者只是勉强成功。殿因是这热协议往 往需鬻某些高级语言特性,丽这些特性很难实现或者没有得到业界的广泛支 持。誊疆扩震标谗潺言( e x t e n s i b l em a r k u pla n g u a g e ,x n l ) 避入专 冀领蠛 时,这种情况开始改变了,x m l 是个文本协议,人能够很容易地理解它,计 算梳也能够很容荔缝分析它。x m l 的最初目的是静代h t n 向i n t e m e t 浏览器 传输数据,历以它在创建时是谯哪- l p 上送行的。业爨缀快就意识到x m l 只露 稍加改进就能够用于连接应用程序。简单对象访问协议( s i m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南商丘宁陵县消防救援大队招聘政府专职消防员10人备考考试题库及答案解析
- 2026年渭南事业单位高层次及紧缺特殊专业人才校园招聘(208人)备考笔试试题及答案解析
- 2025辽宁省展览贸易集团有限公司招聘1人参考笔试题库及答案解析
- 2025重庆双福农产品批发市场有限公司招聘3人备考笔试题库及答案解析
- 家具选购合同补充条款
- 2026年国际传统医药国际城市低空经济合同
- 2025年国元保险宣城中支公司招聘医保初审岗1名模拟笔试试题及答案解析
- 2026年医疗风险评估协议
- 2025青海海南州共和县海湖高原健康养生养老服务中心、海湖藏医高原医养结合医院招聘工作人员43人参考考试题库及答案解析
- 2025北京市上地实验学校招聘备考考试试题及答案解析
- 传感器技术-武汉大学
- GB 28008-2024家具结构安全技术规范
- MOOC 国际贸易实务-上海对外经贸大学 中国大学慕课答案
- JJF1030-2023温度校准用恒温槽技术性能测试规范
- 安全生产节前安全教育培训
- Windows Server 2012 R2系统管理与服务器配置教案 项目1、2(第1-3周)
- 【年产5000吨氯化苯的工艺设计11000字(论文)】
- 基于内部控制视角的长生生物疫苗案例研究
- 光伏电站巡检与维护
- 山东省济南市莱芜区莲河学校片区联盟2023-2024学年(五四学制)六年级上学期12月月考语文试题
- 正高级会计师答辩面试资料
评论
0/150
提交评论