Web Service

🙇‍♀️为什么为什么这么难懂,但我偏偏不信我搞不定这晦涩的知识!!!

啥是Service?

首先,将自己先局限在计算机领域去谈论这个问题,服务某种程度上就是自己在电脑上可以干的一切事情,反过来就是电脑可以提供的一系列功能

其次,自己的电脑可以断网和联网,断网情况下电脑提供的服务就叫做"本地服务“,联网情况下电脑提供的就叫做“网络服务”。

最后,“网络服务”其实就是不是你自己的计算机产生的服务,而是通过网络获取到其他计算机提供的服务,自己可以在网上找到各种自己电脑里没有的资源,比如图片、音乐、视频等。但是如果自己查看本地相册里的照片,就相当于是“本地服务”。

OK,啥是Web Service?

比如自己开发了一个软件,很多功能都采用了“网络服务”,把自己的很多功能都外包 给其他网站去做,那么咱就是开发了一个Web Service架构的软件。此处就涉及了Web Service的基本思想,尽量将非核心的功能交给其他人去做,自己权力开发核心功能。(呃呃呃,怎么感觉和接口这么像,懒人思维,但真的减少工作量啊)

Related conception:云计算,云服务,某种程度上理解起来感觉差不多,把一些事情留给“cloud”去做。(云又做错了什么,为什么要承担这么多!!

好好好,为什么要用Web Service,总得有个理由得说服我把!!

需求产生挑战,挑战指引进步,需求from where

谈本地服务缺点:

1.本地资源不够,电脑的内存啊,为什么为什么这么小,多写几个项目就不够了,如果再把所有的东西存上来那我还用不用了。

2.很多时候钱决定了一些,就像租房子和买房子,有时候租房子比较划算,硬件及软件管理太烧钱啦,干脆租别人的,让别人去烧钱吧哈哈哈

3.如果自己很土豪,有很多台设备,但是在其中一台中开发的功能转移不到其他地方怎么办对吧!!

谈WebService优点:

1. 和平台无关。 咋实现的?

2. 和编程语言无关。 咋实现的?

3. To提供者,部署升级维护简单,不需要考虑客户端兼容。 咋实现的?

4. To使用者,可以实现多种数据、服务的mashup。 咋实现的?(貌似懂)

浏览器上访问一个链接是web service吗

刚开始我也是这样认为的,但不是😱

区别在于:

1. Browser访问一个网站Response的content-type更多情况是html;但是web service的则更多是json或者xml

2. Web Service访问另一个服务器的目的常是拿数据,而Browser更多是请求页面。

Web Service核心标准

XML(可扩展标记语言):

定义数据的标记语言,不支持数据操作,只是提供了定义数据的规范。类比理解就相当于在说英语、中文、法语、日语等各种语言的人之间定义了一种全球通用的语言规范,谁都可以看的懂。


SOAP(简单对象访问协议)

简单的基于XML和XSD(XML 模式定义)的协议(协议感觉也可以说是规范,互联网的使用者们达成了一致的规范遵守这些规范,称之为协议),可以使得应用程序在分布式环境中通过HTTP来交换信息。SOAP定义了一套编码规则,定义了如何将数据表示为消息,怎么通过HTTP协议来传输消息。

SOAP组成:

1. SOAP信封: 定义框架,描述了消息中的内容是什么,包括消息的发送者,消息的接收者、消息的处理者以及如何处理消息。(就当邮件来理解)

2. SOAP编码规则:定义了一种系列化机制(?),用于交换应用程序定义的数据类型的实例。

3. SOAP RPC:定义了用表示远程过程调用和应答协协定。

4. SOAP 绑定:定义了一种使用底层传输协议来完成在节点间交换信封的约定。

XSD干啥?

1. 定义XML文档里面都有什么元素以及由上面属性

2. 定义但有什么样子的子节点以及多少个,出现顺序

3. 定义元素或属性的数据类型

4. 定义元素或属性的默认值

 XML

<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

XSD 

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">

<xs:element name="note">
    <xs:complexType>
      <xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>


</xs:schema>

WSDL(网络服务描述语言)

是一种基于xml的语言,用于描述web service以及如何对他们进行访问,规定了参数、接口、操作、返回值等(说白了就相当于规格化的需求文档呗,文档里描述了我需要做什么事如何实现这些事)


UDDI(统一描述发现和集成协议)

UDDI(通用描述、发现和集成)是一个基于 XML 的注册表,供全世界的企业在 Internet 上列出自己的信息。它可以帮助公司在网络上找到彼此并调用他们的服务。基本上,通过 UDDI,公司可以在 Internet 上注册/描述其 Web 服务,以便其他公司可以找到其 WSDL 并从中生成存根

web服务的提供者将WSDL发布到UDDI,使用者可以使用SOAP调用这些接口(企业通过UDDI可注册并搜索SOAP-WebServices。企业将自己提供的SOAP-WebService注册在UDDI,也可以使用其他企业在UDDI注册的SOAP-WebService服务,从而达到资源共享)
 

懂了,本质上就是UDDI提供的就是检索服务,相当于给了一个包库,我们要去查找自己想用的包。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值