




已阅读5页,还剩74页未读, 继续免费阅读
(企业管理专业论文)一种面向对象的Web+Service+API框架设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种面向对象的w e bs e r v i c ea p i 框架设计与实现 摘要 在采用s a a s 模式的企业中,快速响应并提供符合客户需求的w e bs e r v i c e 是企业核心竞争力的关键。在实际的开发实践中,复杂的接口形式增加了开发 者修改或者开发新的w e bs e r v i c e 功能的难度。建立统一的接口形式,实现基 本的对象c r u d 功能,使代码具有良好的可重用性,这些客观存在的需求,使 得设计并实现一个满足这些要求的框架具有实用价值。 本文设计并实现了一种面向对象的w e bs e r v i c ea p i 框架,该框架为w e b s e r v i c e 用户提供了一套固定数量的a p i ,利用该框架服务调用者可以通过特定 的命令和参数实现对w e bs e r v i c e 内部对象的操作,同时,框架对外提供s o a p 和r e s t 形式的接口。面向对象的w e bs e r v i c ea p i 框架可以使用最少的接口实 现应用系统功能,有效的控制了接口的数量,缩短了w e bs e r v i c e 调用者的学 习曲线。这一框架同时实现了s e s s i o n ,c a c h e 和事务管理,并且提供安全验证 机制,以及数据合法性的验证机制,有效的封装了业务逻辑和数据存取信息。 利用这一a p i 框架可以在不增加接口数量的前提下,通过配置文件来添加对象, 为系统提供了良好的可拓展性。 本文的主要工作如下: 1 ) 分析了传统面向功能的接口设计方式的缺陷,并提出了面向对象的a p i 设计方案。在方案中,通过设计两种层次的命令( s e s s i o n 层和0 b j e c t 层) 来实现 框架需要实现的s e s s i o n ,c a c h e 和事务管理以及对对象不同操作要求; 2 ) 对框架的整体架构进行了设计,划分了不同的功能模块:s e c u r i t y ,c a c h e m a n a g e m e n t ,s e s s i o nm a n a g e m e n t ,d a 0 层以及对象配置; 3 ) 对象配置是整个框架的核心,所有的功能实现均是建立在配置文件的基 础之上,它也是框架可扩展性的重要体现,配置文件配置了整个w e bs e r v i c e 中 所有的对象信息,对象的结构信息,对象属性与数据库表字段的映射,对象的 访问约束,以及数据操作的s q ls t a t e m e n t 等等; 4 ) 按照各个模块对框架的实现进行了阐述,详细介绍了功能实现中各个类 的功能,以及功能实现的流程,主要包括框架的初始化,对象配置文件解析, s e s s i o n 管理,c a c h e 管理以及d a o 层的实现。 关键词:w e bs e r v i c ea p i框架接口设计面向对象对象模型 t h e d e s i g na n di m p l e m e n t a t i o no fa no b j e c t 0 r i e n t e dw e bs e r v i c ea p i f r a m e w o r k a b s t r a c t i nt h ee n t e r p r i s e st h a ts a a sm o d e li s u s e d ,r e s p o n s er a p i d l ya n dp r o v i d i n g w e bs e r v i c ei nl i n ew i t ht h ec u s t o m e r sn e e d si st h ek e yo ft h ee n t e r p r i s e sc o r e c o m p e t i t i v e n e s s i nt h ep r a c t i c eo ft h e d e v e l o p m e n t ,t h ec o m p l e x i t yo ft h e i n t e r f a c e sf o r mm a k et h ed e v e l o p e rc h a n g eo ra d dan e ww e bs e r v i c ef u n c t i o n s m o r ed i f f i c u l t t h ea c t u a ln e e do fe s t a b l i s h i n gu n i f i e di n t e r f a c e s ,i m p l e m e n t a t i o n o ft h eb a s i cc r u df u n c t i o n sf o rt h eo b j e c t sw i t hg o o dc o d er e u s a b i l i t ym a k et h e d e s i g na n di m p l e m e n t a t i o no faf r a m e w o r kt om e e tt h e s ef u n c t i o n sh a sp r a c t i c a l v a l u e t h i st h e s i sp r o p o s e san o v e lf r a m e w o r ko fak i n do fo b j e c to r i e n t e dw e b s e r v i c ea p i st h a ta r ea b l et os i g n i f i c a n t l yi m p r o v et h ed e v e l o p m e n to fw e b s e r v i c e i np a r t i c u l a r ,af i x e dn u m b e ro fw e l ld e s i g n e da p if u n c t i o n sa r ei n c o r p o r a t e da n d s e r v i c er e q u e s t e r so p e r a t ei n t e r i o ro b j e c t so fw e bs e r v i c e b yc a l l i n gt h e s es p e c i a l a p lw i t hs o m ep a r a m e t e r s i na d d i t i o n ,t h ef r a m e w o r kp r o v i d e s t h eu s e r sw i t h s o a pa n dr e s ti n t e r f a c e m o r e o v e r ,t h es e s s i o n , c a c h ea n dt r a n s a c t i o n m a n a g e m e n t ,a n das e c u r i t ym e c h a n i s ma n dad a t aa u t h e n t i c a t i o nm e c h a n i s ma r e i n c o r p o r a t e d t h ep r o p o s e df r a m e w o r ki s o l a t e st h ed a t al a y e rf r o mt h es e r v i c ea n d e x t e r n a lc u s t o m e ra c c e s sl a y e r s t h eo b j e c to r i e n t e dw e bs e r v i c ea p in e e d sm u c h l e s sn u m b e ro fi n t e r f a c e sf o rac e r t a i ns e r v i c ea n dc a ns i g n i f i c a n t l yc u td o w nt h e t i m ec o n s u m p t i o nf o rw e bs e r v i c e sr e q u e s t e r sw h e nc o m p a r e dw i t ht r a d i t i o n a la p i d e s i g n m ym a j o rw o r k si n c l u d e : 1 ) a n a l y s et h ef a u l to ft h et r a d i t i o n a lf u n c t i o n so r i e n t e da p id e s i g n ,a n d p r o p o s et h eo b j e c to r i e n t e dw e bs e r v i c ea p id e s i g n t h ea p id e s i g nt w ol a y e r s c o m m a n d s ( s e s s i o n l a y e ra n do b je c t l a y e r ) t oi m p l e m e n t t h es e s s i o n m a n a g e m e n t ,c a c h em a n a g e m e n t ,t r a n s a c t i o nm a n a g e m e n t ,a n dd i f f e r e n to p e r a t i o n s o nt h eo b j e c t s ; 2 ) d e s i g nt h es t r u c t u r eo ft h ef r a m e w o r k ,p a r t i t i o ns o m ed i f f e r e n tf u n c t i o n a l m o d u l e :s e c u r i t y ,c a c h em a n a g e m e n t ,s e s s i o nm a n a g e m e n t ,d a o1 a y e ra n d o b j e c tc o n f i g u r a t i o n ; 3 ) t h eo b j e c tc o n f i g u r a t i o ni st h ec o r eo ft h ef r a m e w o r k ,a l lf u n c t i o n so ft h e f r a m e w o r k d e p e n d o nt h ef i l e so ft h e o b j e c tc o n f i g u r a t i o n ,a n dt h e o b j e c t c o n f i g u r a t i o ni st h ei m p o r t a n c eo ft h ee x p a n s i b i l i t yo ft h ef r a m e w o r k t h ef i l e so f t h e o b je c tc o n f i g u r a t i o nc o n f i ga l lt h eo b j e c t si na nc e r t a i nw e bs e r v i c e ,t h e i n f o r m a t i o no ft h eo b j e c ts t r u c t u r e ,a n dt h em a po ft h eo b j e c tp r o p e r t i e st ot h ef i e l d o ft h et a b l ei nt h ed a t a b a s e ,t h ec o n s t r a i n to fa c c e s s i n gt h eo b je c t ,a n ds o m es q l s t a t e m e n t st h a tm a n i p u l a t et h ed a t a b a s e ,a n ds oo n ; 4 ) i l l u m i n a t et h ei m p l e m e n t a t i o n o ft h ep r o p o s e df r a m e w o r k ,i n t r o d u c e r e l e v a n tc l a s s e sf u n c t i o na n dt h ef l o wo ft h ef u n c i t o n si m p l e m e n t a t i o n ,i n c l u d i n g t h em o d u l eo fi n i t i a l i z a t i o no ft h ef r a m e w o r k ,t h ep r o c e s so fp a r s i n gt h eo b je c t c o n f i g u r a t i o n f i l e s , s e s s i o n m a n a g e m e n t ,c a c h em a n a g e m e n t a n dt h e i m p l e m e n t a t i o no ft h ed a ol a y e r k e y w o r d s :w e bs e r v i c ea p hf r a m e w o r k ;i n t e r f a c ed e s i g n ;o b j e c to r i e n t e d ; o b je c tm o d e l 图1 - 1 图1 - 2 图1 - 3 图2 1 图2 - 2 图2 - 3 图3 - 1 图3 - 2 图3 - 3 图3 - 4 图4 - 1 图4 - 2 图4 - 3 图4 - 4 图4 - 5 图4 - 6 图4 - 7 图4 - 8 图4 - 9 图4 - 1 0 图4 - 11 图4 - 1 2 图4 - 1 3 图4 - 1 4 图4 - 1 5 图4 1 6 图4 - 17 图4 1 8 图5 - 1 图5 - 2 图5 - 3 图5 - 4 图5 - 5 图5 - 6 插图清单 w e bs e r v i c e 调用过程3 w e bs e r v ic ea p i 应用5 论文的思路一9 s o a p 请求和响应1 3 h e l l o s e r v i c e 的w s d l 文件结构1 3 两个服务程序1 4 i b a t i s 工作原理2 0 框架在w e bs e r v i c e 应用系统中的地位和功能结构2 1 对象模型2 3 命令执行过程2 3 o b j e c t c o n f i g 文件结构2 8 终端节点结构3 0 c a ll 节点结构3 0 c a s e 节点结构3 1 o d j e c t r e f e r e n c e 节点结构3 1 条件节点3 2 对象配置文件结构3 4 c a c h e 节点配置3 4 表信息配置3 5 s q l s 节点配置3 6 d m l 操作配置3 6 j o i n t a b l e d e f 节点结构3 7 r e c u r r e n c e s 节点结构3 8 e ci 节点结构3 9 e n u m s 节点结构4 2 t r i g g e r 节点结构4 4 v a l i d a t e 节点结构4 4 o b j e c t r e f e r e n c e 节点结构4 5 框架初始化过程4 7 对象解析的框架4 8 e n t i t y 接口u m l 图4 9 对象实例化过程5 0 l o g i n 过程中s e s s i o n 管理5 2 l o g i n 后续操作中对s e s s i o n 的管理5 3 图5 - 7 图5 - 8 图5 9 图5 一l o 图5 - 11 图5 1 2 图5 - 1 3 图5 - 1 4 图5 - 1 5 图5 1 6 图5 - 17 图5 - 1 8 j g r o u p s 管理本地和远程的c a c h e 5 4 c a c h e 接口5 4 d a o u ti 1 类u m l 图5 7 w o r k s p a c e t h i n g 配置文件结构5 8 添加b o o k m a r kw e bs e r v i c ea p i 流程6 3 用户登陆界面6 4 u i 端w id g e t 界面1 6 4 u i 端w i d g e t 界面2 6 4 u i 端发送的消息6 5 w e bs e r v i c e 返回的消息一6 5 w e bs e r v ic e 返回的消息6 5 添加成功的w i d g e t 界面6 5 插表清单 表2 1两种设计方式的优缺点1 6 表3 1命令参数及其功能2 4 表4 1 m a p 节点各属性4 0 表4 2类型对应关系一4 l 表5 1 i n v e r t e d c o n f i g 类中的m a p 4 8 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得金壁王些丕堂 或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 学位论文作者签字王牟签字日期枷罗年铲月,7 日 学位论文版权使用授权书 本学位论文作者完全了解:金罡王些盔堂 有关保留、使用学位论文的规定,有权 保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人 授权 金蟹兰些太堂 可以将学位论文的全部或部分论文内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名:王罐 l 签字日期:知哆年驴月7 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 聊鹕:韵丢谋 签字日期:加巧年午月f7 日 , 电话: 邮编: 致谢 在论文完稿之时,我要向所有帮助过我的人致以诚挚的感谢。 首先向我的导师杨善林教授致以最诚挚的谢意。他严谨的治学态度、精益 求精的工作作风和诲人不倦的为师风范,让我受益匪浅,并将激励我在今后的 学习和工作中不断进取。在此谨向杨老师表示衷心的感谢和真诚的敬意。 非常感谢马溪骏老师,感谢马老师在我两年半的学习和生活中给予我的指 导和帮助,感谢她对我的谆谆教导和无微不至的关怀。正是她的关心使得我能 顺利地完成学业。 同时感谢计算机网络系统研究所里的胡笑旋老师、余本功老师、褚伟老师、 左春荣老师、毛雪岷老师、付超老师等对我学业上的指导,感谢管理学院以及 所里所有培养和帮助过我的老师。 感谢张强、林宗缪、许元虎、金伟、魏芳娣、吴报玉、段辰生、季春志、 夏维、夏磊等同学对我学习和生活上的关心和帮助,同时感谢邓森文、吕军、 黄文炎、詹小燕、董燕、张玮、詹同军、唐文栋等同学的热情帮助。在此向他 们表达我最诚挚的谢意。 最后,我要感谢我的父母和女朋友高梅,谢谢他们多年来对我学业的支持, 一直以来我都因为不能为他们分担家庭重担而内疚自责,我所取得的每一点收 获与进步都离不开他们的支持和鼓励。他们对我殷切的期望和无私无悔的支持 是我不断奋斗进取的动力。 作者:王雄 2 0 0 9 年3 月2 5 日 1 1 研究背景和意义 第一章绪论 随着信息的巨量增长和网络的飞速发展,人们对信息的有效利用遇到的主 要挑战之一在于如何将公司或个人独立开发的各种计算机应用程序整合起来, 并运行于不同的软件和硬件平台。把各种客户端程序与服务的开发分离开来的 办法可使指定的服务能够被多种客户端程序进行访问( 如基于浏览器的客户端 程序和无线连接客户端程序) ,而这些客户端程序需运用标准的w e bs e r v i c e 技 术。最初人们在利用计算机高计算性能的过程中遇到了人机交互的问题,于是 出现了许多的人机交互界面的技术,如w i n d o w s 桌面程序,w e b 页面的各种数 据交互技术。而在数据资源越来越分散,数据的流动性越来越大的今天,完全 依靠人工来实现这些数据之间的交互已经变得不可能,程序之间互操作的问题 是信息交互不得不面对的一个问题,于是,w e bs e r v i c e 标准应运而生。 w e bs e r v i c e 是由一组分布式的、可重复使用的应用程序组成的集合,它们 使某些商业服务的功能能够被利用,并通过标准的i n t e r n e t 协议向应用程序提 供这些功能i lj 。w e bs e r v i c e 是构建互联网分布式系统的基本部件,正成为企业 应用集成( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 的有效平台。客户可以使用互联网 中提供的w e bs e r v i c e 构建应用程序,而不必考虑这些w e bs e r v i c e 是怎样运行 的。因此,从客户的角度而言,w e bs e r v i c e 可以被看作一个部署在i n t e r n e t 上 的对象或者组件1 2 j 。其他系统或组件可以通过w e bs e r v i c e 暴露在外的接口对该 w e bs e r v i c e 进行访问。举个例子,用户要开发一个采购系统,可以自动地获得 供应商的报价,而且可以实时追踪送货过程。如果供应商已经发布了报价和送 货这两个w e bs e r v i c e ,那么该用户就可以在采购系统中直接使用供应商提供的 a p i 来实现这两部分的功能,而不必自己开发这些功能。 但是,这种w e bs e r v i c e 的建立是基于特定需求的,即如果需要满足一个 特定的功能,可能就会有相应的w e bs e r v i c e 被编写,对应的a p i 被发布。这 样的设计模式意味着a p i 与个性化的功能绑定,随着新的功能的实现,额外的 a p i 不断的被加入到系统中来。这种开发方式制约了w e bs e r v i c e 的用户对服 务调用的便捷性,同时开发人员也不能有效的重用代码,如何设计一种可以复 用的a p i 框架,将具体商业逻辑与接口的实现相分离,对外提供规范化的a p i , 成为具有实用价值的研究课题。 1 2w e bs e r v i c ea p i 的特征分析 i 2 1a p i 的作用 a p i 即应用程序接口( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 的简称,就是软件 系统不同组成部分衔接的约定。 随着软件规模的日益庞大,我们需要把复杂系统划分成小的组成部分,编 程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使系统的 职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组 成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展 性。 a p i 目的是提供应用程序与开发人员基于特定的规范访问软件或硬件已有 功能的能力,而又无需访问源码,或理解内部工作机制的细节。提供a p i 所定 义的功能的软件称作此a p i 的实现。 例如w i n d o w sa p i 是一套用来控制w i n d o w s 的各个部件( 从桌面的外观到 为一个新进程分配的内存) 的外观和行为的一套预先定义的w i n d o w s 函数。用 户的每个动作都会引发一个或几个函数的运行以告诉w i n d o w s 发生了什么。 g o o g l ea j a x 搜索a p i 可以让调用者通过j a v a s c r i p t 将g o o g l e 搜索放在 网页中。调用者通过在其开发的页面中嵌入一个简易的动态搜索框,可以在自 己的网页上显示搜索结果,或者以创新的编程方式使用这些结果。g o o g l e 同时 提供了地图,日历等其他服务的a p i 。 1 2 2w e bs e r v i c ea p i 技术概述 w e bs e r v i c e 是自包含的、自描述的、模块化的应用程序,可以通过w e b 发布、定位和调用。从本质上看,w e bs e r v i c e 是一种完全基于x m l 的技术, 应用系统之间可以通过在i n t e r n e t 上传送基于x m l 的消息进行互操作。 w e bs e r v i c e 架构能够满足如下的需求p j : 通用性:在应用程序中使用w e bs e r v i c e 时,我们不需要了解该服务所运 行的硬件和软件平台。只要各种w e bs e r v i c e 使用了标准的w e bs e r v i c e 技术, 那么它们就应该支持不同客户端程序的访问( 如网络应用程序、无线连接应用程 序,以及其它的各种服务) 。 封装性:在应用程序中使用w e bs e r v i c e 时,我们不需了解该服务的内部 编程实现。 可用性:w e bs e r v i c e 的开发者在发行个w e bs e r v i c e 的时候,必须提供 2 足够的信息,以便于其它的开发者们能够找到该w e bs e r v i c e 并创建出能够使 用它的应用程序。 w e bs e r v i c e 工作原理如下图所示: r h 冷髓冒p r d 钟 图1 - 1w e bs e r v i c e 调用过程 在上图我们可以看出,对于一个w e bs e r v i c e 调用的过程来说,存在三个 重要的部分:发现机制,请求方和响应方。实际的w e bs e r v i c e 是一些函数, 方法或者逻辑的集合,而提供者负责处理和发送s o a p 的消息【4 】。 w e bs e r v i c e 的架构以如下的三个相关标准作为基础:s o a p 、w s d l 和 u d d i 5 , 6 】。 简单对象访问协议( s o a p ) :是w e bs e r v i c e 的基本通信协议,规定了调用 w e b 服务和返回数据的规则。s o a p 规范还定义了怎样用x m l 来描述程序数 据( p r o g r a md a t a ) ,怎样执行r p c ( r e m o t ep r o c e d u r ec a l l ) 。这些可选的规范是 为了构建r p c s t y l e 的应用程序( 客户端s o a p 消息包含函数名和在函数中用到 的参数,而服务器端s o a p 消息包含执行函数之后的结果) 。大多数s o a p 解决 方案都支持r p c s t y l e 应用程序,因为很多程序员已对d c o m 或c o r b a 熟悉。 s o a p 还支持d o c u m e n t s t y l e 应用程序( s o a p 消息只包含x m l 文本信息) 。 d o c u m e n t s t y l e 应用程序有很好的灵活性,所以很多用r p c 很难构建的 w e bs e r v i c e 用这种方式构建。 通用发现、描述和集成( u d d i ) :u d d i 计划是一个广泛的,开放的行业计 划,它使得商业实体能够彼此发现,同时定义他们怎样在i n t e r n e t 上互相作用, 并在一个全球的注册体系架构中共享信息。u d d i 是这样一种基础的系统构筑 模块,他使商业实体能够快速,方便地使用他们自身的企业应用软件来发现合 适的商业对等实体,并与其实施电子化的商业贸易。u d d i 同时也是w e b 服务 集成的一个体系框架。它包含了服务描述与发现的标准规范。一个u d d i 注册 中心的每一w e bs e r v i c e 都可以以三个部分来描述:第一,“白页( w h i t ep a g e s ) 描述了提供w e bs e r v i c e 的公司的所有信息,包括产品,联系信息等。第二, “黄页( y e l l o wp a g e s ) 通过分类很容易地划分和定位类似的w e b 服务,比如 将w e bs e r v i c e s 分成p d a s ,无线电通讯,体育评说等。最后,“绿页( g r e e np a g e s ) 提供了有关联系这一w e bs e r v i c e 方法的详细信息,比如一个s o a p 的u r i 地 址,或者描述这一服务及其性质的w s d l 文件。“绿页 的内容是由w e bs e r v i c e 提供者提供的,一般都是提供进一步联系信息的网址或者一个j a v ar m i 。通俗 的讲,u d d i 是一个基于w e bs e r v i c e 的“电话号码薄 。 w e b 服务描述语言( w s d l ) - 描述了一个w e b 服务的外部接口,以便于开 发者们对该服务的客户端程序进行开发。w e bs e r v i c e 是一种部署在w e b 上的 对象,我们需要对该对象的调用通信以某种结构化的方式( 即x m l ) 进行描述, 这也是w e bs e r v i c e 即时装配的基本保证。w s d l 正是这样一种描述语言,它 定义了一套基于x m l 的语法,用来将w e bs e r v i c e 描述为能够进行消息交换的 服务访问点的集合,从而满足了这种应用需求。 w e bs e r v i c e 使用标准技术,应用程序资源在各网络上均可用。因为w e b s e r v i c e 基于h t t p 、x m l 和s o a p 等标准协议,所以即使以不同的语言编写 并且在不同的操作系统上运行,它们也可以进行通信。因此,w e bs e r v i c e 适用 于网络上不同系统的分布式应用。 w e bs e r v i c ea p i 具有的优点:适用于网络上不同系统的分布式应用、标准 性好、扩展性好、耦合度低;内容由标准文本组成,任何平台和程序语言都可 以使用;格式的转换基本不受限制,可以满足不同应用系统的需求。其不足之 处在于:当x m l 内容较大时,解释程序的执行效率较低,一般不适合用于实 现大批量数据交互的接口。 w e bs e r v i c e sa p i 提供了使用h t t p 通过s o a p 接口形式集成的应用程序 接口,这个接口包括一个w s d l 文件,用来定义a p i 并提供一个语言无关的可 以穿过防火墙的访问方式。下图显示了w e bs e r v i c e ( 中央) 、客户端软件应用程 序( 左侧) 及其使用的资源( 右侧,包括数据库、其它w e bs e r v i c e 等) 之间的关系。 w e bs e r v i c e 通过使用标准协议( 如h t t p ) 交换x m l 消息来与客户端和各种资 源进行通信。在w e bs e r v e r 上部署w e bs e r v i c e 后,由w e bs e r v e r 负责将传入 的x m l 消息路由到w e bs e r v i c e 。w e bs e r v i c e 将导出w s d l 文件,以描述 其接口,其它开发人员可以使用此文件来编写访问此w e bs e r v i c e 的组件。 4 嗨 图1 - 2w e bs e r v i c ea p i 应用 1 2 3w e bs e r v i c ea p i 特性 w e bs e r v i c e 是一种软件系统对系统间( p r o g r a m t o p r o g r a m ) 的沟通接口 ( i n t e r f a c e ) 。它不是打前锋的用户接口( u s e ri n t e r f a c e ) ,而是担任后卫角色,提供 后勤服务来协助潜在的前端程序( c l i e n ts y s t e m ) t 7 1 。w e bs e r v i c ea p i 应满足下 列基本要求: 1 、接口应实现对外部系统的接入提供企业级的支持,在系统的高并发和大 容量的基础上提供安全可靠的接入; 2 、提供完善的信息安全机制,以实现对信息的全面保护,保证系统的正常 运行,保证系统的健壮性; 3 、提供有效的系统的可监控机制,使得接口的运行情况可监控,便于及时 发现错误及排除故障【8 1 ; 4 、保证在充分利用系统资源的前提下,实现系统平滑的移植和扩展,同时 在系统并发增加时提供系统资源的动态扩展,以保证系统的稳定性; 5 、在进行扩容、新业务扩展时,应能提供快速、方便和准确的实现方式。 接口安全要求9 , 1 0 , 1 1 1 为了保证系统的安全运行,各种接口方式都应该保证其接入的安全性。 接口的安全是系统安全的一个重要组成部分。保证接口的自身安全,通过 接口实现技术上的安全控制,做到对安全事件的“可知、可控、可预测 ,是 实现系统安全的一个重要基础。 根据接口连接特点与业务特色,制定专门的安全技术实施策略,保证接口 的数据传输和数据处理的安全性。 系统应在接入点的网络边界实施接口安全控制。 接口的安全控制在逻辑上包括:安全评估、访问控制、入侵检测、口令认 证、安全审计、防恶意代码、加密等内容。 接口的无状态性 服务之间的交换可以为有状态,也可以为无状态。当服务提供者保 留关于在之前的操作调用期间服务使用者和服务提供者之间交换的数据的 5 信息时,则服务之间进行的是有状态( 或对话型) 交换。 例如,服务接口可以定义名为s e t c u s t o m e r n u m b e r o和 g e t c u s t o m e r l n f o o 的。在有状态交换中,服务请求者将首先调用 s e t c u s t o m e r n u m b e r ( ) 操作,并同时传入客户编号。服务提供者在内存中保 留客户编号。接下来,服务请求者调用g e t c u s t o m e r l n f o o 操作。服务提供 者将随后返回与之前调用中设置的客户编号对应的客户信息响应。 在无状态交换中,服务提供者定义g e t c u s t o m e r l n f o o 操作,使其接受 客户编号作为输入参数。服务提供者并不需要定义s e t c u s t o m e r n u m b e r o 操作,服务请求者也不需要对其进行调用。每个操作调用代表一个独立的 事务,该事务具有相关请求消息( 包含完成此操作所需的所有必要信息) 。 在w e bs e r v i c ea p i 设计的过程中,将无状态接口视为最好的选择。无 状态接口可以方便地供很多服务使用者应用程序重用,可以采用最适合每 个应用程序的方式管理状态【l 引。 使用请求一响应操作设计接口 w s d l 端口类型可以包含一个或多个操作。操作可以为单向的,也可 以为请求一响应。 单向操作可以定义请求消息,但不能定义响应消息。不可能为单向操 作定义错误消息。要客户机应用程序调用单向操作( 例如使用符合j a x r p c 标准的j a v a 代理) ,会立即将控制返回给调用客户机应用程序线程。客户 机应用程序没有办法知道消息是否成功交付,甚至不能知道是否成功发出。 调用应用程序对此可能接受,也可能不接受。如果可接受,则应用程序可 以调用单向操作,并依赖于面向消息的中间件( 如s i b u s 或w e b s p h e r e m o ) 来确保将消息交付到预期的目的地。如果不能接受,则应用程序可以 使用同步调用技术来实现异步语义。 请求一响应操作可以定义一条请求消息、一条响应消息和任意数量的错 误消息。当客户机使用异步协议( 如h t t p ) 发送请求消息时( 例如,符合 j a x - r p c 标准的j a v a 代理) ,代理将阻止调用线程,直到从服务接收到响 应或错误为止。错误将提供有关在服务调用期间出现的故障的错误信息。 在很多处理方案中,此信息与成功调用期间返回的数据一样重要。 服务通常由面向最终用户的应用程序( 需要向最终用户提供关于错误 的信息) 调用。很多业务流程需要直接对使用同步绑定调用的服务返回的 错误信息进行分析,以便恰当地定向后续处理。在这种情况下,应该始终 尽量利用使用错误的请求一响应操作设计接口,并定义最终用户可理解的错 误【l2 1 。 6 1 3 国内外研究现状分析 在w e bs e r v i c e 的概念被提出之后, 的开发平台和框架。针对开发w e b s t u d i o n e t ,而s u n 推出了j 2 e e 。 各软件开发商和机构纷纷推出了自己 s e r v i c e s 应用,微软推出了v i s u a l n e t 平台上,w c f ( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ) 是微软为各个系 统的数据交互提供通讯基础框架,它是m i c r o s o f t 为构建面向服务的应用提供的 分布式通信编程框架,也是n e tf r a m e w o r k3 5 的重要组成部分。使用该框架, 开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决 方案。 随着s o a 的兴盛,w e b 服务也开始驶入了加速发展的快车道。2 0 0 0 年 r o yt h o m a sf i e l d i n g 在其博士论文中提出了r e s t 概念【l3 1 ,宣告了第二代w e b s e r v i c e 的到来,r e s t ( r e p r e s e n t a t i o n a ls t a t et r a n s f e r ,表述性状态转移) 为 构建下一代高性能、高可伸缩性、简单性、可移植性、可靠性的w e b 程序提供 了一个架构风格上的准则。r e s t 利用简单的h t t p 、u r i 标准和x m l 语言构 建起轻量级的w e b 服务,从而大幅度地提升了开发效率和程序性能。 新一代的w e bs e r v i c e s 框架如a x i s 2 、c x f 都是由现有的项目中逐渐 演化而来的,a x i s 2 是由a x i s1 x 系列演化而来。a x i s 2 使用了新的模块化架 构,更方便于功能性的扩展。a x i s 2 不仅是a p a c h e 的新w e b 服务框架。它 还体现了从a x i s1 x 系列获得的经验和最近两年在w e b 服务领域的发展。推 出a x i s 2 的主要原因之一是从速度和内存方面获得更好的性能,不过还添加了 一些新特性和功能。大部分新特性都是为了提高a x i s 2 的易用性,并同时保留 通过各种方式扩展功能的空间。a x i s 2 会同时作为s o a p 端点和r e s t 端点, 在服务端可以同时发布这两种风格的w e b 服务。在客户端,如果接收到的消息 的c o n t e n t t y p e 为t e x t x m l ,并且没有s o a p 相关的h e a d e r ,这个消息就会当作 r e s t f u l 消息来处理,否则当作s o a p 消息来处理。a p a c h ec x f 则是由x f i r e 和c e l t i x 两个现有的项目进行了重组。a p a c h ec x f 提供了一套创建s o a 服 务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西凭祥产业园管理委员会保税和自贸事务局招聘越南语翻译人员1人备考考试题库附答案解析
- 2025安徽合肥市肥东县大学生乡村医生专项计划招聘3人备考考试题库附答案解析
- 2025年下半年甘肃省文化和旅游厅直属事业单位招聘人员考试参考试题及答案解析
- 2025北京市自来水集团禹通市政工程有限公司招聘35人备考考试题库附答案解析
- 掌握自我管理艺术
- 掌握数字学习法
- 骨质疏松症预防锻炼计划
- 教育保育评估指南培训
- 运动健身的秘密
- 工厂安全培训教学内容课件
- 植物病理学课件
- 玻璃幕墙施工方案完整版
- 部编人教版三年级道德与法治上册全册课件
- 城市道路工程质量事故
- 七律长征教学实录王崧舟3篇
- 铁路路基大维修规则
- DB62∕T 3171-2019 双向螺旋挤土灌注桩技术规程
- Q∕GDW 12178-2021 三相智能物联电能表技术规范
- 合同法中英文对照版
- 小学道法小学道法六年级上-5.国家机构有哪些(第二课时-国家机关的职权)ppt课件
- 车架设计手册1
评论
0/150
提交评论