Web Service——面向服务编程的方式之一

简介: <div style="font-family:楷体; font-size:19px; line-height:27px; widows:auto"><span style="font-family:楷体">    在上篇博客中,我们认识了面向服务编程。本篇博客,将学习Web Service,它属于实现面向服务编程的方式之一。</span></div> <div style="font-
    在上篇博客中,我们认识了面向服务编程。本篇博客,将学习Web Service,它属于实现面向服务编程的方式之一。
    【一.什么是Web Service?】
    Web Service也叫XML WebService,是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。
    从生活中举一个简单的例子,我们平时在浏览不同的网站的时候,都会看见很多相同网站的身影,换句话说,我们在各种网站都可以看见百度、淘宝等,这便是他们将自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,这就是SOA(面向服务体系)应用。
    【二.Web Service的特点?】
    Web Service的主要目标是跨平台的可互操作性。为了实现这一目标,Web Service完全基于XML(可扩展标记语言)、XSD(XML Schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。
    所以,Web Service有许多优点:
    1.跨防火墙的通信。
    对于防火墙的问题,我们并不陌生。如果应用程序有成千上万的用户,分布在世界各地,传统的做法是,选择用浏览器作为客户端,写很多ASP页面,这样开发难度大,程序很难维护。如果利用Web Service开发,可以直接使用Microsoft SOAP Toolkit或.NET的SOAP客户端,也可以使用自己开发的SOAP客户端,然后将它和应用程序连接,这样,缩短了开发周期,减少了代码服用,增强了可维护性。
    2.应用程序的集成
    一个应用程序,可能会运用不同的语言,在不同的平台上运行,这就需要花费很大的力量去进行集成。通过Web Service,应用程序可以用标准的方法(HTTP、XML、SOAP和WSDL等标准协议),使得应用程序间相互使用。
    3.软件和数据重用
    使用Web Service,不必再像以前那样从第三方购买、安装软件组件,再从应用程序中调用这些组件,只需要直接调用Web Service就可以。其次,应用程序通过Web Service把自己“暴露”,这样其它应用程序也可以使用它所提供的功能;或者将自己的功能通过Web Service提供给他人。
    【三.Web Service的调用原理?】
     
    在上图中,我们很清楚的看到Web Service的整个过程都是通过SOAP的协议进行的。
    其原理用几句话总结,便简单很多了:
    1.Web Service采用SOAP协议实现跨编程语言和跨操作系统平台。
    2.Web Service采用HTTP协议传输数据,采用XML格式封装数据(即说明调用什么方法,传递什么参数,返回结果是什么)。
    3.Web Service通过HTTP协议发送请求和接收结果时,发送的请求内容和结果都采用XML格式封装,并增加一些特定的HTTP消息头,说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式便是SOAP协议(即HTTP协议+XML数据格式)。
    生活中,商店的服务员只要收到钱就给客户提供货物,商店服务员不用关系客户是什么性质的人,客户也不用关系商店服务员是什么性质的人。同样,Web Service客户端只要能使用HTTP协议把XML数据发送给Web Service服务器,Web Service服务器再通过HTTP协议返回XML结果数据,两者之间不用关系对方使用的是什么编程语言。
    【四.Web Service中的技术应用?】
    1.HTTP协议
    2.XML: 可扩展的标记语言, 是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。
    3.SOAP协议: 简单对象访问协议 (Simple Object Access Protocol),它是用于交换XML(标准通用标记语言 下的一个子集)编码信息的轻量级协议。
    HTTP协议和XML是广泛使用的Web技术,各种编程语言对它们都提供了良好的支持。WebService客户端和服务端使用什么编程语言都可以完成SOAP的功能,所以,Web Service很容易实现跨编程语言。
    【五.ITOO中Web Service的体现?】
    ITOO项目中,面向服务的编程方式下,它的实现其实应用的是基于WCF的Web Service方式,这样一来,便明白了WCF从何而来了。而为什么会引入WCF,想必应该是WCF的好处很多。在本篇博客中不再赘述了。
    【六.学习感受】
    这一次学习WCF,可以说是前后扩展,一点点的引入,一点点的联系,一点点的深入,这样一来,还算是弄清楚了很多东西,其次,真正的WCF学习还都没有触碰到,还需要继续加油啦。

目录
打赏
0
0
0
0
1
分享
相关文章
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
38 19
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
61 7
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
94 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
4月前
|
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
90 3
|
4月前
|
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
53 1
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
5月前
|
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
215 69
|
5月前
|
定义Web服务
【10月更文挑战第18天】定义Web服务
105 12
Web服务
【10月更文挑战第18天】Web服务
84 9

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等