(计算机软件与理论专业论文)基于soa的smart+client直销系统设计与研究.pdf_第1页
(计算机软件与理论专业论文)基于soa的smart+client直销系统设计与研究.pdf_第2页
(计算机软件与理论专业论文)基于soa的smart+client直销系统设计与研究.pdf_第3页
(计算机软件与理论专业论文)基于soa的smart+client直销系统设计与研究.pdf_第4页
(计算机软件与理论专业论文)基于soa的smart+client直销系统设计与研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

华东师范人学硕上学位论文 基于s o a 的s m o nc l i e n t 直销系统设计与研究 摘要 随着世界经济及信息技术的迅猛发展,越来越多的企业业务往来通过电子商 务系统展开,而系统i n j 的异构带来了诸多不便为了消除或减弱异构系统问互操 作的不便,面向服务的架构体系( 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 0 舢正从理论 逐步走向实际应用。 在传统软件开发过程中,开发人员需要在a s 和c s 间进行二选一,而智 能客户端( s m a r tc l i e n t ) 技术能够妥善地将两者的优点结合起来,同时摈弃各自 关键缺点。 本文提出将s o a 和s m a r tc l i e n t 技术相结合进行软件开发,并以上海绿谷生 命系统工程有限公司的直销系统为实例。所开发的系统包括两大部门的五个业务 模块:即营运部的门店子系统、客服子系统、物流子系统、个人工作室和财务部 的财务结算子系统。系统由一个八人左右的开发团队负责研究开发,历时六个月 有余;系统于2 0 0 7 年4 月正式投入使用,源代码大约在6 万行左右。其中,作 者主要负责个人工作室的开发,该子系统辅助直销员进行销售业务。在该子系统 内,直销员可以查看产品信息、选购产品、查看定单信息以及个人和团队的业绩 状况等,该子系统的源代码行数在8 0 0 0 行左右。 各个子系统在功能上是相互独立的,但之间需要进行频繁的数据交换,在开 发过程中,各个子系统均选择w c bs e r v i c e s 作为通讯方法,w e bs e r v i c e s 以x m l 文本格式传递数据,能够很好在异构系统中实现数据集成。 在个人工作室的客户端,采用智能客户端技术。智能客户端应用程序能够支 持在线和离线操作,传统方法在判断网络状态时只对客户端进行检测,系统扩展 网络检测算法,不仅检测客户端网络状态,而且开设专门线程检测服务器w e b s e r v i c e s 连接状态,从而提高系统使用时的稳定性。 为了确保w e bs e r v i c e s 的数据安全性,本文提出基于关键任务及角色访问控 制( k e y t a s ka n dr o l eb a s e da c c e s sc o n t r o l ,k t r b a c ) 。即在工作流环境中,对 于关键业务流程系统采用基于任务和角色的双重访问控制,而其他业务则直接采 取基于角色访问控制。同时为了使数据能在各个子系统间顺畅流动,采用s a m l 与x a c m l 相结合的方式来实现w e bs e r v i c e s 的访问控制。采用x a c m l 对用户 进行访问授权控制,以s a m l 进行验证和控制,其访问控制信息包含在w e b s e r v i c e s 的s o a ph e a d 信息中。这种实现方式能够解决系统的身份验证、单点登 录和访问控制等安全问题。 关键词:s o a , w e b 服务,直销,访问控制,智能客户端,x a c m l ,s a m l v 华东师范大学硕十学位论文摹于s o a 韵s m a r tc l i e n t 直销系统设计i 研究 a b s t r a c t a st h ed e v e l o p m e n to f 舀o b a le c o n o m ya n di n f o r m a t i o nt e c h n i c a l ,m o r ea n d m o r eb u s i n e s sb e t w e e nc o r p o r a t i o n si sb a s e do ne l e c t r i c a lb u s i n e s s ;t h o s ei ts y s t e m s w h i c ha r eh e t e r o g e n e o u sb r i n gl o t so fp r o b l e m i no r d e rt oa v o i dt h e s eq u e s t i o n 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 ( s o a ) c o m eo u t a n dw a sa p p l i e di np r a c t i c e s o ai s t h en e w e n t e r p r i s e - c l a s ss y s t e ma r c h i t e c t u r e ,w h i c hi sa d v o c a t e db yi b m ,m i c r o s o f t a n do t h e rs o f t w a r ec o m p a n i e s s o ae m p h a s i z e so nt h eb u s i n e s s f l o wd e p a r t m e n t ,t h a t i st os a y d e p a r t i n gt h eb u s i n e s sl o g i cf r o mt r a d i t i o n a lt i g h t c o m p o s i t i o ni m p l e m e n t i n t od e p l o y a b l es e r v i c ec o m p o n e n t s i nt h et r a d i t i o no fs o f t w a r ed e v e l o p m e n t ,t h ed e v e l o p e rn e e d st om a k eac h o i c e b e t w e e nb sa n dc s ,t oo v e r c o m et h ed e f i c i e n c i e so fb sa n dc s ,s m a r tc i i e n t e m e r g e s ,a n di t sa p p l i c a t i o nd e m o n s t r a t e st h et r e m e n d o u ss u p e r i o r i t y t h i sp a p e ri n t r o d u c e ss o aa n ds m a r tc l i e n tt e c h n o l o g yf i r s t ,a n dt h e na n a l y z e s t h ed e m a n do ft h ed i r e c ts e l l i n gs y s t e m o nt h eb a s i so ft h i sa n a l y s i s ,w ep r o p o s et h e u s eo fw e bs e r v i c e st oa c h i e v es m a r tc l i e n ta p p l i c a t i o n s ,w h i c hs u p p o r to p e r a t i o n b o t ho n l i n ea n do f f l i n e ,w ed i s c u s st h ed e s i g no ft h es y s t e mo no f f l i n ei nd e t a i l , i n c l u d i n gh o w t oj u d g et h en e t w o r ks t a t eo fc l i e n ta n dt h es e c u r i t yo fl o c a ld a t ae t c i t s p e n do u re i g h t p e r s o nt e r ma b o u ts i xm o n t h st of i n i s ht h es y s t e m ,w h i c hi n c l u d ef i v e s u b s y s t e m ss e r v e rf o rt w od e p a r t m e n t s ,t h e ya r ep o s 、c u s t o ms e r v i c es u b s y s t e m 、 w a r e h o u s em a n a g e m e n ts u b s y s t e m 、p e r s o n a ls t u d i of o rb u s i n e s sd e p a r t m e n ta n d f o rf i n a n c ed e p a r t m e n t a n dit o o kc h a r g et h ed e v e l o p m e n to f p e r s o n a ls t u d i o i ns o a , t h e s e c u r i t yo fw e bs e r v i c en e e dt ob ed e s i g n e dc a r e f u l l yi no r d e rt o p r o t e c tt h er i g h tu s e rc a na c c e s st h er i g h ts o u r c e b u tt h et r a d i t i o n a la c c e s sc o n t r o l c a n tw o r kw e l li nw o r k f l o we n v i r o n m e n t ;ia d v a n c ean e wm o d e lo fa c c e s sc o n t r o l , w h i c hi sk e y - t a s ka n dr o l eb a s ea c c e s sc o n t r o l ( k t r b a c ) a n di m p l e m e n ti tw i t h s a m la n dx a c m l t h i sc a nb et h es o l u t i o no fi d e n t i t ya u t h e n t i c a t i o n ,s s oa n d a c c e s sc o n t r 0 1 k e yw o r d : s o & w e bs e r v i c e ,d i r e c ts e l l i n g ,a c c e s sc o n t r o l ,s m a r tc l i e n t ,x a c m 乙s a m l 基于s o a 的s m a n c l i e n t 直销系统设计j 研究 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及 取得的研究成果据我所知,除文中已经注明引用的内容外,本论 文不包含其他个人已经发表或撰写过的研究成果对本文的研究做 出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意 作者签名:金五军 日期:逊! :! : 学位论文授权使用声明 本人完全了解华东师范大学有关保留,使用学位论文的规定, 学校有权保留学位论文并向国家主管部门或其指定机构送交论文的 电子版和纸质版有权将学位论文用于非赢利目的的少量复制并允 许论文进入学校图书馆被查阅有权将学位论文的内容编入有关数 据库进行检索有权将学位论文的标题和摘要汇编出版保密的学 位论文在解密后适用本规定 学位论文作者签名:么洒豸 导师签名: 学位论文作者签名:臼习印 导师签名: b _ ) 弓 日期:遮! 三:!日期:塑2 :2 乡 川 华东师范人学硕十学位论文基于s o a 的s m a nc l i e n t 直销系统设计与研究 第一章绪论 1 1 课题背景 从软件开发伊始,开发人员一直在追求的目标之一就是消除重复、提高软件 的重用性。从最初的结构化、面向对象与设计模式、组件化直至面向方面及面向 服务,无不如此。 当今社会,随着商业的越来越发达,企业业务往来更加频繁与复杂,为企业 业务提供技术支持的软件系统越来越多,系统间的差异也越来越明显。但在商业 上,异构系统间交互的需求却非常迫切,为了实现异构系统间的集成、软件功能 层次的重用,面向服务的软件架构( s o a ) 正快速流行并不断普及中。 在传统的软件结构中,开发人员往往需要从c s 和b s 中做出选择,两者各 有优、缺点,并且两者的优、缺点几乎成互补状态。为了摈弃两者的缺点,将两 者的优点结合起来并得以充分发挥,智能客户端( s m a r tc l i e n t ) 技术应运而 生。 设计良好的智能客户端应用程序既有如c s 应用程序的快速用户响应、丰富 的界面体验、充分利用本地资源的能力:也能够如b s 应用程序充分利用网络资 源;并支持偶尔连接的用户操作和提供智能安装和更新。 直销是一种比较特殊的商业销售模式。在中国,更是几经波折,但随着直 销法的出台及行业操作的不断规范,直销也逐渐被人们所接受。直销是指直销 企业招募直销员,由直销员在固定营业场所之外直接向最终消费者推销产品的 经销方式。由于直销员直接面对消费者,从而产生了大量业务数据,而直销公司 需要管理好直销员并正确而快速地进行财务计算,迫切地需要电子商务的支持。 上海绿谷生命系统工程有限公司正是出于这种考虑,为了提高公司的工作效率, 而委托我们开发一套直销管理系统。 1 2 国内外研究现状 s o a 的概念最初是由g a r t n e r 公司在19 9 6 年提出,它是一种结构模型,能 够通过网络对松耦合、粗粒度的应用组件按照需求进行分布式部署、组合和使用。 s o a 解决方案由可重用的服务组成,带有定义良好且符合标准的己发布接 口。s o a 提供了一种机制,通过这种机制,可以集成现有的遗留应用程序,而 不管它们的平台或实现语言。回顾s o a 发展历程,大致可以分为三个阶段: 华东师范大学硕 学位论文基于s o a 的s m a r tc l i e n t 直销系统没计与研究 1 孕育阶段:这一阶段以x m l 技术为标志,时间大致从上世纪九十年代 末到本世纪仞。虽然这段时期很少提到s o a ,但x m l 的出现无疑为 s o a 的兴起奠定了稳固的基石。 2 发轫之初:2 0 0 0 年以后,随着w e b 服务的不断成熟,特别是w e b 服 务三个著名标准的发布和完善,即s o a p 、w s d l 、u u d i ,推动了w e b 服务的普及和发展,从而也促进了s o a 的发展。 3 成长阶段:从2 0 0 5 年开始,s o a 推广和普及工作开始加速。各大厂商 组成的协作组织通过共同的努力制定中立的s o a 标准。主要体现在 s c a s d o w s - - p o l i c y 的发布与完善。这三个规范的发布,标志着s o a 进入了实施阶段。 从整体架构角度看,人们已经把关注点从简单的w e b 服务拓展到面向服务 架构的各个方面,包括安全、业务流程和事务处理等。 2 0 0 6 年1 0 月,o a s i s l l 】组织制定了s o a 参考模型,据o a s i s 标准起草 委员会负责人j a m e sb r y c ec l a r k 的说法,这个标准是具有里程碑意义。因为这 个已产生的参考模型试图去回答什么是s o a 。现在技术委员会正在进行构建参 考模型的下一步工作,即在s o a r m 规格的基础上发展s o a - r a 。 智能客户端开发模式自从微软提出后,由于其较好地糅合b s 和c s 结构 的优点,已有部分软件开发商在软件开发中采用了这一新技术。国家计生委生 殖健康计划生育管理系统是由国家计生委、微软技术专家及湖南金桥开发和实 施的一套智能客户端应用程序。该系统包括了县级系统和乡级系统两级子系 统,覆盖了全国2 0 多个省和1 0 0 余个乡镇。由于网络条件及操作人员水平问 题,系统设计和开发过程中,需要解决以下问题: 1 在两级系统之间没有网络连接的时候,乡级系统仍然能够接受和处理 用户的业务请求。 2 在乡级系统和县级系统连接上线的时候,乡级系统提交缓存的业务请 求到县级处理和同步两级系统的数据以及数据格式。 3 在县级系统有了更新的应用程序版本后,乡级系统可以自动下载最新 的程序版本,并且实现无缝安装。 而智能客户端能够妥善地解决这些问题。 1 3 本文主要工作 论文的主要工作是在实际项目的背景下,通过分析面向服务的架构和智能客 户端技术,针对直销活动中的现实需求,采用s o a 和s m a r tc l i e n t 技术相结合进 行系统开发。为了提高系统的可移植性,对系统服务器端的w e bs e r v i c e s 进行抽 2 华东师范大学硕 学位论文摹于s o a 的s m a r tc l i e n t 直销系统设计与研究 象,服务被设计为三层;为了确保系统使用过程的稳定性,智能客户端会定时检 测网络状态包括服务器w e bs e r v i c e s 的可使用性,一旦发现网络处于脱机状态 时,系统即会操作本地数据;为了保证系统的安全性,本文提出了基于关键任务 及角色双重访问控制( k e y t a s ka n dr o l eb a s e da c c e s sc o n t r o l ,k t r b a c ) 。即对 于关键业务流程采用基于任务和角色的双重访问控制,而一般的业务只采取基 于角色访问控制,并采用x a c m l 和s a m l 相结合来实现系统的访问控制。 本文所做的工作如下: 1 将s o a 和s m a r t c l i e n t 技术相结合 s o a 系统能够妥善处理异构系统间的交互问题。而智能客户端结合c s 和 b s 两者的优点,能够支持系统在线和离线的数据操作。将两者相结合,扩展系 统的使用范围,提高系统的处理能力。 2 以上海绿谷生命系统工程有限公司直销系统为实例进行开发 本文详细介绍了系统的设计,为了提高系统的可移植性,将系统服务设计为 三层:数据访问层、业务组合层和服务接口层,各层分工明显,对外公开粗粒度 的w e b 服务接口。 3 提出基于关键任务及角色访问控制( k e y t a s ka n dr o l eb a s e da c c e s s c o n t r o l ,k t r b a c ) 根据系统实际需求,提出k t r b a c 。由于传统访问控制在工作流中显得力 不从心,于是抽象出系统中的关键业务流程,对于属于系统关键业务流程中的业 务,系统采用基于任务和角色的访问控制,而其他的业务则直接采用基于角色访 问控制。这既可以利用基于角色访问控制技术的成熟,也可以发挥基于属性的访 问控制在工作流中的优势,同时减轻了基于属性访问控制在实现上的繁琐性。 4 采用s a m l 和x a c m l 相结合的方式实现系统访问控制 s a m l 和x a c m l 都是o a s i s 组织制定的标准,其目的是希望在异构系统 中,访问控制信息能够在信任系统无障碍的交互,从而实现系统间的无缝访问。 系统采用s a m l 和x a c m l 相结合的方式实现系统访问控制k t r b a c 。 从文章的结构看,全文分为六章: 第一章:介绍课题的研究背景、国内外关于面向服务的架构和智能客户端的 研究现状,在此基础上介绍了课题的研究思路及文章主要工作,并给出了大体结 构。 第二章:主要介绍面向服务的架构体系和智能客户端技术及相关概念和结 构特征。分析s o a 的实现方法和其安全方面的挑战与对策,并分析s o a 与智能 客户端相结合的可行性,给出了基于服务的智能客户端( s o s c l 模型。 3 华东师范人学硕j 二学位论文基于s o a 的s m a r t c l i e n t 直销系统设计与研究 第三章:介绍了系统的总体设计,给出系统各个模块的主要功能。着重论 述了对系统中关键实现部分即w e bs e r v i c e 的实现,系统对其进行抽象,将其设 计为三层以增加系统的可移植性。同时对系统同志进行专门设计,使其能够记 录系统各个操作的主要信息,系统管理员可以通过查看系统日志分析系统安 全。 第四章:详细介绍了直销系统中个人工作室的设计和实现。在系统客户端 对系统联机检测进行扩展,以确保系统使用过程中的稳定性。同时论述了系统 客户端数据缓存、客户端与服务器端的数据同步、本地的数据安全等方面的解 决方案。 第五章:讨论w e bs e r v i c e s 访问控制,分析传统访问控制的不足,针对直 销系统的特殊性,抽象出系统的关键业务流程提出了k t b a c ,即对于关键业务 流程采用基于任务和角色的双重访问控制,而一般的业务只采取基于角色访问控 制。为了实现能够在异构系统进行授权访问,系统采用x a c m l 和s a m l 相结 合来实现访问控制。 第六章:总结与展望,指出下一步的工作重心。 1 4 本章小结 本章主要介绍了s o a 和s m a r tc l i e n t 技术的由来以及课题背景,在此基础 上,提出采用s o a 和s m a r tc l i e n t 相结合的方式来开发这套直销系统。然后介 绍了s o a 和s m a r tc l i e n t 的一些最新研究进展,并介绍了课题的研究思路及文 章主要工作,最后大致介绍了全文的章节结构划分。 4 华东师范大学硕上学位论文摹f s o a 的s m a r t c l i e n t 直销系统设计与研究 第二章基于s o a 的智能客户端体系结构 2 1 面向服务的架构体系 随着世界经济的发展,企业及企业间的业务趋于频繁和复杂化:支持这些业 务的信息系统暴露了以下问题: 大量异构系统并存; ( 2 1 大量、频繁的数据传递,速度缓慢并且不稳定; ( 3 ) 软件版本升级很困难,升级的费用昂贵。 为了解决这些问题,面向服务架构( 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 es o a ) 逐步进入人们视眼。当初s o a 是在大型企业需要升级、改造遗留系统的背景下 出现的,由于迁移这些系统中存放多年的数据和业务风险很大,不得不采用 s o a 的方式。经过数年的技术发展与沉淀,s o a 已提升到企业战略的高度。人 们期望通过s o a 能够摆脱以往面向技术解决方案的束缚,轻松应对企业商业服 务发展和变化的需要。经过各大公司的努力,现己陆续推出了s o a 策略、架构 以及产品,真正将s o a 推动到可部署阶段。 但迄今为止,s o a 还没有一个公认的定义。许多组织从不同的角度和侧面 对s o a 进行描述,比较典型的有: 。 w 3 c 【2 l 将s o a 定义为:“一种应用程序体系结构,在这种体系结构中, 所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以 定义好的顺序调用这些服务来形成业务流程”。s o a 的关键是“服务”的概 念,w 3 c 将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需 的最终结果”。 s e r v i c e a r c h i t e c t u r e c o m 将s o a 定义为:“本质上是服务的集合。服务 间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协 调进行某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装 完善、独立于其他服务所处环境和状态的功能函数。” l o o s e l y c o u p i e d c o m 将s o a 定义为:“按需连接资源的系统。在s o a 中,资源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。 与传统的系统结构相比,s o a 规定了资源间更为灵活的松散耦合关系。” g a r t n e r 则将s o a 描述为:“客户端服务器的软件设计方法,一项应用 由软件服务和软件服务使用者组成s o a 与大多数通用的客户端朋艮务器模型的 不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。” 5 毕东师范大学硕上学位论文基于s o a 的s m a r t c l i e n t 直销系统设计与研究 综合这些具有代表性的定义:s o a 是一个组件模型,它通过定义良好的接 口和契约将应用程序不同功能单元( 称为服务 联系起来。接口和契约是采用中 立的方式进行定义,独立于具体的硬件平台、操作系统和编程语言,以便以一种 统一和通用的方式进行服务交互。 这种具有中立的接口定义( 没有强制绑定到特定的实现上l 的特征称为服 务问的松耦合性。服务的松耦合性能够对企业的业务和信息变化作出快速反应: 当服务的内部结构和实现发生改变时,系统能够继续工作。而紧耦合应用程序 在需要修改时就显得更脆弱。同时松耦合性能够更方便地在异构系统间进行信 息交换。 2 1 1s o a 基本特征 s o a 的实施具有一些鲜明的特征。实施s o a 的关键目标是实现企业i t 资 产的最大化重用。具体来说s o a 具有以下几个方面的特征【3 】: ( 1 ) 松耦合 s o a 是“松散耦合”的组件服务,这一点区别于大多数其他的组件架构。 松散耦合是指在服务实现和客户如何使用服务方面,将服务使用者和服务提供 者隔离开来。其关键点是服务接口作为与服务实现分离的实体而存在。这使服 务实现能够在完全不影响服务使用者的情况下进行修改。 ( 2 ) 独立的功能实体 在网络环境中,任何访问请求都有可能出错,因此任何企图通过网络进行 控制的结构都会面l 晦稳定性问题。传统的组件技术,如n e tr e m o t i n g ,e j b , c o m 或者c o r b a ,都需要有一个宿主( h o s t 或者s e r v e r ) 来存放和管理这些 功能实体;当这些宿主运行结束时,这些组件的寿命也随之结束。这样当宿主 本身或者其它功能部分出现问题的时候,在该宿主上运行的其它应用服务就会 受到影响。 s o a 架构中强调实体自我管理和恢复能力。常见的用来进行自我恢复的技 术,比如事务处理( t r a n s a c t i o n ) ,消息队列( m e s s a g eq u e u e j ,冗余部 署( r e d u n d a n td e p l o y m e n t ) 和集群系统( c l u s t e r j 在s o a 中都起到至关 重要的作用。 ( 3 】粗粒度服务 服务粒度( 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 ) 两种。其中,细 粒度服务提供一项特定的业务功能,粗粒度服务是那些能够提供高层商业逻辑 的可用性服务,代表了技术组件方法。 6 华东师范人学硕“学位论文基于s o a 的s m a r tc l i e n t 直销系统设计与研究 粗粒度服务在往复效率,事务稳定性方面具有优势,但也有通用性差、重 用性设计困难等缺点。解决该问题的方法就是权衡双方的利弊,允许采用不同 的粗粒度等级来创建服务,选择正确的抽象级别是s o a 建模的一个关键问题。 在设计中应该不损失或损害相关性、一致性和完整性的情况下,尽可能地进行 粗粒度建模。通过一组有效设计和组合的粗粒度服务,业务专家能够有效地组 合出新的业务流程和应用程序。 ( 4 ) 标准化的接口 s o a 通过服务接口的标准化描述,使得该服务可以提供给任何异构平台和 任何用户接口使用。这一描述囊括了与服务交互需要的全部细节,包括消息格 式、传输协议和位置。该接口隐藏了实现服务的细节,允许独立于服务所基于 的软硬件平台和编写服务所用的编程语言。近年来出现的两个重要标准即x m l 和w e b 服务增加了全新的重要功能【4 】,将s o a 推向更高的层面,并大大提升 了s o a 的价值。x m l 和w e b 服务标准化的开放性使企业能够在所部署的所有 技术和应用中采用s o a 的w e b 服务使应用功能得以通过标准化接口提供,并 可基于标准化传输方式、采用标准化协议进行调用。 2 1 2s o a 与w e b 服务的关系 s o a 概念定义了服务如何相互理解以及如何交互,s o a 应用是服务使用者 通过接口访问服务而形成。潜在使用者能够发现由服务提供者发布的该类接口并 通过网络来进行调用。这种设计思想同w e b 服务的具体实现技术较为吻合,因 此,使用w e b 服务来实现s o a 具有天然的优势。 s o a 与w e b s e r v i c e s 是两个不同层面的概念【5 】,前者是概念模式,面向 商业应用:后者则是实现模式,面向技术框架。其中的区别是战略与战术间的 区别。而另一方面,w e b 服务在需要交互的服务之间如何传递消息有具体的指 导原则。从战术上实现s o a 模型是通过h t t p 传递的s o a p 消息的w e b 服务 模型。因而,从本质上讲,w e b 服务是实现s o a 的具体方式之一。 尽管就目前而言,w e b 服务是目前实现s o a 的最佳方式,但是s o a 实现 方式并不局限于w e b 服务。其他使用w s d l 直接实现服务接口并且通过x m l 消息进行通信的协议也可以包括在s o a 之中。c o r b a 6 和i b m 的m q 系统【7 l , 通过使用能够处理w s d l 的新特征也可以参与到s o a 中来。 2 1 3s o a 的安全性 采用s o a 的应用程序希望能够在来自不同厂商异构平台的多种服务间进行 交互,而每个服务有可能都具有各自独立的安全域。这些安全域可能由不同企 7 华东师范人学硕上学位论文基于s o a 的s m a n c l i e n t 直销系统设计与研究 业的不同部门负责管理和维护,这要求必须在s o a 架构范围内建立统一的信任 体系,使得服务请求能够在服务问自由流动,系统能够自动地将请求者身份随 着边界的不同而转换,身份验证和授权在这样的环境中变得更加富于挑战性。 如何应对来自合作伙伴或第三方交互服务请求的威胁将是s o a 安全防御的一项 重要课题。如果没有相应措施,未受保护的w e b 服务很容易超负荷运转,未受 保护的w e b 服务很容易被来自黑客的大量s o a p 消息所“淹没”,结果可能导致 拒绝式攻击从而损害系统的正常功能。 w e b 服务采用基于x m l 通信协议,为了保障基于x m l 的通信安全,需要 从传输层和消息层两个层面进行保护。通过传输安全,可以保证只允许授权用户 可以访问w e b 服务,目前可扩展访问控制标记语言f e x t e n s i b l ea c c e s s c o n t r o lm a r k u pl a n g u a g e ,x a c m l 8 和w e b 服务策略( w s p o l i c y ) 是专门 用来解决这个问题的两个标准:通过消息安全,可以保证w e b 服务环境中交换的 x m l 消息的完整性和保密性,w e b 服务安全 w e bs e r v i c es e c u r i t y ,w s s ) 和 安全声明标记语言( s e c u r i t ya s s e r t i o nm a r k u pl a n g u a g e ,s a m l ) 9 1 月j j 用来解 决这方面的问题。 安全性问题【1o l 已引起了业界足够重视,各个组织已经发布了数十个关于 s o a 的标准和规范,在这里只介绍s a m l 和x a c m l ,其他相关s o a 安全保护 方法请参阅相关资料。 2 1 3 1 安全声明标记语言( s a m l ) s a m l 是国际标准化组织0 a s i s 安全服务协会制定的基于m l 的安全标 准,是基于x m l 面向w e b 服务的架构。其核心是定义安全数据表示形式的 x m l 模式,它可以作为在应用程序之间传递安全上下文的通用解决方案的一部 分。这种安全数据表示形式就是一个信任的第三方安全服务的声明,该声明宣称 身份验证、属性或者授权行为和表现出来的同样正确。 2 1 3 1 1s a m l 组成部分 s a m l 规范描述了四个主要组成要素:声明、请求响应协议、绑定以及配置 文件。 1 声明 声明可能包含有关主体所执行的身份验证操作的相关信息、主体属性以及 是否允许该主体访问特定资源的授权决策。一组声明组成一个主体的配置文 件。配置文件中的声明可能来自不同的组织。 声明有三种类型: 8 华东师范大学硕t 学位论文基于s o a 的s m a n c l i e n t 直销系统设计与研究 验证:验证声明处理主体在特定时刻、特定机制下的身份验证。 属性:属性声明提供联系特定属性与给定主体的一种机制。 授权决策:授权决策声明管理给定主体访问资源的权限。 s a m l 权威可进一步划分为验证权威、属性权威或者策略决策点( p o l i c y d e c i s i o np o i n tp d p ) 。声明的使用者是客户或者s a m l 权威本身。 2 请求响应协议 s a m l 请求响应协议为发送声明请求和获取响应定义了一种标准消息格 式。响应消息格式对应请求的类型;s a m l 请求协议定义的消息格式采用下面 的请求类型: s u b j e c t q u e r y :允许使用模式定义新的查询类型,指定一个s a m l 主体。 a u t h e n t i c a t i o n q u e r y :请求一个主体的验证信息,返回验证声明作为响 应。 a t t r i b u t e q u e r y :请求主体的属性信息,响应中包括请求者拥有权限的那 些属性的属性声明。 a u t h o r i z a “o n d e c i s i o n q u e r y :进行授权决策,根据请求者提交的证据, 该查询决定是否授权该请求者访问受保护的资源。 a s s e r t i o n l d r e f e r e n c e :根据唯一标识符检索特定的声明。 a s s e r t i o n a r t i f a c t :根据代表声明的a r t i f a c t 文件检索一个声明。 3 绑定 s a m l 绑定定义了s a m l 请求和响应稍息在标准通信传输协议上的映射。 目前常采用s o a p 绑定。s a m ls o a p 绑定描述了s a m l 请求和响应消息交换 如何映射到s o a p 消息交换上。实现也可以选择基于其他传输协议系的s a m l , 如s m t p 或f t p 的s o a p 上的s a m l 。 4 配置文件 s a m l 规范定义了一组称为配置文件的规则,描述了实现应该如何在底层 协议消息中插入、提取和集成声明。比如s a m l 的s o a p 配置文件描述了如何 将s a m l 声明添加到s o a p 消息、如何在s o a p 消息中处理s a m l 错误。 s a m l 规范中定义了两个配置文件: 发送配置文件或推式配置文件:源站点把s a m l 声明上传,将有效负载传递 给目标站点,接着,源站点从目标w e b 站点请求一个授权标志,后者返回一个 授权决策标志,源站点使用这个标志将主体重定向到目标w e b 站点。 a r t i f a c t 配置文件或者拉式配置文件:一个s a m la r t i f a c t 作为u r l 查询字 符串的一部分带给目标站点,该s a m l a r t i f a c t 在返回源站点时明确地引用一个 9 华东师范丈学硕士学位论文基于s o a 的s m a r tc l i e n t 直销系统设计上j 研究 声明。对目标站点的一些保护内容感兴趣的主体从源站点发送一个s a m l a r t i f a c t ,目标站点使用这个标志取得验证授权信息并决定是否允许访问。 2 1 3 1 2s a m l 工作原理 s a m l 的工作原理可以描述为以下: 1 用户向认证机构提交证书( 这里的认证机构是指s a m l 能够识别的任何 安全引擎或商业应用程序) 。 2 认证机构对用户的证书进行断言,并且产生一个认证声明以及一个或更 多的属性声明( 例如用户资料信息) 。用户立即就会得到由s a m l 断言的 认证和识别标志。 3 用户使用这个s a m l 标志尝试访问一个受保护的资源。 4 最终用户对保护资源的访问请求被策略实施点p e p ( p o l i c ye n f o r c e m e n tp o i n t ) 截取,同时最终用户的s a m l 标志( 认证 声明) 被p e p 提交给属性管理。 5 属性管理或策略决策点p d p ( p o l i c yd e c i s i o np o i n t ) 基于自身的政策 标准产生一个决定。一旦批准最终用户对保护资源进行访问,就会产生一个 附加在s a m l 标志上的属性声明。最终用户的s a m l 标志就能够以单点登 录方式呈现给信任的商业伙伴。 具体实施步骤大体如下: 主体通过源站点认证并向它请求到目标站点受保护资源的链接: 2 ) 源站点使用验证标志重定向主体: ( 3 1 主体使用该标志向目标站点请求受保护的资源: ( 4 ) 目标站点p e p 检查该p d p 的权限: 【5 ) p d p 内部请求源站点使用该标志进行s a m l 验证断言: ( 6 j 源站点根据标志向目标站点提供s a m l 验证断言: ( 7 ) 目标站点向源站点发送s a m l 令牌,主体接收令牌访问目标站点受保护 的资源。通过这样的方式,当主体请求访问目标站点时,主体信息可由 目标站点通过s a m l 标志直接从源站点请求获得,不需要用户主体的再 一次输入。 2 1 3 2 可扩展访问控制标记语言( x a c m l ) 当前绝大多数访问控制和授权系统都实现了专用的、简化的模型,通常遵 循如下模式: 处于特定环境中的主体首先向系统发出请求。 0 华东师范大学硕仁学位论文摹于s o a 的s m a n c l i e n t 直销系统设计与研究 系统随后检查其资料库,并为该请求授权,或拒绝该请求。 资料库中包含目标资源信息、主体信息和主体可能隶属的组的信息。所有 这些信息都存储在资料库中,并总称为访问控制列表( a cl ) 。a c l 首先出现于 二十世纪七十年代,目前仍在使用。随着时间的推移,人们以各种方式实现了各 种解决方案,而这些解决方案则成为了专用的解决方案。但由于安全性的问 题,某些解决方案尚不完善,过于简单。这就需要使用新的技术来弥补,而可 扩展的访问控制标记语言x a c m l 就是这样一种技术它提供定义请求主体与请 求目标的行为规则的语法,是国际标准化组织o a s i s 安全服务协会制定的基于 x m l 的安全标准。 2 1 3 2 1x a c m l 各组成部分间的关系 x a c m l 语言主要有规则、策略、策略集、目标和属性等组成。图2 1 给出 了x a c m l 策略语言各组成部分之间的关联。 图2 1x a c m l 策略语言模型 规则【r u l e ) :规则是策略最基本的组成单元,规定请求者提供属性进行运 算。规则必须被封装在策略里,主要包括目标( t a r g e t ) 、结果( e f f e c t j 和条 件( c o n d i t i o n ) 。规则的目标定义为一个应用规则的主体、资源和动作的集 合。条件元素还可以进一步细化目标的范围。规则的结果有两个值:“允许” 和“拒绝”。规则的条件是一个布尔表达式,对属性进行评估。x a c m l 的p d p 验证请求上下文中的主体、资源和动作是否都出现在用来评价决策请求的规则 的目标中。 华东师范人学硕上学位论文基于s o a 的s m a r tc l i e n t 直销系统设计与研究 策略f p o l i c y ) :x a c m l 数据流程的系统实体之间并不交换规则,而是由 策略管理点p a p 将规则组合成策略。策略由四种部分组成:目标、规则组合算 法标识符、规则集合和责任。目标指明应用策略集、策略和规则的主体、资源 和动作的条件:规则组合算法是指对组成策略的规则的评价结果进行组合。责任 定义为完成授权决策后就执行的动作。 策略集( p o l i c y s e t ) :由目标、策略组合算法标识符、策略集合和责任四 部分组成。 目标( t a r g e t ) :策略集、策略或规则可以应用到一个特定的请求,则目标 的主体( s u b j e c t ) 、资源( r e s o u r c e j 和动作( a c t i o n ) 就必须满足条件:反 之,如果目标的所有条件都满足,则关联的策略集、策略或规则就能应用到请 求。目标就是策略实施的对象。如果策略经验证可以应用于请求,则对策略的 规则进行规则的条件评估。条件评估的结果只能为允许、拒绝、不确定或不可 应用四种选择的之一。 属性( a t t r i b u t e ) 、属性值( a t t r i b u t ev a l u e ) 和函数 f u n c t i o n ) :属 性是指主体、资源、动作和环境的特点,包括标识、日期和时间。请求可以包 含四种属性:主体、资源、动作和环境( 可选的) 。策略通过属性指定器和属性 选择器来解析属性值。属性指定器允许策略为属性指定特定的名称和类型,然

温馨提示

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

评论

0/150

提交评论