`
java-mans
  • 浏览: 11433774 次
文章分类
社区版块
存档分类
最新评论

Web 服务产生的根源

 
阅读更多

多年以来,能够创建在局域网或者Internet上远程调用的组件一直是让Web开发人员头痛的事情。这期间出现过一些可以实现这一任务的技术。但是,大部分方法创建的组件只能运行于局域网内部的后端系统上,还没有哪个技术能够完全应对Internet环境。因为Internet过于宽大、复杂,甚至存在很多不可靠因素。尤为重要的是,运行于Internet上的计算机不可能像公司内部一样使用同一种操作系统和同一类硬件结构,而是各种平台和硬件混杂在一起。这就是web服务产生的根源

由于Internet的迅猛发展和无所不在,目前Web应用程序的设计和开发,几乎都会考虑到如何利用有效的结合与利用Internet技术,以便充分利用连接计算机所带来的好处。为了满足不同的用户需要,.NET Framework 提供了XML Web 服务支持。调用Web服务时,只需要通过一个HTTP协议发送一个XML即可。因为,基于Internet的设备都支持HTTP协议,而且几乎所有的编程语言事实上都具备XML解析器,对于可以使用Web服务的应用程序几乎是没有限制的。

1.1 Web服务的基本概念

<chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899"><span lang="EN-US">1.1.1</span></chsdate> 什么是Web服务

从表面上看,Web服务就是一个应用程序,它向外界显露出一个能够通过Web调用的API。也就是说,能够用编程的方法通过Web调用来实现某个功能的应用程序。例如,某人在本地创建一个Web服务,可以插叙SQL Server数据库内容。其它用户或者开发人员可以在浏览器的地址栏中直接输入HTTP GET 请求来调用该Web服务,将数据库内容显示在浏览器页面上,这就是使用了Web服务。

从深层次上看,Web服务是一种新型的Web应用程序,它是自包含、自描述、和模块化的应用,可以再Web描述、发布、查找以及通过Web来调用。

<chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899"><span lang="EN-US">1.1.2</span></chsdate> Web服务的技术支持

Web服务平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web服务平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中不同的类型系统。目前使用的协议主要有一下几种

1:XML XSD

XML已经成为在Internet上传递数据的实施标准方式,因而也就顺理成章地成为Web服务中表示数据的基本格式。XML主要的优点在于它既与平台无关,又与厂商无关。

2.SOAP

SOAP(Simple Object Access Protocol,简单对象访问协议)是用于交换XML编码信息的轻量级协议,是一个基于XML的协议。它包括如下四个部分。

SOAP封装(envelop).封装定义消息中的内容是什么,是谁发送的,谁应当接收并处理它以及如何处理他们的框架

SOAP编码规则(encoding rules)。用于表示应用程序需要使用的数据类型的实例。

SOAP RPC 表示(RPC representation)。表示远程调用和应答的协定

SOAP 绑定(binding)。使用底层协议交换信息。

Web服务希望是现在不同的系统之间能够用“软件与软件对话”的方式相互调用,打破软件应用、网站和各种设备之间格格不入的状态,实现“基于Web无缝集成”的目标

3.WSDL

WSDL(Web Service Description Language,Web服务器描述语言)使用XML文档来描述Web服务的标准,是Web服务的接口定义语言。同WSDL,可以描述Web服务的三个基本属性

web服务所提供的操作(Web方法),也就是Web服务能够做些什么

Web服务交互的数据格式以及必要协议,即如何访问Web服务

协议相关的地址,比如URL,即Web服务位于何处

WSDL文档以端口集合的形式来描述Web服务,WSDL服务描述包含一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。因为是基于XML的,所以WSDL既是机器可阅读又是人可阅读的。

<!--[if !supportLists]-->1.1.3 <!--[endif]-->Web服务的优势

Web服务在很多方面是引人注目的。首先在技术方面,Web服务试图解决紧耦合技术(比如CORBADCOM)面临的问题。这些问题包括通过防火墙、处理底层协议的复杂性及与不同平台的集成。其次,在组织和经济方面,Web服务同样令人关注,因为它们为商务运作及公司间的系统集成开辟了新的途径

DCOMCORBA适合于创建运行于同一平台和同一局域网内的软件。但是,这些技术并不适合于开发跨平台,尤其是跨Internet的应用程序。而这正式Web服务的目的所在。Web服务代表了分布式计算的发展方向。其主要优势如下。

简单性。意味着Web服务可以在不同的平台上获得支持

松耦合。扩展Web服务的接口或者增加新的方法,只要仍旧提供旧的方法和参数就不会影响客户端。

无缝链接。Web服务并不需要持久的连接。需要Web服务时,客户端向Web服务端发出一个请求,Web服务返回其结果,然后可以关闭连接。这使得易于扩展到更多的客户端

不影响防火墙。防火墙通常会给分部技术带来障碍,但是Web服务几乎不会影响防火墙。因为,几乎所有的防火墙都会开放HTTP端口80443,而Web服务就是使用HTTP,因而使用Web服务不需要对防火墙进行配置

<!--[if !supportLists]-->1.1.3 <!--[endif]-->Web服务的基础结构

要在Web服务的多样性世界里取得成功,必须涉及到操作系统、对象模型和编程语言的选择,而Web服务不能对这些因素有任何倾向性。同样,要使Web服务像其他基于Web的技术一样被广泛采用,必须做到松耦合性、使用常规的通信信道和设备以及采用通用的数据格式

为了达成上述目标,.NET Framework提供的XML Web服务采用的基础结构提供下列内容,定位XML Web服务的发现机制、定义如何使用这些服务的服务描述以及通信时使用的标准连网形式。表1-1列出了Web服务基础结构的各个组件及其作用

1-1 XML Web服务基础结构的组件

基础结构组件

作用

XML Web服务目录

Internet上的所有其他资源一样,如果没有某种手段搜索的Web服务,那么就几乎不可能找到该服务。XML Web服务目录提供一个中心位置,XML Web服务提供程序可在其中发布与可用的XML Web服务有关的信息

XML Web服务发现

XML Web 服务发现是定位用WSDL所描述的特定Web服务的一个或多个相关文档的过程。DISCO规范定义了定位服务描述的算法。如果客户端知道服务描述的位置,则可以跳过发现过程

XML Web服务描述

要了解如何与特定的Web服务进行交互,需要提供定义了该Web服务所支持的交互功能的服务描述。客户端必须知道如何与Web服务进行交互才可以使用该服务

XML Web服务连网形式

为实现通用的通信,XML Web 服务使用开放式连网形式进行通信,这些格式是任何能够支持最常见的Web标准的系统都可以理解的协议。SOAP XML Web服务通信的主要协议

<!--[if !supportLists]-->1.2 <!--[endif]-->使用SOAP标头

SOAP 是一种跨平台标准,它用于对Web服务和客户端应用程序之间发送的消息进行格式化。SOAP的优势在于其灵活性,不仅可以用SOAP来发送任何类型的XML数据,还可以在非HTTP协议上进行传输。比如,可以通过TCP/IP连接发送SOAP消息。

从结构上说,SOAP消息包含以下三个主要的因素

SOAP封装(Envelope)。即所谓的消息根元素,也就是消息的标题元素,并且该元素在SOAP消息中是必须存在的元素,主要的作用就是告诉收方此消息的基本情况等。

SOAP表头(Header)。此元素在SOAP消息中不是必须的,如果存在此元素的话,它必须是SOAP封装的第一个子元素,主要的作用就是传递一些辅助性的附加消息,比附身份验证、会话等。

SOAP体(Body)。此元素即SOAP消息体,是每个SOAP消息中必须的元素。每个SOAP体元素可以由多个子元素构成。

SOAP表头提供了一种方法,用于将数据传递给Web服务方法或者从Web服务方法获取数据,条件是该数据不直接与Web服务方法的主功能相关。例如,一个Web服务可能包含若干个Web服务方法,而每个方法都需要自定义的身份验证方案。引用从SoapHeader派生的类的SoapHeaderAttribute应用于每个Web服务方法,就不用将参数添加到每个需要自定义身份验证方案的Web服务方法,而可以将从SoapHeader派生类的实现来处理该自定义身份验证方案。按照此方式,Web服务方法使用SOAP标头来仅实现特定于它的功能并添加其他功能。

接收和处理SOAP标头的基本步骤如下

⑴ 创建一个SoapHeader派生类,表示传入SOAP标头的数据。

⑵ 将一个成员添加到实现Web服务的类或者Web服务客户端的代理类(他们属于在第一步创建的类型)

⑶ 指定第二步中在MemeberName属性中创建的成员,将SoapHeaderAttribute应用

Web服务方法或代理类中的对应方法

⑷ 在Web服务方法或Web服务客户端代码中访问MemberName属性,以处理在SOAP标头中发送的数据。

分享到:
评论

相关推荐

    实战Nginx高性能Web服务器

    内容:续该系列博文中的第11篇,讲述Memcached使用时产生的问题,并分析原因所在。 13、高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式 内容:讲述一种提供双层缓存...

    Web应用安全:SQL安全隐患产生原因.pptx

    SQL安全隐患产生原因 2 1.SQL安全隐患 SQL安全隐患产生原因 SQL安全隐患简述 若服务器会将表单中输入的内容直接用于验证身份或者数据获取的查询,攻击者就会尝试输入某些特殊的SQL字符串篡改查询,改变其原来的功能...

    Web应用安全:CSRF安全隐患产生原因.pptx

    CSRF安全隐患产生原因 CSRF安全隐患产生原因 1、CSRF攻击的条件 每种攻击都有其前提条件,如果用户不具备发动攻击的前提条件,攻击就不会发生,反过来说,如果具备被攻击的前提条件,就会有被攻击的安全隐患,我们先...

    Web应用安全:完全隐患的产生原因.pptx

    安全隐患产生的原因 安全隐患产生原因 文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码。 $_GET['filename']参数开发者没有经过严格的过滤,直接...

    Web应用安全:安全隐患产生的原因.pptx

    安全隐患产生原因 安全隐患 进入21世纪以来,信息安全的重点放在了保护信息,确保信息在存储、处理、传输过程中及信息系统不被破坏,确保对合法用户的服务和限制非授权用户的服务,以及必要的防御攻击的措施。信息的...

    Web应用安全:XSS安全隐患产生原因.pptx

    XSS安全隐患产生原因 1 XSS安全隐患 目录 2 XSS安全隐患产生原因 XSS安全隐患 1、网络钓鱼,包括盗取各类用户账号; 2、窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份进一步对网站执行操作; 3、劫持...

    详解:Web应用程序中的字符集攻击 PPT

    这种攻击方式在远东国家的系统里非常普遍,已经开始对web应用程序安全产生了严重的威胁,其本质原因就是在系统体系里各个组件间理解和处理数据的方式不一致,和某些宽字符集的天生缺陷导致的安全问题。 本议题主要...

    WEB类安全实施及部署.pdf

    WEB安全是每个项目都要解决的问题,我的分享主要内容如下: - 目前WEB安全的形式,主要介绍目前国内WEB网站安全形式 - 漏洞图解,举例介绍漏洞问题,同时总结经常碰到的产生漏洞的原因 - 如何预防WEB安全问题,通过...

    Web服务安全的漏洞扫描器

    本文研究了Ⅶreb应用漏洞产生的原因以及对应的检测方法,对 web应用漏洞扫描的两类关键技术一web漏洞扫描信息获取和web 应用漏洞检测机制进行了深入研究,针对web应用的特点设计了一 个web应用漏洞扫描软件框架,并...

    Web安全培训ppt(适合初学者)

    1、漏洞产生原因(1天) 漏洞就是软件设计时存在的缺陷,安全漏洞就是软件缺陷具有安全攻击应用方面的价值。软件系统越复杂,存在漏洞的可能性越大。 2、漏洞出现哪些地方?(2天) 前端静态页面 脚本 数据 服务:...

    路由器刷breed Web控制台助手v5.8版本

    另外huzibbs与hackpascal非同一人,breed Web是由hackpascal大神制作,我只是做啦个刷入和操作的工具仅此而已,请不要产生误会以免给hackpascal和本人带来不必要的麻烦。刷机有风险,玩机须谨慎!! 1、检查...

    web_asp程序设计及网页设计

    Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航...

    网站安全漏洞检测工具Acunetix Web Vulnerability Scanner 6.5英文版

    是一个英文版的网络安全扫描工具,Web开发人员可以利用...◆支持将扫描结果导出成rtf、HTML、pdf等格式,并根据危险等级对网站存在的问题进行分级,针对每一类问题有问题描述、产生原因、处理办法等,非常专业和详尽。

    HTTPS权威指南 在服务器和WEB应用上部署SSL TLS和PKL

    尽管我从SSL诞生之初就开始使用它,但直到2004年开始撰写第一本书Apache Security时,才对它产生了浓厚的兴趣。在五年之后的2009年,我决定寻找一些新的事情去做, 于是决定在SSL上投入更多时间。自此我便专注于此,...

    精品课件 数据挖掘的高级主题 Web挖掘 隐私保护数据挖掘 共85页.ppt

    产生原因 网络信息搜集的需求与收集结果低效性的矛盾迫切需要对网络资源的整序与检索。 传统数据挖掘和文本挖掘技术的不断完善和应用。 应用 查询相关信息 从Web数据发现潜在的未知信息 了解用户的兴趣爱好 信息...

    Java Web应用开发:servlet.ppt

    知道乱码问题产生的原因和解决方法 会debug服务端代码 什么是Servlet Servlet是Java web应用中最核心的组件,完全用Java语言编写,它运行于服务端,它的程序代码被服务器动态加载和执行,为来自客户的请求提供相应...

    阿里巴巴集团web安全标准

    阿里巴巴集团web安全标准,是为了让大家对各种web安全威胁的产生原因、常见攻击手段有更深入的了解,并且作为各种web安全威胁的修补方案标准,以便大家能够快速的定位漏洞代码和解除安全隐患

    Web Services 资源框架

    WSRF产生的原因 WSRF, Web Service, OGSI and OGSA的关系 WSRF的特性和原理

    构建高性能web站点 精选版

    本书结合Web 2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和...

    基于web的旅游网站建设

    造成这种情况的主要原因在于互联网的区域经营与提供地方化服务的这一对矛盾,服务的延伸速度远远跟不上互联网的发展和需求速度。对网站来说信息覆盖面减小,也会影响网上服务品质的下降,影响地方信息的可操作性和可...

Global site tag (gtag.js) - Google Analytics