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

简介:
    在上篇博客中,我们认识了面向服务编程。本篇博客,将学习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
2
分享
相关文章
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
62 19
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
|
8月前
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
|
5月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
|
7月前
|
从零到英雄的蜕变:如何用Apache Wicket打造你的第一个Web应用——不仅是教程,更是编程之旅的启航
【9月更文挑战第4天】学习Apache Wicket这一开源Java Web应用框架是一段激动人心的旅程。本文将指导你通过Maven搭建环境,并创建首个“Hello, World!”应用。从配置`pom.xml`到实现`HelloWorldApplication`类,再到`web.xml`的设置,一步步教你构建与部署简单网页。适合初学者快速上手,体验其简洁API与强大组件化设计的魅力。
169 1
PHP编程基础:构建你的第一个Web应用
【8月更文挑战第31天】 在数字时代的海洋里,每个人都可以成为自己命运的船长。本文将引领初学者启航,用PHP语言搭建起第一个属于自己的网站。我们将从浅入深,逐步探索PHP的世界,最终实现一个简单的个人博客系统。这不仅是一段代码的旅程,更是一次思维和技术的飞跃。
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
从零到高手:一文教你快速上手Vaadin,打造首个炫酷Web应用,开启编程新世界的大门
【8月更文挑战第31天】Vaadin是一款基于Java的Web应用开发框架,以其丰富的组件库、简洁的API及对现代Web标准的支持而广受开发者欢迎。本文将指导你从零开始快速搭建一个简单的Vaadin应用。首先确保已安装JDK 11及以上版本和IDE(如IntelliJ IDEA或Eclipse)。接着使用Spring Initializr创建新项目,并选中“Spring Web”和“Vaadin”依赖。创建项目后,编写主应用类和主页类,实现基本页面功能。最后配置启动页面并运行应用。通过这些步骤,你将成功搭建一个基础Vaadin应用,开启探索更多特性的旅程。
946 0
神秘编程世界惊现强大调试法宝!FastAPI 究竟藏着怎样的秘密?带你解决 Web 应用问题大揭秘!
【8月更文挑战第31天】在 Web 应用开发中,调试至关重要,有助于迅速定位并解决问题,确保应用稳定运行。不同于传统框架依赖打印日志和手动检查代码的方式,FastAPI 作为现代 Python Web 框架,提供了内置开发服务器和自动重载功能,极大提升了开发效率。结合 Python 调试器,开发者可通过设置断点来逐步执行代码,直观精确地观察变量值与执行流程,快速定位问题。此外,FastAPI 还提供详细错误信息和日志记录,帮助开发者更高效地解决应用问题,提升应用质量。
82 0
神秘编程世界惊现强大架构!Web2py 的 MVC 究竟隐藏着怎样的神奇魔力?带你探索实际应用之谜!
【8月更文挑战第31天】在现代 Web 开发中,MVC(Model-View-Controller)架构被广泛应用,将应用程序分为模型、视图和控制器三个部分,有助于提高代码的可维护性、可扩展性和可测试性。Web2py 是一个采用 MVC 架构的 Python Web 框架,其中模型处理数据和业务逻辑,视图负责呈现数据给用户,控制器则协调模型和视图之间的交互。
59 0

热门文章

最新文章

AI助理

你好,我是AI助理

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