WebService技术--随笔1
1.WebService 发展史
- 创建阶段(1990 年代末至 2000 年代初):在这个阶段,XML-RPC 和 SOAP 协议被引入,为跨平台和跨语言的应用程序集成提供了基础。XML-RPC 提供了一种基于 XML 的远程过程调用机制,而 SOAP 则提供了一种基于 XML 的消息传输协议。
- 标准化阶段(2000 年至 2003 年):在这个阶段,SOAP 和 WSDL 开始得到广泛的关注和应用。SOAP 被标准化为 W3C(World Wide Web Consortium)的推荐标准,并且 WSDL 成为描述 Web 服务接口的通用格式。此外,UDDI 协议也在这个阶段得到了发展和完善,为 Web 服务的注册和发现提供了支持。
- 发展和应用阶段(2003 年至今):在这个阶段,WebService 技术逐渐成为企业级应用程序集成的主流方案。SOAP 和 WSDL 继续被广泛使用,许多开发工具和框架提供了对 WebService 的支持和集成。此外,RESTful 架构风格也逐渐崭露头角,通过简单的 URL 和 HTTP 动词来实现资源的访问和操作,成为 Web 服务开发的另一种选择。
- 后续完善阶段(至今):随着技术的不断演进和应用的扩大,WebService 技术在安全性、性能优化、可扩展性等方面进行了不断的完善。例如,引入了 WS-Security 标准来确保 Web 服务的安全性,引入了 WS-ReliableMessaging 标准来保证消息传输的可靠性。同时,各种开源框架和工具也涌现出来,简化了 Web 服务的创建和开发过程。
2.WebService 技术栈创新
-
XML-RPC(1998年):XML-RPC 是一种基于 XML 的远程过程调用协议,它允许应用程序在不同平台和语言之间进行通信。XML-RPC 使用 HTTP 协议作为传输机制,并使用 XML 格式来编码和解码数据。
-
SOAP(1999年):SOAP(Simple Object Access Protocol)是由 Microsoft、IBM 和其他公司联合提出的一种基于 XML 的消息传输协议。SOAP 定义了一种标准的消息格式,使得不同平台和语言之间的应用程序能够进行交互。SOAP 消息被封装在 HTTP 或其他协议中进行传输。
-
WSDL(2001年):WSDL(Web Services Description Language)是一种用于描述 Web 服务接口的 XML 格式。它定义了 Web 服务的地址、方法、参数和返回值等细节,使得客户端能够了解和调用该服务。
-
UDDI(2000年):UDDI(Universal Description, Discovery, and Integration)是一种用于注册和发现 Web 服务的协议。它提供了一个公共的目录,使得开发者能够查找和使用其他组织提供的 Web 服务。
-
RESTful Web Services(2000年代):REST(Representational State Transfer)是一种基于 HTTP 协议的架构风格,用于构建分布式系统。RESTful Web Services 使用简单的 URL 和 HTTP 动词(如 GET、POST、PUT、DELETE)来实现资源的访问和操作,而无需使用复杂的协议和中间件。
-
JSON-RPC(2004年):JSON-RPC 是一种基于 JSON(JavaScript Object Notation)格式的远程过程调用协议。它类似于 XML-RPC,但使用 JSON 来编码和解码数据。
3.WebService技术/协议总述
WebService是一种基于 Web 的服务技术,用于实现跨平台、跨语言的应用程序集成。它使用标准的 HTTP 协议(定义了报文内容的传输格式,比如Header,Body之类的)进行通信,常用的协议细节包括 SOAP(Simple Object Access Protocol--将操作翻译成XML格式)、WSDL(Web Services Description Language--WebService的描述性文档)和 UDDI(Universal Description, Discovery, and Integration--发现Web服务如Webservice服务)。
SOAP 是一种基于 XML 的消息传输协议,用于在 Web 服务之间进行通信。它定义了一种标准的消息格式,使得不同平台和语言之间的应用程序能够进行交互。SOAP 消息被封装在 HTTP 或其他协议中进行传输。
WSDL 是一种用于描述 Web 服务接口的 XML 格式。它定义了 Web 服务的地址、方法、参数和返回值等细节,使得客户端能够了解和调用该服务。
UDDI 是一种用于注册和发现 Web 服务的协议。它提供了一个公共的目录,使得开发者能够查找和使用其他组织提供的 Web 服务。
4.VS创建示例
ASP.NET Web 项目添加Web 服务 (ASMX)
using System;
using System.Web.Services;namespace MyWebService
{[WebService(Namespace = "http://example.com/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]public class MyService : WebService{[WebMethod]//可见方法特性标注public string HelloWorld(){return "Hello, World!";}}
}
可以在浏览器中访问该 Web 服务,通过调用相应的方法获取返回值。例如,使用以下 URL 访问 HelloWorld 方法:http://localhost:port/MyService.asmx/HelloWorld
相关文章:
WebService技术--随笔1
1.WebService 发展史 创建阶段(1990 年代末至 2000 年代初):在这个阶段,XML-RPC 和 SOAP 协议被引入,为跨平台和跨语言的应用程序集成提供了基础。XML-RPC 提供了一种基于 XML 的远程过程调用机制,而 SOAP…...
如何使用Docker将.Net6项目部署到Linux服务器(一)
目录 一 配置服务器环境 1.1 配置yum 1.1.1 更新yum包 1.1.2 yum命令 1.2 配置docker …...
第4章-第3节-Java中跟数组相关的几个算法以及综合应用
在写这篇博文之前,先大概说明一下,就是很常见的数组算法如求最大值、一维数组的遍历等,这里就不去专门说明了,只说一些有代表性的,然后就是冒泡排序算法很容易查阅到,这里也不专门说明了,只说明…...
AlexNet(pytorch)
AlexNet是2012年ISLVRC 2012(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络,分类准确率由传统的 70%提升到 80% 该网络的亮点在于: (1)首次利用 GPU 进行网络加速训练。 ÿ…...
【单调栈 】LeetCode321:拼接最大数
作者推荐 【动态规划】【广度优先搜索】LeetCode:2617 网格图中最少访问的格子数 本文涉及的知识点 单调栈 题目 给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k < m n) 个数字…...
TikTok与虚拟现实的完美交融:全新娱乐时代的开启
TikTok,这个风靡全球的短视频平台,与虚拟现实(VR)技术的深度结合,为用户呈现了一场全新的娱乐盛宴。虚拟现实技术为TikTok带来了更丰富、更沉浸的用户体验,标志着全新娱乐时代的开启。本文将深入探讨TikTok…...
PXI/PCIe/VPX机箱 ARM|x86 + FPGA测试测量板卡解决方案
PXI便携式测控系统是一种基于PXI总线的便携式测试测控系统,它填补了现有台式及机架式仪器在外场测控和便携测控应用上的空白,在军工国防、航空航天、兵器电子、船舶舰载等各个领域的外场测控场合和科学试验研究场合都有广泛的应用。由于PXI便携式测控系统…...
ES6 面试题 | 12.精选 ES6 面试题
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
【linux】Debian不能运行sudo的解决
一、问题: sudo: 没有找到有效的 sudoers 资源,退出 sudo: 初始化审计插件 sudoers_audit 出错 二、可用的方法: 出现 "sudo: 没有找到有效的 sudoers 资源,退出" 和 "sudo: 初始化审计插件 sudoers_audit 出错&q…...
讲解ThinkPHP的链式操作
数据库提供的链式操作方法,可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作。 使用也比较简单,假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 Db::table(think_u…...
Java技术栈 —— 微服务框架Spring Cloud —— Ruoyi-Cloud 学习(二)
RuoYi项目开发过程 一、登录功能(鉴权模块)1.1 后端部分1.1.1 什么是JWT?1.1.2 什么是Base64?为什么需要它?1.1.3 SpringBoot注解解析1.1.4 依赖注入和控制反转1.1.5 什么是Restful?1.1.6 Log4j 2、Logpack、SLF4j日志框架1.1.7 如何将项目打包成指定bytecode字节…...
如何进行软件测试和测试驱动开发(TDD)?
1. 软件测试概述 1.1 什么是软件测试? 软件测试是一种评估系统的过程,目的是发现潜在的错误或缺陷。通过对软件进行测试,开发者和测试人员可以确定软件是否符合预期的需求、功能是否正常运行,以及系统是否足够稳定和可靠。 1.2…...
linux 开机启动流程
1.打开电源 2.BIOS 有时间和启动方式 3.启动Systemd 其pid为1 4.挂载引导分区 /boot 5.启动各种服务 如rc.local...
Mybatis 动态SQL的插入操作
需求 : 根据用户的输入情况进行插入 动态SQL:根据需求动态拼接SQL 用户往表中插入数据,有的数据可能不想插入,比如不想让别人知道自己的性别,性别就为空 insert into userinfo(username,password,age,gender,phone) values(?,?,?,?,?); insert into userinfo(username,…...
共建开源新里程:北京航空航天大学OpenHarmony技术俱乐部正式揭牌成立
12月11日,由OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会(以下简称“TSC”)和北京航空航天大学共同举办的“OpenHarmony软件工程研讨会暨北京航空航天大学OpenHarmony技术俱乐部成立仪式”在京圆满落幕。 现场大合影 活动当天,多位重量级嘉宾出席了此次…...
企业微信机器人发送文本、图片、文件、markdown、图文信息
import requests import base64 import hashlib import json # 机器人地址的key值 key"811a1652-60e8-4f51-a1d9-231783399ad2" def path2base64(path):"""文件转换为base64:param path: 文件路径:return:"""with open(path, "rb…...
智能优化算法应用:基于天牛须算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于天牛须算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于天牛须算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.天牛须算法4.实验参数设定5.算法结果6.参考文…...
【Hive】【Hadoop】工作中常操作的笔记-随时添加
文章目录 1、Hive 复制一个表:2、字段级操作3、hdfs 文件统计 1、Hive 复制一个表: 直接Copy文件 create table new_table like table_name;hdfs dfs -get /apps/hive/warehouse/ods.db/table_nameload data local inpath /路径 into table new_table;修复表: m…...
DIY电脑装机机箱风扇安装方法
作为第一次自己diy一台电脑主机的我,在经历了众多的坑中今天来说一下如何安装机箱风扇的问题 一、风扇的数量 1、i3 xx50显卡 就用一个cpu散热风扇即可 2、i5 xx60 一个cpu散热风扇 一个风扇即可 3、i7 xx70 一个cpu散热 4个风扇即可 4、i9 xx80 就需要7个以…...
基础算法(4):排序(4)冒泡排序
1.冒泡排序(BubbleSort)实现 算法步骤:比较相邻的元素。如果第一个比第二个大,就交换。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤&#…...
终极指南:1000+编程语言Hello World全解析与学习秘籍 [特殊字符]
终极指南:1000编程语言Hello World全解析与学习秘籍 🚀 【免费下载链接】hello-world Hello world in every computer language. Thanks to everyone who contributes to this, make sure to see contributing.md for contribution instructions! 项目…...
OpenClaw QQ机器人一键接入指南
准备工作 软件环境 已成功安装并运行 OpenClaw Windows 版本OpenClaw Gateway 运行状态正常(建议保持在线状态) 账号准备 已准备好有效的 QQ 账号(用于平台扫码登录)已安装 QQ 手机客户端(用于扫码登录及机器人功…...
Process Explorer|微软官方免费进程神器|吊打系统任务管理器|揪出隐藏恶意软件
电脑莫名卡顿、风扇狂转、文件删不掉?系统任务管理器查不到元凶?试试 Process Explorer—— 微软官方免费进程管理工具,功能碾压自带任务管理器,轻松揪出后台隐藏恶意软件,普通用户也能上手! 备用下载 一…...
NCE外汇:平台稳定性与用户体验的全面观察
金融服务行业的复杂性决定了平台需要在多个维度上同时具备较高的水准。NCE外汇经过多年的发展,已经在合规、技术、服务、教育等方面形成了一套相互支撑的体系。本文从评测视角出发,对其综合实力进行多维度的解读,呈现一个具有结构感的平台画像…...
基于向量检索的代码语义搜索:从原理到CodeIndexer实战部署
1. 项目概述:一个为代码库建立语义索引的利器最近在折腾一个老项目的代码重构,面对几十万行混杂着不同语言和框架的代码,想快速定位一个特定功能的实现逻辑,或者查找所有使用了某个第三方库的模块,简直像大海捞针。传统…...
如何在不同设备上高效格式化SD卡
对于任何使用相机、智能手机或电脑的人来说,格式化SD卡都是一项基本技能。无论是清理旧文件为新照片腾出空间,还是修复“卡错误”提示,掌握正确的SD卡格式化方法都能确保其使用寿命和性能。接下来,我们将介绍几种格式化方法。第一…...
量子纠缠蒸馏技术:原理、应用与最新进展
1. 量子纠缠蒸馏技术概述量子纠缠蒸馏(Quantum Entanglement Distillation)是量子信息科学中的一项基础性技术,其核心目标是从受噪声污染的混合态中提取出高纯度的纠缠态。这项技术最早由Bennett等人于1996年提出,现已成为构建量子…...
从0到1构建DeepSeek抗注入能力:97.3%拦截率验证的5层LLM网关架构设计
更多请点击: https://intelliparadigm.com 第一章:从0到1构建DeepSeek抗注入能力:97.3%拦截率验证的5层LLM网关架构设计 为应对Prompt注入、越狱指令与上下文污染等高阶对抗攻击,我们设计并落地了一套轻量级、可插拔的5层LLM网关…...
数据科学家压力管理的艺术
原文:towardsdatascience.com/the-art-of-stress-management-as-a-data-scientist-e49981cd2aa7 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/96cbf6100471444654cae4816944e9b1.png Photo by Johnson Wang on Unsplash 数…...
基于MCP协议快速构建AI助手自定义工具:从入门到生产实践
1. 项目概述:一个为AI助手打造自定义工具的快速启动器如果你正在使用Claude Desktop或者Cursor这类AI编程助手,并且觉得它们内置的功能还不够用,比如你想让它直接查询你项目的数据库、调用某个内部API,或者执行一些特定的文件操作…...
