现统一的连接。
消息传递系统将通信的基本单元打包成自我描述型的数据包(又称作消息),并将其放到网络缆线中。消息传递系统与分布式对象系统之间的本质区别在于:要求发送方辨识接收方的基本结构的程度有所不同。在分布式系统中,发送方需对接收方的情况作出种种猜测:应用程序是如何激活或拆包的,调用的是什么样的界面,等等。
另一方面,消息传递
系统会在缆线格式级上创建合同。发送方既不需考虑消息被接收后的情况,也不需考虑接发双方之间的通信情况,唯一需要考虑的是接收方是否能辩识发送的消息内容。
在缆线格式级上创建合同的优势不言而喻。例如,接收方可在任何时刻进行更改,而不会干扰发送方的消息发送,只要它仍可辩识原有消息的内容。另外,发送方无需任何特殊的软件即可与接收方
通信:只要它发出正确格式的消息,接收方就可以响应。
缆线级的XML:SOAP
实现Web服务的异类基本结构以及在整个Web中实现Web服务的关键,是实现支持简单数据描述格式的技术。这种格式就是XML。Web服务必须使用XML来完成三件事情:基本的缆线格式、服务描述以及“服务发现”。
SOAP:在通信的最低级别,系统需要使用同一语言。特别,作为通信双方的应用程序需要遵守同一套通信规则:如何表示不同的数据类型(例如:是整数还是数组),以及如何表示命令(即:需要对数据进行何种操作)。
另外,在必要的时候应用程序还需对该语言适当的扩展。简单对象访问协议(SOAP)是XML的实施工具,它提供了一套公共规则集,该规则集说明了如何表示并扩展数据和命令。
Web服务描述语言(WSDL)。双方应用程序在得到了如何表示数据类型和命令的规则后,需要对所接收的特定数据和命令进行有效的描述。仅仅说已接收到整数是不够的;比如,在接收到两个整数后,应用
程序必须明确表述它可以对这两个整数执行乘法运算操作。Web服务描述语言(WSDL)是一种XML语法,开发人员和开发工具可使用它来表述Web服务的具体功能。
“SOAP发现”:在最高层,还需制定一套如何定位服务描述的规则:默认情况下,用户或工具能在什么地方找到服务的功能描述?依据“SOAP发现”规格说明中提供的规则集,用户或开发工具可以自动找到服务的SCL描述。
一旦实现了这三种功能层,开发人员便可容易地找到Web服务,将它例示成一个对象后再集成进应用程序中,继而构建出一个具有丰富功能的基本结构。这样,得到的应用程序便能与Web服务进行反向通信了。
.NET框架:Web服务引擎
很显然,许多基本结构都需实现上述进程对开发人员和用户的透明化。.NET框架提供此基本结构。从.NET框架角度看,所有组件都可以是Web服务,而Web服务也仅是一种组件。实际上,.NET框架提取出微软组件对象模型(COM)的精华,将它们与松散耦合计算的精华有机地结合在一起,生成了强大、高效的Web组件系统:简化程序员的“管道”操作、深入地集成了安全性,引进了基于互联网的操作系统,极大地改善应用程序的可靠性和可扩展性。
.NET框架包含三个主要部分:公共语言运行时、具有多层次结构的统一的类库集合和高级版“活动服务器页面”(又名ASP+)
公共语言运行时
此名称不能准确反映它的全部功能。实际上,公共语言运行时在组件的开发过程中以及软件的运行过程中,都扮演着非常重要的角色。在组件运行过程中,运行时负责管理内存分配、启动或取消线程和进程、实施安全性策略、同时满足当前组件对其它组件的需求。在开发阶段,运行时的作用有些变化:与现今的COM相比,运行时的自动化程度大为提高(比如可自动执行内存管理),因而开发人员的工作变得非常轻松。尤其是,映射功能将使代码编写量锐减,这些代码是