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

目录
相关文章
|
27天前
|
安全 前端开发 API
【Azure 应用服务】Azure Web App 服务默认支持一些 Weak TLS Ciphers Suite,是否有办法自定义修改呢?
【Azure 应用服务】Azure Web App 服务默认支持一些 Weak TLS Ciphers Suite,是否有办法自定义修改呢?
|
2月前
|
存储 自然语言处理 API
通义万相AIGC技术Web服务体验评测
随着人工智能技术的不断进步,图像生成技术已成为创意产业的一大助力。通义万相AIGC技术,作为阿里云推出的一项先进技术,旨在通过文本到图像、涂鸦转换、人像风格重塑及人物写真创建等功能,加速艺术家和设计师的创作流程。本文将详细评测这一技术的实际应用体验。
128 4
|
17天前
|
Java API Apache
从零到英雄的蜕变:如何用Apache Wicket打造你的第一个Web应用——不仅是教程,更是编程之旅的启航
【9月更文挑战第4天】学习Apache Wicket这一开源Java Web应用框架是一段激动人心的旅程。本文将指导你通过Maven搭建环境,并创建首个“Hello, World!”应用。从配置`pom.xml`到实现`HelloWorldApplication`类,再到`web.xml`的设置,一步步教你构建与部署简单网页。适合初学者快速上手,体验其简洁API与强大组件化设计的魅力。
14 1
|
20天前
|
存储 关系型数据库 MySQL
PHP编程基础:构建你的第一个Web应用
【8月更文挑战第31天】 在数字时代的海洋里,每个人都可以成为自己命运的船长。本文将引领初学者启航,用PHP语言搭建起第一个属于自己的网站。我们将从浅入深,逐步探索PHP的世界,最终实现一个简单的个人博客系统。这不仅是一段代码的旅程,更是一次思维和技术的飞跃。
|
22天前
|
JSON 定位技术 数据格式
web GIS神器,一行命令快捷构建精灵图服务
web GIS神器,一行命令快捷构建精灵图服务
|
30天前
|
网络协议 Serverless API
现代化 Web 应用构建问题之验证各个服务是否已成功部署如何解决
现代化 Web 应用构建问题之验证各个服务是否已成功部署如何解决
14 1
|
20天前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
44 0
|
20天前
|
Java 网络架构 数据格式
Struts 2 携手 RESTful:颠覆传统,重塑Web服务新纪元的史诗级组合!
【8月更文挑战第31天】《Struts 2 与 RESTful 设计:构建现代 Web 服务》介绍如何结合 Struts 2 框架与 RESTful 设计理念,构建高效、可扩展的 Web 服务。Struts 2 的 REST 插件提供简洁的 API 和约定,使开发者能快速创建符合 REST 规范的服务接口。通过在 `struts.xml` 中配置 `&lt;rest&gt;` 命名空间并使用注解如 `@Action`、`@GET` 等,可轻松定义服务路径及 HTTP 方法。
30 0
|
20天前
|
前端开发 API 开发者
JSF与RESTful服务的完美邂逅:如何打造符合现代Web潮流的数据交互新体验
【8月更文挑战第31天】随着互联网技术的发展,RESTful架构风格因其实现简便与无状态特性而在Web服务构建中日益流行。本文探讨如何结合JavaServer Faces (JSF) 和 JAX-RS 构建RESTful API,展示从前端到后端分离的完整解决方案。通过定义资源类、配置 `web.xml` 文件以及使用依赖注入等步骤,演示了在JSF项目中实现RESTful服务的具体过程,为Java开发者提供了实用指南。
29 0
|
20天前
|
开发框架 开发工具 Java
从零到高手:一文教你快速上手Vaadin,打造首个炫酷Web应用,开启编程新世界的大门
【8月更文挑战第31天】Vaadin是一款基于Java的Web应用开发框架,以其丰富的组件库、简洁的API及对现代Web标准的支持而广受开发者欢迎。本文将指导你从零开始快速搭建一个简单的Vaadin应用。首先确保已安装JDK 11及以上版本和IDE(如IntelliJ IDEA或Eclipse)。接着使用Spring Initializr创建新项目,并选中“Spring Web”和“Vaadin”依赖。创建项目后,编写主应用类和主页类,实现基本页面功能。最后配置启动页面并运行应用。通过这些步骤,你将成功搭建一个基础Vaadin应用,开启探索更多特性的旅程。
33 0