(计算机应用技术专业论文)基于soa的社区代理代办系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于soa的社区代理代办系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于soa的社区代理代办系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于soa的社区代理代办系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于soa的社区代理代办系统的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于soa的社区代理代办系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘 璎 摘要 业务需求的变更是令很多企业非常头痛的事情,经常改变的政策、业务级 别、业务重点、合作伙伴关系等,都会导致软件平台的一次大规模的修改。s o a 凭借其松耦合的特性,可以适应不断变化的环境,使得企业可以按照模块化的方 式来添加新服务或更新现有服务,以解决新的业务需要,从而保护了现有的i t 基础建设投资。 作为s o a 的一种实现手段,w e b 服务提供了基于x m l 标准接口的若干中 间件,具有完好的封装性、松散的耦合性、协议规范的标准性、以及高度的可集 成性等特点,能够很好的满足s o a 应用模式需求。这一切,就可以使得企业在 应对激烈的竞争带来巨大的压力时,针对快速变化的外部环境和客户需求,做出 及时的调整和反应,从而真正提升企业的核心竞争力。 本文对s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ,面向服务的体系架构) 这一理 论进行了分析与应用研究。 首先,论文对s o a 基础技术进行了相应的介绍,提出了服务建模的流程和 面向服务分析的方法。并针对北京市社区公共服务平台改造的要求,结合s o a 理论的研究和分层开发模型的思想,对社区代理代办系统进行功能分析和流程分 析,设计了代理代办系统的逻辑架构和物理架构。 其次,用大量篇幅对核心服务层和服务管理层进行了详尽的设计和实现,这 两层是代理代办系统的s o a 架构理念的具体体现,也是系统的关键核心。 最后,对全文进行了总结,并提出了进一步研究的方向和内容。 关键词面向服务的软件架构;实体模型;w e b 服务 a b s t r a c t a b s t r a c t i ti sah e a d a c h yt r o u b l ei nm a n ye n t e r p r i s e st h a tt h eb u s i n e s sd e m a n dn e e d st o c h a n g ef r e q u e n t l y t h e s ec h a n g e s ,s u c ha sp o l i c y ,b u s i n e s sl e v e l ,b u s i n e s se m p h a s e s , c o o p e r a t i v ep a r t n e r ,c a nb r i n go nal a r g e s c a l em o d i f i c a t i o no nt h es o f t w a r ep l a t f o r m s o ac a nb ea d a p t e dt ot h ec h a n g i n ge n v i r o n m e n tb yi t si n c o m p a c tt r a i t ,a n di tc a nb e m a d ea st h ee n t e r p r i s er e s o l v et h en e wb u s i n e s sd e m a n d sb ya d d i n gn e ws e r v i c e so r u p d a t i n gt h ee x i s t i n gs e r v i c e s ,s oi th a sb ep r o t e c t e dt h ee x i s t i n gi tb a s i ci n v e s t a sa ni m p l e m e n tm e a n so fs o a ,w e bs e r v i c e sh a sp r o v i d e dm a n ym i d d l e c o m p o n e n tb a s i n go nt h es t a n d a r dx m li n t e r f a c e s ,w h i c hh a v eg o o de n c a p s u l a t i o n , l o o s ec o u p l i n g ,n o r m a t i v ep r o t o c o la n dh i g hi n t e g r a t i o n ,t h i sc a ns a t i s f yt h e a p p l i c a t i o np a t t e r n so fs o a a l lt h e s ec a nm a k ee n t e r p r i s e sm a k eo u tt i m e l ya d j u s t a n dr e s p o n s ew h e nt h e ya r ef a c i n gg r e a tp r e s s u r eb e c a u s eo ft h ef u r i o u sc o m p e t i t i o n s oi tc a np r o m o t et h ec o r a lc o m p e t i t i o ni nt h e s ee n t e r p r i s e s t h i sp a p e ra n a l y s e st h et h e o r yo fs o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) a n d r e s e a r c h e si t sa p p l i c a t i o n f i r s t ,t h i sp a p e ri n t r o d u c e st h eb a s i ct e c h n o l o g yo fs o a ,a n db r i n g sf o r w a r dt h e f l o wo fs e r v i c e sm o d e l i n ga n dt h em e t h o do fs e r v i c eo r i e n t e da n a l y s i s t h i sp a p e r a l s om a k e sf u n c t i o na n df l o wa n a l y z i n gb yt h ei m p r o v i n gr e q u e s to fb e i j i n g c o m m u n i t yd e p u t i n ga n dc o m m i t t i n gs y s t e m ,i ta l s oc o m b i n i n gt h er e s e a r c ho fs o a a n dt h et h o u g h to fl a y e r e d d e v e l o p i n gm o d e l s e c o n d ,t h i sp a p e rh a se l a b o r a t ed e s i g na n da p p l i c a t i o no nt h ec o r a ls e r v i c el a y e r a n ds e r v i c em a n a g el a y e rw i t hab i gl e n g t h t h e s et w ol a y e r sa r et h ee m b o d i m e n to f s o a t h e o r yi nt h ec o m m u n i t yd e p u t i n ga n dc o m m i t t i n gs y s t e m ,a n dt h e ya r ea l s o t h ek e yc o r eo ft h i ss y s t e m l a s t ,i ts u m m a r i z e sa l lo ft h i sp a p e r , a n dp o i n t so u tt h er e s e a r c hd i r e c t i o na n d c o n t e n tf a r t h e r k e y w o r d ss e r v i c eo r i e n t e da r c h i t e c t u r e ;e n t i t ym o d e l ;w e bs e r v i c e i i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:禹丑 日期:塑金二二翌 | 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:商垂 导师签名: 日期:趟 1 1 引言 1 1 1 北京市社区公共服务平台介绍 北京市社区服务平台( 以下简称公共服务平台) 是北京市政府于2 0 0 0 年起 倾资7 0 0 0 万元兴建的项目,旨在实现社区信息化,向“数字化北京”目标跨越。 该平台己于2 0 0 3 年进入运营阶段。从运营到目前的几年中,又有新的业务系统 加入,到2 0 0 6 年底为止,社区公共服务平台的基本组成如图卜1 所示: 图卜l 北京市社区公共服务平台组成图 f i g u r el 一1t h ec o n s t r u c to fb e i j i n gc o m m u n i t yp u b l i cs e r v i c ep l a t f o r m 公共服务平台己逐渐成为全市社区网络服务的中心,社区信息数据汇集与交 换中心,社区管理数据访问的通道,社区居民参与社区建设和社区服务的互动交 流平台,已成为首都信息化建设及“数字北京”的重要组成部分。其中所包含的 各大子系统是目前公共服务平台的核心业务系统,它搭载提供了6 大类2 0 0 多项 社区服务,为市民提供上门和咨询服务共7 0 多万人次;社区管理信息系统已部 署2 5 1 4 个居委会,已采集8 0 0 多万条人口数据。 在国内的社区信息化建设中,北京由于起建时间早、边探索边建设、边应用 边完善等原因,各大子系统之间相对还未完全地、无缝地整合到起,未能更好 地实现信息共享、业务协同和统一管理。而且,在平台的建设和运营过程中,要 北京t , i k 人7 :1 - 7 :( i , j il j 0 :f 厂i _ 仑艾 面临着政策的调整、业务的变化、软协延件的史替等n j j 题,所以需要不断完善半台 功能。 社区服务是社会主义和谐社会的重要组成部分。北京丰必公) 洲技务信息i 台 是在随着信息化手段的不断加强而逐步构建起来的。它一万l 且j 为礼i x 钙;理、社i x 服务、社区创新和社区学习提供强有力的技术支撑,另一方面,随管社区服务的 内涵不断外延,新的业务需求不断加入进来,这就要求该平台的架构jl 彳j b ! 姒的 扩展性、互访问性。 社区服务中心是今后各种社会服务资源的整合者,在这种身份下,需要公共 服务平台能够方便的接入各种应用系统以及服务渠道,比如:银行业务系统、地 税业务系统、邮政业务系统等等,同时还需要接入类似各种数字化小区的终端接 入,以及社会应急体系等。而且,社区的服务业务量的增加在很多情况下是不确 定的,因此需要公共服务平台的系统架构有很强的扩展性。 面对新的发展形势,要积极探索、梳理新的业务模式、新的服务内容、引入 新的设计理念与技术思路。为了构建和谐社区信息化建设目标,需要进行一次全 面深入有效的平台改造和迁移工作。 首都信息发展股份有限公司也对平台的改造工作制定了宏观战略部署和安 排,同时,也认识到它是耗时的巨大工程,需要平滑的过渡。 1 1 2 代理代办系统背景介绍 为了响应国家建立“和谐社区 的口号,将公共服务覆盖到社区,为社区居 民提供“一窗式”服务,随时接待各项业务的办理。北京市民政局在全市6 0 个 社区设立了社区服务站,它是非政府、非营利的社区事务服务窗口,是社区居委 会下设的执行机构。与街道办事处( “一站式”办公大厅) 和政府职能站所对接, 将公共服务下沉到社区、延伸至居民,代办代理相关事务。 社区服务站按项目管理方式承接社区就业、社会保障、社区救助、社区卫生 与计划生育、社区文教体育、社区流动人口、社区安全等方面的服务事项。具体 来讲,按照北京市在全市社区服务站近1 0 0 个服务项目设置,主要分为公共服务、 公益服务和便民服务三大部分,其中公共服务4 3 项、公益服务1 7 项、便利服务 3 8 项。 公共服务的内容: l 、甄别申办事项:不属于受理范围的,告知申办去向或开具督办转移单; 属于受理范围的进入办理程序,具体申办事项详见北京市社区服务站运营手册 附录一。 2 、审查申办材料:手续材料不全,告知补齐材料;手续材料齐全,进入实 质办理程序。 币1 节绢i 仑 3 、办理申办事项:将申办事项分为承办事项、代办事项分别进行处理。 4 、反馈办理结果:按承诺期限及时完成申办事项,接受申请人对办理结果 的评价,向申请人交接办理结果。 5 、申办事项结案:将申办事项内容、办理结果通知申请人。 公益服务的内容: 1 、对社区民间组织:依据关于促进社区民i i n i 织参与社区建设和服务的 意见,对社区民间组织进行登记备案、信息采集录入、活动记录、维权记录与 监督管理,并针对社区居民服务需求积极组织活动。 2 、对社区志愿服务组织:依据北京志愿者协会注册志愿者管理办法, 进行志愿服务队注册登记、成员、荣誉、服务评价记录与监督管理,并针对社区 居民服务需求积极组织活动。 3 、对社区志愿服务者:依据北京志愿者协会注册志愿者管理办法,进 行志愿者注册登记、累计工时统计、获奖、培训、服务评价记录与监督管理,并 针对社区居民服务需求积极组织活动。 4 、对社区公益设施:彻底清查,登记造册;录入系统,以便管理、咨询、 为社区居民提供服务。 便利服务的内容: l 、依托9 6 1 5 6 呼叫中心、北京市社区服务网以及北京市社区服务超市,进 行便利服务信息咨询与服务。 2 、通过自有特色项目、所属区( 县) 与街道社区服务中心的推荐项目和市 社区服务中心的全市连锁项目的有机结合,提供贴近百姓、贴近社区、内容丰富、 质量上乘的便民利民服务。 3 、搜集居民急难问题,不断开发社区服务内容。 4 、管理社区便民利民服务网点,按照社区服务评价标准考核服务绩效。 5 、借助9 6 1 5 6 平台服务商与社区服务力量,受理社区居民便利服务需求。 6 、对9 6 1 5 6 平台市、区( 县) 、街道签约服务商在本社区的服务进行指导 和监督。 社区服务有着服务对象广泛、业务内容庞杂、应用定位基层、涉及部门及流 程繁多等特点,区和街道以及居委会的协同工作将是有效支撑、协调、管理的较 为理想的模式。为了配合社区服务站工作的顺利、高效开展,需要一套信息化的 系统的支持。为此,由北京市社区服务中心牵头,首信公司承接了该项目的建设, 项目名称是“北京市社区代理代办系统 ( 以下简称代理代办系统) ,它作为新 的业务需求子系统,准备纳入到社区公共服务平台之中,充分利用和发挥平台的 整体优势。 ,t l j i f1 , i k 人学l :f f j 7 7 f 一【仑殳 同时,也是为了推动平台的改造工作,f j f 此为灾机,确:丌发代p 卫代办f 系统 时要融入s o a 的先进理念,而且,在丌发代理代办系统j n j f h j ,还需要对j 他、l k 务 合作子系统进行适当的服务的抽取和接口的封装等。1 二作。 1 2 课题来源和研究内容 1 2 1 课题来源 本课题来源于北京市社区公共服务平台的改造,主要来源于北京市礼区代理 代办系统。 1 2 2 研究背景 北京市社区公共服务平台从运营开始到现在,已经囊括了8 0 0 多万的人口信 息数据,以及大量的呼叫、咨询、服务信息资源。这些资源目前为止,还没自- 实 现在平台内的完全的共享,而是相对独立、保守地存在于各个子系统中。为了更 好地挖掘这些资源,实现各子系统间的信息共享,达到平台内的互通,必须借助 新的架构理念。面向服务的架构( s e r v i c eo r i e n t e d a r c h i t e c t u r e ) 带来全新的概念、 技术和挑战。它倡导将一个应用程序的业务逻辑或某些单独的功能模块化后作为 服务呈现给消费者或客户端,它可以有效的利用现有资源,更快地适应业务的变 化。 1 2 3 研究意义 从现实意义上来看,代理代办系统的业务需求具有非常强的业务流程共用 性,并跨接很多子系统和联网机构,系统与外部业务系统之间也存在着资源共享 与数据交换的要求,部分情况下还存在着密切的交互。因此,采用s o a 的架构思 想,将业务单元进行抽取、整理,更能体现服务的灵活性和应变新业务的能力, 充分发挥了平台的优势,具有很大的现实意义。 从业界对s o a 的认识发展来看,i b m 、微软、b e a 、甲骨文等知名公司也 在大力推动,并开始推出了一些实施方案。 同时,s o a 与传统意义的架构相比较,具有如下几方面好处: ( 1 ) 基于开放标准:w e b 服务的大部分的数据交换工作是由开放的标准来 控制的,将一个消息从一个w e b 服务如何送给使用者,它要通过一系列由全球标 准化并公认的协议来传播。 弼1 尊铺沦 ( 2 ) 支持的厂商多样性:无论开发环境如何专彳】化,只要支持创建标准的 w e b 服务,该通信框架就可以用于创建非专有化的服务接u 层。 ( 3 ) 更强的旺操作性:不管一个应用是否有即时的集成需求,当底层用s o a 来构建应用的时候,它已经具备内在的互操作性的服务,可以成为潜在的集成接 入点,减少未来跨应用集成需要的代价。 ( 4 ) 更强的复用性:s o a 建立了一个促进多级复用的环境,依照而向服务 原则设计的服务鼓励复用,即使不存在即时的复用需求,也能够被将来的服务集 合所复用。 ( 5 ) 更强的可扩展性:用服务描述表达封装功能时,s o a 鼓励考虑超越即 时的、点对点的通信,当以合适的接口粒度来分割服务时,就可以做到扩展服务 所提供的功能范围而不打破既定接口。 综上所述,跟踪、研究和掌握s o a 这一新的知识体系并在代理代办系统中成 功实施,是把北京市社区公共服务平台向s o a 理念改造的一次尝试,所积累的经 验可以在下一步的工作中加以借鉴。 1 3 作者在课题研究中的主要工作 本人于2 0 0 6 年8 月至2 0 0 8 年4 月在首都信息发展股份有限公司实习,曾参 与到基于s o a 的代理代办项目的研究与开发中,参加了项目的前期调研、系统设 计以及编码等阶段。 本人在课题研究中主要做三项工作: l 、梳理部分业务逻辑,参与了需求调研工作。 2 、部分业务的服务的抽取、设计、开发工作,如老年优待证申请、独生子 女证申请、失业求职登记、重残生活困难补助申请、暂住证申请等等。 3 、系统的部分模块( 分类统计、状态统计、今昨日信息、后台管理中表单 跟m o d e l 绑定、封账、法规资料管理、签章管理等) 采用传统的成熟设计方式进 行设计和开发工作 1 4 论文的组织结构 本文将先探究一下s o a 规范以及相关技术,沿着基于s o a 的架构思想进行代 理代办系统的架构设计、实现来进行,并详细介绍了核心服务层的设计和实现, 以及服务管理层的设计和实现。本论文的论文组织结构如下: 第一章绪论部分介绍了北京市社区公共服务平台的现状、所面临的问题,引 入了代理代办系统的课题来源和研究意义,并阐述了作者在课题研究中的主要工 作,最后就是论文的组织结构。 北片ii :, i k 人7 :r7 7 :f l 口! i ;:1 寸i 仑艾 第二章简单介绍了与s o a 相关的技术及耻论,埘面向服务的体系结构进ij :j , 阐述,对服务建模进行了诠释,并简单介宝“丫实现s o a 的技术找体w e bs e r v i c e 。 第三章从总体上介绍了代理代办系统的s o a 方案设汁,介尘“了系统的、i k 务需 求,以及按照s o a 思想对代理代办系统进ij :的逻牟 i = 架构设计和物州架构设汁。 第四章重点讲解了核心服务层的设计和实现,这一部分足s o a 架构耻念的设 计和技术实现部分,从服务的建模剑服务的设计和实现,都讲解的很t 、f - :组t l 。 第五章介绍了服务管理层的设计和实现,服务毹:理层是一个中介,所千j 的服 务调用和注册、发布、管理等,都通过服务管理系统米完成。服务管列! 系统也足 基于开源的框架来完成的。 第六章是结论部分,对本论文的工作进行了总结,i 司时给出了下一步待完善 的工作安排。 最后是参考文献、致谢。 筑2 争s o ai t _ f i :l : 术,乏 1 l 艾研,) e 第2 章s o a 基础技术及相关研究 2 1s o a 架构概述 面向服务的体系结构s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 是一个软件架 构模型,它将应用程序的不同功能单元( 称为服务) 通过定义良好的接口和契约联 系起来心1 。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平 台、操作系统和编程语言,这使得构建在各种各样的系统中的服务可以以一种统 一和通用的方式进行交互。“。 这种具有中立的接口定义( 没有强制绑定到特定的实现上) 的特征称为服务 之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组 成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存 在而不受变化的影响。相反地,紧耦合意味着应用程序的不同组件之间的接口与 其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的 更改时,它们就显得非常脆弱。松耦合使应用程序环境更敏捷,能更快地适应更 改,并且降低了风险h ,。 虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象的 模型的替代模型,面向对象的模型是紧耦合的,已经存在二十多年了瞄1 。虽然基 于s o a 的系统也需要使用面向对象的设计来构建单个服务,但是其整体设计却是 面向服务的。由于它考虑到了系统内的对象,所以虽然s o a 是基于对象的,但是 作为一个整体,它完全不是面向对象的。 基于s o a 的软件系统具备以下特点1 : 设计松耦合性:服务需要完全独立,通过公开的服务接口进行交互。同 时接口的协议可以支持多种传输格式。 服务可重用性:服务是定义完整的功能实体,合理的使用可以减少重复 功能开发,降低成本。 部署灵活性:在对硬件没有任何限制的前提下,可以灵活在异构系统上 部署。 系统兼容性:可以把遗留系统与遗留数据库无缝地集成到s o a 架构。 技术多样性:可以使用各种软件开发语言来实现s o a 系统。 传输稳定性:可以在服务之间建立稳定安全的数据传输通道。 架构扩展性:可以根据企业的发展,调整服务,扩展服务功能。 其实s o a 并不是一个全新的概念。s o a 系统原型的一个典型例子是通用对象 请求代理体系结构c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) ,它 北万i t 、l p 人7 7 :i :7 j :f i ! i ! l j 7 7 :1 - 论艾 已经出现很长时间了,其定义的概念与s o a 川似 l 。然而,现存的s o a 已经彳册i 不同了,囚为它依赖于一些更为先进的技术,这些技术是以可扩展标记语i 了 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 e b 服务描述语言w s d l ( w e b s e r v i c e sd e s c r i p t i o nl a n g u a g e ) 柬描述接u ,服务已经转到史动态且史父活的 接口系统中,非以前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 n l a n g u a g e ) 可比了1 。 为了建立体系结构模型,需要的并不只足服务描述,同时需要定义整个应川 程序如何在服务之间执行其工作流,尤其需要找到业务的操作和业务i _ | l 所使川的 软件的操作之间的转换点。因此,s o a 应该能够将业务的商业流程与它们的技术 流程联系起来,并且映射这两者之间的关系。例如,给供应商付款的操作是商业 流程,然而,将新供应的货物信息更新到您的零件数据库却是技术流程1 。此外, 动态业务的工作流不仅可以包括部门之间的操作,甚至还可以包括与不为您控制 的外部合作伙伴进行的操作刚。 最后必须提到的是,所有这些都必须处于一个信任和可靠的环境之中。因此, 安全、信任和可靠的消息传递应该在任何s o a 中都起着重要的作用。面向服务的 体系结构所涉及的技术至少包括c o r b a 、d c o m 和j 2 e e 。所以说面向服务的体系 结构并没有摒弃其他技术,而是通过一定的规范把各种可用的技术融合在一起。 但由于s o a 还是一个比较新颖的概念,所以在项目具体实施上还需要不断的研 究,有各种各样的实施方案来尝试实现s o a 1 l 。 s o a 同样也强调重用,但是相对于传统的代码重用、对象重用和部件重用, s o a 的重用粒度更粗n 列。s o a 的重用在于业务级的应用,即服务的重用3 1 。 并不是什么场合都适用s o a 。通常来讲,s o a 适用于较为复杂的i t 架构,需 要与外部复杂的i t 环境交互,并且需要快速地应对频繁发生的业务变化1 。 本论文就是基于s o a 的研究基础上进行的s o a 方案设计,并最终实现了基于 s o a 的代理代办系统,为下一步的社区公共服务平台的改造作进一步地探索。 2 2 面向服务的体系结构 面向服务的体系结构提供了一种方法,通过这种方法,可以构建分布式系统 来将应用程序功能作为服务提供给终端用户应用程序或其他服务。其组成元素可 以分成功能元素和服务质量元素。图2 - 1 展示了体系结构堆栈以及在一个面向 服务的体系结构可能观察到的元素n 引。 体系结构堆栈分成两半,左边的一半集中于体系结构的功能性方面,而右边 的一半集中于体系结构的服务质量方面。这些元素详细描述如下: 功能性方面包括: 第2 章g o al ,l :f 】:l :j 4 :,乏 x _ ;j 究 图2 - 1 面向服务的体系结构的元素 f i g u r e2 一i t h ee l e m e n t so fs o a 传输是一种机制,用于将来自服务使用者的服务请求传送给服务提供 者,并且将来自服务提供者的响应传送给服务使用者。 服务通信协议是一种经过协商的机制,通过这种机制,服务提供者和服 务使用者可以就将要请求的内容和将要返回的内容进行沟通。 服务描述是一种经过协商的模式,用于描述服务是什么、应该如何调用 服务以及成功地调用服务需要什么数据。 服务描述实际可供使用的服务。 业务流程是一个服务的集合,可以按照特定的顺序并使用一组特定的规 则进行调用,以满足业务要求。注意,可以将业务流程本身看作是服务, 这样就产生了业务流程可以由不同粒度的服务组成的观念。 服务注册中心是一个服务和数据描述的存储库,服务提供者可以通过服 务注册中心发布它们的服务,而服务使用者可以通过服务注册中心发现 或查找可用的服务。服务注册中心可以给需要集中式存储库的服务提供 其他的功能。 服务质量方面包括: 策略是一组条件和规则,在这些条件和规则之下,服务提供者可以使服 务可用于使用者。策略既有功能性方面,也有与服务质量有关的方面; 因此,我们在功能和服务质量两个区中都有策略功能。 安全性是规则集,可以应用于调用服务的服务使用者的身份验证、授权 和访问控制。 北j j j 、l k 人学1 :o 硕f 学f p 沦艾 传输是属性集,可以应川二卜一组【j j 务,以捉供一致的结果。例如,如果 要使用一组服务来完成一项业务功能,则所仃的服务必须都完成,或者 没有一个完成。 管理是属性集,可以应用j 二管耻提供的服务或使川的服务。 2 3 服务建模 s o a 的核心设计哲学在于对业务能力的最火化重用,建模的口标在于提供整 体的、一致的方法,对服务及其服务之f u j 的交互关系以及与之密切相关的业务流 程进行建模,以对服务进行识别、分析制。 2 3 1 建模流程 利用敏捷策略来结合自顶向下和自底向上的方法,随着分析的进展,将现有 的服务按照要求被再次访问和修训盯3 。如图2 2 所示,展示了建模流程,从图 中可以看出,在采用自顶向下分析的同时,采用面向服务的方法进行分析、设计、 开发和测试以及部署,并在需要时再设计、再开发、再测试、再部署。 第1 步 需变时进行再设计、 再牙发、再测试、 再部署 图2 - 2 面向服务的建模流程 f ig u r e2 - 2t h es e r v i c eo r i e n t e dm o d e li n gf l o w 2 32 面向服务分析 分析来源j 业务,在血向服务的建模过剃中,分析s o a 中需要构建哪。刨 务? 服务究竟应该由什么米构成? 以及每个务:盯婴h 装哪此逻辑”? 几乎没仃业界标准的面向服务分十厅原! j 1 1 | ,也没仃、务服务建模的标准山池。 而且,由丁受到文化上的选择和j 一商平台的带响也导致了所表示的业务模,唑的 描进a 式不同。 尽管如此。人多数组织还是使川些常她的业务分析方法“: ( 1 ) 业务流程管理模型 从业务流程获取业务服务,个服务表达了流程的一个步骤或看 个大流程中的一个子流程。如图23 所示: 罔2 - 3q k 务流程臂珲模型 f i g h r o2 - 3 t h em a n a g em o d e lo fb u s i r e ssf l o w 从图2 3 可以看出,这种服务可以是整个流程的执行过程,也可 以是某流程中某个操作过程,也可以是某流程的子流程的操作过程。总之, 它们是直接或者问接来自于业务流程。 分析这种类型的服务需要熟悉业务过程并对底层上作流逻辑非常地 了解,这是因为服务是由业务逻辑所封装的,判断的越准,所分析的服务 的质量越高。 这些服务每个都包含与流程语境中独特的任务相关的操作以任务 为核心的服务通常通过运用建模来产生,这些建模集中1 满足直接的业务 需求。它的优点是:建模之前,通过分析多个用例和业务流程模型来认识 其公共性,因而,产生他仃j 需要较少的分析工作。它的缺点是:这些类型 的业务服务的复用潜力是有限的,它依赖于特定的流程,当这个业务流程 发牛变化的话,服务所组成的使用语境也会跟着变更”1 。 北mi 。n # i 学 i ;f t 论i ( 2 ) 实体模型 以实体为核心的服务通过包含目1 通川的操作来反应实体模艮这” 操作使不同类型的功能与实体处理之川的结合更加容易,在h ;蚓的以实仲 为核心的服务之间的通信,也能j 醯j = :宴体之间内在天系约束来控制”。 图24 所示: 嘲2 - 4 实体模型 f ig u r e2 4 tvm o de ! 】 从图2 4 可以看出,町以把每个服务都看作是一个实体,具有属 性和操作,所谓的操作就是该服务所封装的功能执行,服务之间的关系可 以是1 对l 、l 对多、多对多等多种情况。 这种类型的服务通常遵循面向对象编程( o o p ) 的命名规范,用名词 命名一个服务而使用动词来命名操作。 这种类型的服务灵感来源是实体模型,他们在众多的业务流程中具 有明显的敏捷性,可以重新建模。这种类型的服务的优点是具有高度的可 复用性,但是,需要大量的分析工作,分析人员需要熟练掌握业务需求和 业务流程,而且所产生的服务还需要多次反复修订才能最终满足项目需 要。要产生高质量的服务,相对于业务流程模型的服务来讲。它更耗时, 但它更具有复用价值。 考虑到项目的实际需要,以及社区公共服务平台改造的长远性,服 务应该具有高度的复用性。为此,在本文后面所讲述的核心服务层中的服 务都是这种实体模型类型的服务。 24w e bs ef v jc e 相关技术 简单来说,w e bs e r v i c ( 2 s 就是个阳外界暴露出的能够通过i n tc e t 进 渊用的a p i 或冉晚应用程序。能够川般的编排方法通过i n t e l l n e t 米凋川这世 w e bs e r v l c e s 。它是一种建立在以x m i ,为土的、丌放的w e b 枷范技术基础上的 具有比任何现有的对象技术更好的) t 放性,足建以可互操作的分夼式心j 1 j 科序的 新平台。可以用任何语言,存f r 何平台l 一编;所需要的w e bs e r v i c c s 。 w e bs e r v ic e 本质上是要以标准化的方实现不h 系统之间的互调或者集 成。它由3 个组成部分柬组成“1 : ( 1 ) 服务描述:服务b 要以一种标准化的语占告诉服务 它能提供什么样 的服务、如何调用、在删5 里等信息。 ( 2 ) 服务消息:服务a 要以种标准化的通信消息格式告诉服务b ,他想 调用什么服务、输入参数等。当服务b 完成服务后,会用同样的标准化的通信方 式告诉服务a 相应的服务结果。 ( 3 ) 公共网址:服务b 要注册到相应的公强网址,以便外部能找到它。 这三个要素分别对麻于w e bs e r v i c e 的3 个组成部分w s d l 、s o a p 、u d d i , 如图2 5 所示。 圈2 - 5w e bs e r v i c e 的3 个组成部分 t h et h r e ec o e p o s i t i v ep a r $ so fw e bs e r v i c e 北一if 、i i ,j i :! 硕卜:f 一沦迂 2 4 1w s d l w s d l 是w e bs e r v i c e s 描述语言( 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 bs e r v i c e s 助能的协议,吐 微软和i b m 联合开发 的,并被w 3 c 采纳为标准协议乜洲。它描述了w e bs e r v i c e s 所采用的协议和格式。 w s d l 主要由以下几部分组成:比1 ( 1 ) t y p e s :数据类型定义的容器,它包含了与实际的w e bs e r v i c e 交三i :巾 使用的消息相关的数据类型定义。 ( 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 t t y p e :某个访问入口点类型所支持的操作的抽象集合,这些操作 可以由一个或多个服务访问点来支持,每个操作指向一个输入消息和多个输出消 息。 ( 5 ) b i n d i n g :特定端口类型的具体协议和数据格式规范的绑定,它是由端 口类型定义的操作和消息指定具体的协议和数据格式规范的集合。 ( 6 ) p o r t :协议数据格式绑定与具体w e b 访问地址组合的单个服务访问点, 它指出了用于绑定的地址,因此定义了单个通信终端。 ( 7 ) s e r v i c e :相关服务访问点的集合,它集成了一组相关的端口。 w s d l 是一种描述w e b 服务的标准x m l 格式,它用一种和具体语言无关的抽 象方式定义了给定w e b 服务收发的有关操作和消息。w s d l 是可扩展的,它允许 对端和端点的消息进行描述,同时不去考虑具体的消息格式或者双方用于通信的 网络协议。w s d l 文档可以手工编写,也可以通过相关工具来完成。 2 4 2s o a p s o a p 是一种基于x m l 的消息规范,它描述了数据类型的消息格式以及一整 套串行化规则,包括结构化类型和数组。它还描述了如何使用h t t p 来传输消息。 s o a p 作为一种有效的服务请求被发送到一些网络节点,节点就可以采用下列任 何方法在任意平台上执行,如远程过程调用( r p c ) 、组件对象模型( c o m ) 、j a v a s e r v l e t 、p e r ls c r i p t 。因此,s o a p 提供了应用程序之间的交互能力,这些应 用程序可以在异构的平台上运行,而且可以使用不同程序语言和不同的技术来实 现矧。 s o a p 是一个基于x m l 的、在分散或者分布的环境中交换信息的简单协议, 主要包括四个部分: m2 s 0 au j 主* k “i i , jf k s o a pe n v e l o p e :定义r 个柿进7 j 0 ,i - 的内靠、发送 、接受打、处 理者以及如何处理的桠架。 s o a p 编码规则:门jj 表i 】、使川数拊类弘的实例。 s o a pr p c 表示:袁不远程过程州j 和威答的协定。 s o a p 绑定:使用底层协议交换信息。 s o a p 的个土要优点就在j :它的简单:,s o a p 使川”作为阳络通信讲议, 接受和传送数据参数时采用x 川作为数据格,。s o a t ,作为个协议,l 编稚语 占无关,随着w e bs e r v i c e s 的不断发展,它将极大地改变当丽的开发模式。目 前已经有许多大公司着手支持s o a p 的开发,微软和i b m 都发 了s o a p 的实现版 本,很多公司和研究机构也已经或者正在加入到s o a p 的研究阵营中来。 2 43u d d 统一描述、发现和集成协议( u n i v e r s a ld e s c r i p t i o n d is c o v e r ya n d i n t e g r a t i o n ,ij i ) 1 ) i ) 是套基于w e b 的分布式的w e bs e r v i c e s 信息注册中心的 实现标准规范。它提供了一种基于分布式的商业注册中心的方法,该商业注册中 心维护了一个w e b 服务目录,而且,其中的信息描述格式都是基于通用的) ( m l 格 式的。 u d d i 规范最初是由微软、i b m 、a r t b a - 家公司提出的,到目前为止,参加 u d d i 的公司已经有3 0 0 多家,并且还有更多的公司准备参加。 在u d d i 注册中心有4 种主要的数据类犁:b u s i n e s se n t i t y 、b u s i n e s s s e r v i c e 、b i n d i n gt e m p l a t e 和t m o d e l 。图2 - 6 展示了所有这些数据类型之间的 关系。 b u $ i n e s $ e n t i t v lb u s i n e s ss e r v i c e i播豳黼 广“”“87 趣鞠瞳圈 il b 1 “d 1 8 。t 。叩1 8 。7 “r 3 “捆翻1硝墨叠暖 圈2 - 6u d d i 的数据类型圈 f i g u r e2 6t h ed a t at y p eo fu d d i 北求i 、1 l ,人0 :r 川- 口! i7 川彳f 仑迁 商业实体信息( b u s i n e s se n t i t y ) 提供关于商家的信息,可以包含一个或多个b u s i n e s ss e r v i c e 。这个尚家足服 务提供者。商业实体信息由于记录的伞部是“黄页”信息,因此可以执行诸如定 位某个行业分类中的某个企业或者提供某类,k 品的企业,也叮以定位位于某个地 区范围内的企业。 服务信息( b u s i n e s ss e r v i c e ) : 是一个描述性的容器,将一系列的有关商业流程的w e b 服务的描述组合到 一起。w e b 服务的信息同样可以进行分类,使得可以按照服务的不同行业、产品、 服务类型等等进行划分。 绑定信息( b i n d i n gt e m p l a t e ) : 对于每一个w e b 服务都具有一个或者多个的对w e b 服务的技术描述。主要 包括调用w e b 服务时所必须的信息,如服务访问地址,重定向信息等等。 技术模型( t m o d e l ) : 绑定信息描述的是调用w e b 服务所必须的信息,而技术模型作为辅助的描 述信息,对w e b 服务给予更充分的说明和描述,促使调用能够正确的执行。技 术模型通常记录的是标准、规范的信息。例如发送消息的具体格式、应该使用的 协议、需要采用的安全机制、调用返回的响应格式等。 在u d d l l 0 的规范中,用户可以使用s a v e b u s i n e s s 、s a v e s e r v i c e 、 s a v e t m o d e l 等a p i 来注册和更新注册中心中的b u s i n e s s e n t i t y 、 b u s i n e s s s e r v i c e 以及t m o d e l 等实体信息。 u d d l 2 0 版引入了已校验的外部命名空间的概念。这一机制使得第三方的分 类系统或标识系统的提供者能够扩展u d d i 操作入口

温馨提示

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

评论

0/150

提交评论