什么是Web 服务?

 

Web 服务是一种可以用来解决跨网络应用集成问题的开发模式,这种模式为实现“软件作为服务”提供了技术保障。而“软件作为服务”实质上是一种提供软件服务的机制,这种机制可以在网络上暴露可编程接口,并通过这些接口来共享站点开放出来的功能。

从技术角度来讲,Web 服务实现了最广泛的应用软件集成,弥补了传统软件开发模型的限制。Web 服务产生之前,在网络上提供对象服务通常要采用DCOM(Distributed COM)或CORBA。这两种技术各有特点,也各自有相当广泛的应用。前者运行在Windows操作系统上,后者主要运行在UNIX系统上,都有着相当悠久的历史。

从概念层次上讲,二者具有相近的结构,都可以让客户软件实例化分布在网络上远端的对象,并最终访问对象服务。但是,在具体实现机制上,这两种方案有许多不同。比如在通信协议方面,DCOM采用的是RPC协议而CORBA采用的是IIOP协议。另外,对于客户端程序而言,访问提供服务对象的方法也是大相径庭,前者通过客户端代理(proxy),经过RPC通道后访问服务端的存根(stub)后才可以最终访问到对象;而后者必须先通过客户端的存根,然后经过IIOP访问服务端的骨架(skeleton)才能最终访问到对象。两种模式分别如图9-1和9-2所示。

 

图9-1 DCOM方案

正是因为两种分布式对象方案各自为政,所以它们只能被用来开发紧耦合类型的Web分布式应用系统。所谓紧耦合,就是指客户端必须按照特定的规范去访问服务端提供的服务,而这种规范只在一个有限的范围内通用。

 

图9-2 CORBA方案

为了可以在整个因特网中实现对服务的自由访问,有必要提供一种崭新的模式或信息交换手段来达到这个目的。于是,微软提出了Web 服务。

Web 服务的主要特点之一是,客户端访问Web 服务只需要通过因特网标准协议,如HTTP或XML,以及SOAP,不需要专门的协议,如RPC或IIOP。因为HTTP协议和XML都是与平台无关的标准协议,因此,可以被任何主流操作系统正确理解和解释。

另外,更为关键的特性是,Web 服务可以被XML语言进行详尽的描述。这就是说,提供Web服务的站点可以提供一个(或多个)该站点可以对外提供服务的描述文件,这个文件的内容可以被访问者理解。更进一步说,就是客户端可以从网络上直接得到代码!

也许举个例子能更清楚地说明问题。假设开发人员需要搭建一个商务网站,这个网站需要一个验证客户合法身份的功能。为了实现这个功能,下面分别描述了可以采用的办法。

● 由开发人员自己编写安全验证所需的全部代码。这样做显然不现实,一个安全验证程序涉及到诸多专业知识,并需要相当长的时间才能够完成。

● 购买这段程序(通常是一个ActiveX组件)。在收到组件之后,首先将组件注册在自己的机器上,然后根据组件类型库产生接口文件。在实际编程中就可以使用这个接口文件来访问组件服务。很明显,这种方式在目前使用得最为广泛。

● 有了Web 服务,情况就不同了,只需要在自己的程序中通过访问某个服务的URL地址,得到一份XML描述,并使用这个描述文件产生一个接口文件。然后,在实际编程中,只需要通过这个接口文件来访问服务就可以了。一定要注意,这个服务可不是运行在我们机器上的,是运行在因特网上URL地址所指向的地方。

如果这个网站需要更多的功能,而这些功能在一些网站上已经被开发出来,并以各种方式(免费或收费)公开出来供所有需要它们的开发人员来使用,那么,尽量使用它们好了。当然,如果开发人员所在的公司,也想成为Web 服务提供者的话,同样可以轻松地将他们编写的Web 服务在网络上公布出来,供大家使用。

与紧耦合服务概念相对,由于Web 服务具备通信协议标准性和服务自描述性,所以,使用Web 服务可以开发出松耦合的分布式应用程序来。这也是Web 服务要实现的最根本的设计目标。Web 服务的体系如图9-3所示。

 

图9-3 Web Service体系

http://blog.csdn.net/pbmichael

FROM:http://zzbx.blog.hexun.com/3118446_d.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1620282.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

什么是web服务

2001年秋天互联网公司(dot-com)泡沫的破灭标志着互联网的一个转折点。许多人由此断定互联网是被大家过分炒作了,事实上网络泡沫和相继而来的股市大衰退是所有技术革命的共同特征。股市大衰退通常标志着蒸蒸日上的技术已经开始占领中央舞台,假…

Web服务基础

1 Web服务器 WEB服务器用来接收客户的请求,然后向客户返回一些结果。 用户可以通过web浏览器请求一个资源。Web服务器在接收到请求之后,负责查找资源,然后向用户返回一个结果。 2 Web客户端 Web客户端允许用户请求服务器上的某个资源&#xf…

WEB服务的部署

文章目录 一、WEB服务相关概念1. WEB服务器2. 协议端口号3. WEB服务器发布软件 二、WEB服务器的部署1.配置服务器的静态IP:10.1.1.12.安装IIS-WEB插件3.停用默认站点4. 新建站点senting5. 一台服务器同时发布多个WEB站点6. 对于动态网站的搭建 一、WEB服务相关概念 …

Web 服务的概述

Web 服务的概述 由于能够提供图形、声音等多媒体数据,再加上可以交互的动态 Web 语言的广泛普及,WWW(World Wide Web,万维网)深受Internet用户欢迎。一个最重要的证明就是,当前的绝大部分Internet流量都…

【网络安全】Web服务器

文章目录 1、Web服务器概述1.1、Web服务器1.2、端口1.3、网站与网页 2、Web服务器发布2.1、发布软件2.2、发布形式2.3、网站类型 3、部署Web服务器3.1、配置服务器IP地址3.2、安装IIS服务3.3、新建和发布网站3.3.1、同端口,不同IP3.3.2、同IP,不同端口3.…

Web服务(02)——Web服务器中间件

文章目录 Web服务(02)——Web服务器中间件前言一、JAVA中间件1、Tomcat2.Weblogic3.Jboss4.Webshaere 二、Python中间件1、wsgi2、uwsgi3.uWSGI 三、Php中间件1、php-fpm2、CGI3、FastCGI4、Php-FastCGI 四、其他中间件1、事务处理中间件——Hadoop2、消…

Web服务是什么

1、Web服务 服务:提供的某个功能;网络服务(Net Service):使用不同的网络协议(http、ftp、stmp/pop3)提供的服务;Web服务:指使用 http 或 https 协议接受用户的服务请求并…

【优化算法】Python实现面向对象的遗传算法

遗传算法 遗传算法(Genetic Algorithm)属于智能优化算法的一种,本质上是模拟自然界中种群的演化来寻求问题的最优解。与之相似的还有模拟退火、粒子群、蚁群等算法。 在具体介绍遗传算法之前,我们先来了解一些知识🧀 DNA: 携带有…

pyinstaller打包openvino 2021.4.2

打包准备 1. 测试环境准备 conda create -n opinstall python3.7 -y conda activate opinstall pip install openvino2021.4.2 pip install pyinstaller PyCharm新建openvino_install,选择虚拟环境opinstall,编写测试代码 app.py import numpy as n…

8.27周报

文章目录 前言论文阅读摘要介绍模型算法 总结 前言 本周学习了GAN论文《Generative Adversarial Nets》,了解GAN主要由两部分组成:生成器和判别器,知道生成器G和判别器D的作用及原理,相比于其他的生成模型,了解GAN的优…

API管理测试 - 最佳实践和关键要素

什么是API管理测试? API管理测试是在软件开发和集成功能中对应用程序接口(API)进行测试和验证的过程。它涵盖了测试API的功能、性能、安全性以及与其他系统的交互。API管理测试对于确保API的正确运行和稳定性非常重要。 ​ 为什么API管理测…

谷歌浏览器 设置多账户_使用多个Google帐户时如何设置默认帐户?

谷歌浏览器 设置多账户 If you’re using multiple Google accounts simultaneously there’s a good chance that one of them is the one you want to default. When it isn’t the default it’s rather frustrating; read on as we show a reader how to ensure the accoun…

谷歌广告账户结构

Google竞价广告的帐户结构性设置主要有三层,分别是广告帐户、广告系列和广告组。把它们综合起来 就构成了整个的一个广告框架。 为什么要采用这样一个复杂的三层框架呢?简单来说,其目的就是为了将不同的广告匹配给不同的用户群体,…

谷歌正在向所有账户推出密码终止技术

谷歌宣布让其个人帐户持有人使用称为“密码”的密码替代登录的一项重大努力。 该功能面向公司的数十亿帐户推出,用户将能够主动寻找并启用它。谷歌表示,它计划在未来几个月推广密码,并开始推动账户持有人将他们传统的用户名和密码登录转换为…

如何查看谷歌账户的实际消费金额和扣款金额是否一致?

第一步:找到广告账户上方的报告——预定义报告 。 第二步:预定义报告 下一个层级的其他。 第三步:其他下面的已出账单费用。 第四步:核查数据 可以选择需要核对的历史账单日期。检查投放费用和已出账单费用是否一致。也可以下载下…

谷歌账户在别的网上登过_如何在Google帐户之间转移联系人

谷歌账户在别的网上登过 Google provides no way to automatically sync contacts between two different Google accounts. Instead, you’ll have to perform a manual two-step process where you export your contacts from one account to a comma-separated values (CSV)…

谷歌账户无法添加_如何将多个Google帐户添加到Google Home

谷歌账户无法添加 Google Home is designed to be a shared device that everyone in the house can use. Now, Google has finally made it possible for it to recognize different people and give personalized info to everyone using their Google accounts. Here’s how…

Android 快速集成谷歌账户登录

谷歌登录开发者平台注册地址为https://console.firebase.google.com/,并不是在https://console.developers.google.com/上进行注册,一开始我也是参考网上的帖子 在谷歌的developers网站上进行注册, 流但发现流程一直走不通&#x…

谷歌账户剩余余额如何退回。

一、点击账户右上角工具与设置-偏好设置 二、账号状态-撤销我的账号(切记一定要是具有账户管理员的账户才有此选项展示) 此时已经进入退款环节。我们再次确认。 1、点击账户右上角工具与设置-结算-摘要 2、您的退款正在审批中,大概7个工作日…

谷歌浏览器账户密码转移

如果你有多台电脑,在新电脑上面使用谷歌浏览器,但是各个网站都要重新输入密码觉得很麻烦,这里有你想要的! 你只需要按下面操作,即可在新电脑谷歌浏览器上面导入以前输入的账户密码: 1. 打开谷歌浏览器&am…