基于SOA的Web服务研究

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:gkhy0907
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:首先给出了SOA概念,然后分析了Web服务体系结构,最后讨论了Web服务的开发方式。
  关键词:SOA;Web服务
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-958-02
  Research about Web Service Based on SOA
  PENG Bo1,2
  (1.School of Computer and Information,Hefei University of Technology, Hefei 230009, China; 2.Anhui Medical University,Hefei230032, China)
  Abstract:First gives the concept of SOA as a whole. Then analyses the architecture of WebService,
  at last discuss the development methods of WebService.
  Key words: SOA; WebService
  
  1 SOA概述
  
  1.1 SOA的基本概念
  SOA(Service Oriented Architecture)是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期:建模-开发-整合-部署-运行-管理。SOA是分布式软件系统构造方法和环境的新发展阶段。
  其基本要素是:
  1)松散耦合:包括服务之间的松散耦合、接口和实现之间的松散耦合、业务组件和传输协议之间的松散耦合。
  2)粗粒度:SOA服务接口应比面向对象编程的API要大一些,更接近用户的实际操作。
  3)位置和传输协议透明:位置透明是指不论服务组件的实际位置URL如何变化,客户的调用程序的URL都不需改变。传输协议的透明,就是指不管服务组件的传输协议如何变化,客户端的调用程序的传输协议都不需要改变。
  SOA的基本思想是面向服务,服务的本质是业务和技术的分离,它超越于一切具体的技术,又包含一切具体的技术。SOA三个基本要素能消除目前IT系统集成的障碍,从而达到SOA的目标:敏捷的,不受限制的业务集成。
  1.2 SOA 和 Web Service 的根本区别
  SOA是在 WebService 的基础上发展起来的;而 WebServices 实现了松散耦合的服务和粗粒度的服务。虽然两者都提供服务、服务接口都是基于开发的、接口与服务的具体实现都是分离的,但 Web Service 服务接口需要绑定具体实现服务的服务组件来实现服务,它对具体的服务实现完成了封装,如图1所示,实现了服务的透明化,客户端不需知道服务是如何实现的,但客户端调用 Web Service 组件时,还需要知道Web Service 的具体位置和传输协议,这将造成一定的不灵活性,因此它只是实现了一定程度上的抽象。
  而SOA架构平台只和服务接口进行绑定,对服务接口实现了封装,如图2所示,实现了服务接口的透明化,服务位置的透明化,传输协议的透明化。SOA 本身也不知道服务具体是如何实现的。当客户端通过SOA调用服务时,不需要知道真正的服务提供者是谁,具体的服务位置在哪里和具体的传输协议是什么。因此SOA实现了最高程度的抽象化,为实现具有最高灵活性的服务建立了架构基础。
  
  2Web Service体系结构
  
  Web 服务是一种部署在 Web 上的对象或组件,Web 服务是基于 Web 服务提供者、Web 服务请求者、Web 服务中介者三个角色和发布、发现、绑定三个动作构建的。
  服务提供者就是 Web 服务的拥有者,它向其他服务和用户提供自己已有的功能;服务请求者就是Web服务功能的使用者,它利用 SOAP 消息向 Web 服务提供者发送请求以获得服务;Web 服务中介者的作用是把一个 Web 服务请求者与合适的服务者联系在一起,充当管理者角色,一般是 UDDI。在这些角色之间使用了三种操作:发布、发现、绑定。
  1)服务提供者(ServiceProvider)可以发布自己的服务,并对请求使用服务进行响应;
  2)服务注册中心(Service Registry)用于注册已经发布的ServiceProvider,对其进行分类,并提供搜索服务;
  3)服务请求者(ServiceRequester)利用服务注册中心查找所需服务,然后使用该服务。
  所谓的WebService就是定义了一套标准的调用过程:
  1)服务器端首先用一套标准的方法向外界描述它所提供的服务内容,这属于 WSDL;
  2)客户端需要以一种标准的协议来调用此服务,这属于 SOAP (这也是WebService不同与其他组件如EJB的根本之处)
  3)服务提供者将服务内容放在一个公共的网址让大家查询,这属于 UDDI。
  3Web Service 三个组成部分
  1)WSDL(WebServiceDescriptionLanguage)是一种基于XML格式的关于Web服务的描述语言,其主要目的在于提供者将自已的Web服务相关内容,如服务传输方式、服务方法接口、接口参数、服务路径等,生成相应的文档,发布给使用者。使用者通过这个WSDL文档,创建相应的 SOAP 请求,通过 HTTP 传递给提供者;Web 服务在完成服务请求后,将 SOAP 返回(response)消息传回请求者,服务请求者再根据 WSDL 文档将 SOAP 返回消息解析成自已能理解的内容。
  WSDL 的目的就是告诉外界我有什么样的服务,这类似Java的Interface。
  2)SOAP(SimpleObjectApplicationPropotol)是WebService的标准通信协议,是一种标准化的传输消息的XML消息格式,以便大家都用同一种格式来讲话,大家可以相互完全理解。SOAP请求(request)消息将客户端的服务请求发给服务器,例如:需要调用什么样的服务接口,以及接口参数值等。SOAP答复(respone)消息是从服务器返回给客户端的消息,如服务接口实现后的结果返回值或调用服务时的错误信息等。
  3)UDDI(Universal Description Discovery and Integeration)是一种创建注册表服务的规范,以便大家将自已的 WebService 进行注册发布供使用者查找。当服务提供者想将自己的 WebService 注册到相应的UDDI商用注册网站时,如IBM的http://uddi.ibm.com/。服务提供者可以 SOAP 消息格式将自已的服务发布到这些网站。由于WSDL文件已给定了WebService 的地址URL,外部可直接通过WSDL 提供的 URL 进行相应的 WebService 调用。所以 UDDI 并不是一个必需的WebService 组件,服务方完全可以不进行 UDDI 注册。
  
  4Web服务的开发方式
  
  完整的Web服务开发包括3个阶段:开发、部署、发布。
  1)开发阶段:此阶段包括逻辑模块(Java Bean或EJB)的开发与部署,WSDL 定义文件的设计或生成。
  2)部署阶段:指定 Web 服务的传输协议(绑定),明确服务的终端地址,创建 Web 的附属文件,以平台可识别的方式将 Web 服务注册到相应服务描述部署文件。
  3)发布阶段:将 Web 服务的接口和调用地址公开给客户端调用,常用的发布方式为提供WDSL链接,也可选择 UDDI。
  在开发阶段,有两种可以实施的方案:自上而下(top-down)方式,即先设计WSDL,即服务接口定义,然后生成服务逻辑代码。自底向上(bottom-up)方式,即先完成业务逻辑代码的开发或使用已经存在的逻辑代码,再根据代码暴露出服务的接口WSDL,包装Web服务。这两种方式都可以实施,现阶段,自底向上的模式更常见,大多数的SOA应用都是基于当前的应用创建Web服务。
  
  参考文献:
  [1] IBM Co.Service-oriented modeling and architecture[EB/OL].[2008-04-16].http://www.ibm.com/developerworks/webservices/library/ws-soa-design1/.
  [2] Christensen E,Curbera F, Meredith G,et al. Web Services Description Language[EB/OL].[2008-04-12].http://www.w3.org/TR/wsdl.
  [3] 毛新生,金戈. 以服务为中心的企业整合[EB/OL].[2008-04-12].http://www.ibm.com/developerworks/cnwebservice/ws-soil/.
其他文献
摘要:Web技术正在迅速成为支持企业范围应用程序的优选平台,基于Windows DNA的三层结构体系框架分布式应用程序已经成为计算主流。在比较详尽地论述了三层结构框架的整体构建思想基础上,示例了分布式应用程序的设计和实现过程。  关键词:Windows DNA;分布式应用程序;三层结构;XML Web services  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)
期刊
摘要:阐述了DDoS攻击的原理与方法,详细介绍了DDos攻击的实现。  关键词:拒绝服务;DDoS;DDoS攻击  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-881-02  随着网络技术和网络应用的发展,网络安全问题显得越来越重要。拒绝服务攻击由于具有容易实施、难以防范、难以追踪等特点而成为最难解决的网络安全问题之一,给网络社会带来了极大的危害。同时,拒绝服
期刊
摘要:该文针对目前医药供应链信息系统中各企业信息和业务难以共享的现状,提出了以SOA体系架构来实施医药供应链共享平台的方案,可以有效解决供应链过程中各企业信息和业务的共享问题。文中分析了医药供应链系统中的服务功能模块,根据功能模块讨论了系统实现模型与实现方法。  关键词:SOA;信息共享;医药供应链  中图分类号:TP335文献标识码:A文章编号:1009-3044(2008)23-852-02 
期刊
摘要:互联网方便快捷的特点使得电子文件被广泛地使用,但由于互联网的开放性,使得电子文件在传输时存在着信息安全的隐患。在简要介绍了PKI(公钥基础设施)的基本概念、基本组成及运行模式的基础上,提出了一种解决这些安全隐患的应用方案,并详细介绍其具体流程,实现了安全文件传榆的身份认证、保密性、完整性和不可否认性等要求。  关键词:PKI;数字签名;数字证书;身份认证  中图分类号:TP393文献标识码:
期刊
摘要:该文介绍了网络登陆与普通系统登陆的功能区别,提出了实现网络登陆的实现解决措施,并通过UML对网络登陆系统进行建模,保证了系统的完善性和可靠性。  关键词:网络登陆;UML;系统建模  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-954-02  UML Design for Network Login System   XIA Zhong-hua, ZHA
期刊
摘要:文章探讨了VPN 及其具体实现技术——隧道技术。首先介绍了VPN的概念,接着探讨了VPN的工作原理,最后详细分析了VPN的隧道技术,特别是L2TP隧道协议。  关键词:VPN;隧道技术;L2TP  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-879-02  VPN and It's Tunneling Technology Research  CHEN
期刊
摘要:该文以湖南交通职业学院的校园网为背景,从校园网内网安全威胁的特点和攻击原理入手,解析了如何利用VLAN技术保障校园网内网安全。  关键词:VLAN技术;校园网;内网安全  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-913-02  How to Support Campus Net the Net Security Use VLAN Technical 
期刊
摘要:探讨了软件逆向工程的基本原理,基于OnTrac平台设计了一个针对 Python源代码的逆向分析系统,并简要介绍ReverseUML系统以及核心模块。  关键词:逆向工程;Python;UML;类图;序列图  中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)23-969-02  Design of Reverse Analysis System Based on O
期刊
摘要:当前,网络信息资源呈现爆炸式增长趋势,用户对信息查询的要求也越来越高,传统的各种信息查询技术已经很难满足这种要求。未来的因特网作为人类的信息库、知识库,应该支持用户以自然语言的方式来完成信息查询,并具备理解语义,进行自动扩展、联想的智能化查询系统。该文提出一个基于Ontology的信息查询系统模型,实现支持自然语言的理解和语义层面的智能化查询功能。  关键词:本体;信息查询;自然语言理解  
期刊
摘要:分析了基于Web服务的Acegi安全框架的构架和实现原理,以Web服务中的HTTPForm为例,详细阐述了Acegi提供的认证和授权机制,并进一步探讨了Acegi安全框架的权限管理,以满足复杂的企业安全需求,从而提高了Web系统的安全性和稳定性。  关键词:Web服务;认证;授权;权限管理  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)23-897-03  R
期刊