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学习还都没有触碰到,还需要继续加油啦。

目录
相关文章
|
1月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
296 116
|
5月前
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
5月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
7月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
327 35
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
226 9
|
9月前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
521 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
9月前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
277 19
|
8月前
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
|
9月前
|
网络协议 Java Shell
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-优雅草卓伊凡解决方案
608 7
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
347 69

热门文章

最新文章