开发中要求有一个紧密联接的系统这本身没有错,而且许多应用程序也一直就是建立在这些系统上的。但最终,随着时间的流逝,这种模型是不会扩展的。因为众多公司企业要求相互沟通,这很难保证会有一个统一的系统,同样也很难保证,你的客户的服务器会有你所需要的完全一致的系统,你甚至都不可能猜想到它所用的是什么操作系统、什么对象模型和什么编程语言。
相反,Web服务的联接非常松散。这就意味者你可以在联接的任何一端任意改变接口,而应用程序可以不受影响地照常工作。从技术上说,这主要是由于使用了拥有稳固性能的基于消息的异步技术,如像HTTP、SMTP等Web标准协议。而且最重要的是,XML可以帮助实现其通用性。
作为一个宏伟的计划,.NET的路还很长。今后的发展无论是崎岖坎坷还是一片光明,在对新技术和IT产业的推动上,微软都是功不可没的。
消息系统将通信的基本单元打包进自描述的、运用于网络通信层的包(被称做消息)。消息系统和分布式对象系统的关键区别在于,发送者需要对接收者的系统了解多少。使用分布式的对象系统,发送者需要帮助接收者考虑许多问题,比如应用程序将如何激活和卸载、调用的是什么接口等等。
另一方面,消息系统在通讯层上达成协议。发送者只需考虑的是接收者能够知道信息正被发送。发送方不需要了解一旦消息被收到后将会如何处理,也不需要对发送方和接收方之间作任何考虑。
在通讯层上达成协议的优势是显而易见的。例如,协议能够使接收方随时作修改而无须中断发送方,只要该协议始终明白是同一条消息。接收方不用中断任何当前应用程序,可以自由升级和改进。更进一步说,就是发送方不用要求任何特殊的软件就可以和接收方交谈,只要他发送的是符合格式的信息,接收方就可以作出应答。
XML的通讯基础:SOAP
建造跨越Web的Web服务的工作和异步系统的关键是使用统一的数据说明格式,这就是XML。特别说明的是,Web服务器在三方面需要XML来实现:基础语言、服务说明以及服务发现。
● SOAP:系统在底层需要有统一语言,特别地,应用程序相互通讯需要建立一套规则来说明如何表示不同数据类型(如整数和数组),如何表示命令(如进行数据处理)。同时,应用程序在需要时还可以扩充这种语言。简单对象存取协议SOAP(Simple Object Access Protocol),这是XML的一种实现,代表了一组如何表示和扩充数据和命令的规则集。
● WDSL(Web Services描述语言) :一旦应用程序有了如何表述数据和命令的基本规则,他们就需要如何描述可以接收的特定数据和命令。应用程序只是声明如何接收整数是不够的,他们必须用明确的方法声明。如给你两个整数,把它们相乘。WDSL是一种XML语法,开发人员和开发工具可以用它来表示Web服务的功能。
● SOAP Discovery:最后需要一组规则来定位服务的描述——对于开发者和开发工具在什么地方可以发现一个Web服务。SOAP Discovery规范提供了一组规则让开发者和开发工具可以自动发现Web服务的描述。
一旦这些准备好了,开发者可以方便地发现Web 服务,把它作为一个对象集成进他们的应用程序,并使应用程序和Web服务相互通讯。
.NET框架:Web服务引擎
文章来源于领测软件测试网 https://www.ltesting.net/