WCF服务编程(第三版)(世界上享誉盛名的.NET专家和行业领导者,IDesign的软件架构师和负责人微软硅谷区域总监)
基本信息
编辑推荐
.NET开发者决战SOA的制胜利剑。
本书被誉为WCF的经典巨著。
内容简介回到顶部↑
书籍
计算机书籍
《WCF服务编程(第三版)》涵盖了.NET Framework 4.0的许多新特性,以及Azure AppFabric服务总线,同时,还包括一些最新的WCF想法和技巧。本书通过告诉你“为什么”及“如何”使用WCF来帮助你精通WCF编程、成长为一名出色的软件工程师。通过本书,你可以:了解WCF架构和基础构件,包含可靠性和传输会话等关键概念;使用服务托管、实例和并发管理、事务、无连接队列调用、安全和服务等内置特性;精通Windows Azure AppFabric服务总线、新的云计算里最具革命性的部分;通过使用相关的设计原则、提示和ServiceModelEx框架里的最佳实践,提高WCF服务开发的效率和质量;挖掘服务设计背后的原理,揭秘WCF开发的精髓。
计算机书籍
《WCF服务编程(第三版)》涵盖了.NET Framework 4.0的许多新特性,以及Azure AppFabric服务总线,同时,还包括一些最新的WCF想法和技巧。本书通过告诉你“为什么”及“如何”使用WCF来帮助你精通WCF编程、成长为一名出色的软件工程师。通过本书,你可以:了解WCF架构和基础构件,包含可靠性和传输会话等关键概念;使用服务托管、实例和并发管理、事务、无连接队列调用、安全和服务等内置特性;精通Windows Azure AppFabric服务总线、新的云计算里最具革命性的部分;通过使用相关的设计原则、提示和ServiceModelEx框架里的最佳实践,提高WCF服务开发的效率和质量;挖掘服务设计背后的原理,揭秘WCF开发的精髓。
作译者回到顶部↑
本书提供作译者介绍
Juval Lowy是世界上享誉盛名的.NET专家和行业领导者之一,是IDesign的软件架构师和负责人,他专注于.NET架构方面的咨询和高级培训工作。Juval Lowy是微软硅谷区域总监,目前致力于.NET 4.0的推广工作。他参加了微软内部关于新版本的.NET和相关技术的设计评审工作。Juval Lowy发表了许多技术文章,经常在开发技术大会上发言。正因为他在.NET领域的贡献,微软授予其“软件传奇” (Software Legend)的称号。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
《wcf服务编程(第三版)》
序言 i
前言 iii
第1章 wcf基础 1
什么是wcf 1
服务 2
服务的执行边界 3
wcf与位置透明度 4
地址 4
tcp地址 5
http地址 5
ipc地址 6
msmq地址 6
服务总线地址 6
契约 6
服务契约 7
托管 11
iis 5/6 托管 11
自托管 12
was was托管 17
序言 i
前言 iii
第1章 wcf基础 1
什么是wcf 1
服务 2
服务的执行边界 3
wcf与位置透明度 4
地址 4
tcp地址 5
http地址 5
ipc地址 6
msmq地址 6
服务总线地址 6
契约 6
服务契约 7
托管 11
iis 5/6 托管 11
自托管 12
was was托管 17
译者序回到顶部↑
非常荣幸能够翻译Juval L?wy的《WCF服务编程》(第三版)。这本书也是继翻译Justin Smith的《WCF技术内幕》之后,我翻译的第二本书。在.NET平台10岁生日即将到来之际,这本书也算是献给.NET生日的一个小小的礼物。
这本书在WCF领域的地位,可以和Jeffrey Richter的《CLR Via C#》在.NET领域的地位相媲美,是世界范围内最经典的WCF书籍。这本书也是我在www.frankxulei.com《WCF分布式开发步步为赢:WCF学习经验分享,如何更好地学习WCF》一文里首推的学习WCF的经典教程。
学习.NET,首选就是《CLR Via C#》;学习WCF,理所当然就是选择《WCF服务编程》(第三版)。前者循序渐进、深入浅出,后者由内而外、层层剖析,两者珠联璧合,是.NET 技术人员学习WCF的两把利剑。
本书内容深入浅出,详细、系统地介绍了WCF的知识点和体系架构,是WCF领域不可多得的经典教材。
在介绍WCF之前,我们先来简单回顾一下.NET的发展历史。从2002年2月13日.NET 1.0发布以来,.NET走过了近10年的风雨历程。2010年4月12日,微软发布了最新的.NET 4.0,.NET平台逐渐成熟,并且日益强大。
WCF的发展历史
从2006年WCF3.0诞生以来,WCF也经历了几个版本,目前最新的版本是WCF4.0(与.NET4.0一起发布)。下面简要介绍一下WCF的概念。
WCF全称Windows Communication Foundation,是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework的重要组成部分。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。
WCF集成了微软其他的分布式技术(见下页图)。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙(译注 )。
面向的读者
既然WCF的作用如此重要,那么什么人适合学习WCF呢?
一般来说,任何对WCF感兴趣的读者都可以阅读本书,并从中学习自己需要的知识。但是,为了更好地使用本书,我们建议以下人员详细阅读本书:
? WCF的开发者;
? 有一定.NET Framework编程经验的开发者;
? 测试人员;
? .NET架构师、SOA架构师,或企业系统集成架构师。
如何学习
如何深入地学习WCF?这应该是很多读者面临的问题。我在《WCF分布式开发步步为赢:WCF学习经验分享,如何更好地学习WCF》中,对WCF学习涉及的问题做过详细、系统的介绍。以下摘要部分。
既然WCF集成Enterprise Sevices、COM+、.Net Remoting、ASP.NET、Web Service(ASMX)、WSE3.0和MSMQ消息队列,并支持多种宿主程序,如ASP.NET、EXE、WPF、Windows Forms、NT Service和COM+,那么,我们在学习WCF之前最好先了解这些知识。
这本书在WCF领域的地位,可以和Jeffrey Richter的《CLR Via C#》在.NET领域的地位相媲美,是世界范围内最经典的WCF书籍。这本书也是我在www.frankxulei.com《WCF分布式开发步步为赢:WCF学习经验分享,如何更好地学习WCF》一文里首推的学习WCF的经典教程。
学习.NET,首选就是《CLR Via C#》;学习WCF,理所当然就是选择《WCF服务编程》(第三版)。前者循序渐进、深入浅出,后者由内而外、层层剖析,两者珠联璧合,是.NET 技术人员学习WCF的两把利剑。
本书内容深入浅出,详细、系统地介绍了WCF的知识点和体系架构,是WCF领域不可多得的经典教材。
在介绍WCF之前,我们先来简单回顾一下.NET的发展历史。从2002年2月13日.NET 1.0发布以来,.NET走过了近10年的风雨历程。2010年4月12日,微软发布了最新的.NET 4.0,.NET平台逐渐成熟,并且日益强大。
WCF的发展历史
从2006年WCF3.0诞生以来,WCF也经历了几个版本,目前最新的版本是WCF4.0(与.NET4.0一起发布)。下面简要介绍一下WCF的概念。
WCF全称Windows Communication Foundation,是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework的重要组成部分。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。
WCF集成了微软其他的分布式技术(见下页图)。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙(译注 )。
面向的读者
既然WCF的作用如此重要,那么什么人适合学习WCF呢?
一般来说,任何对WCF感兴趣的读者都可以阅读本书,并从中学习自己需要的知识。但是,为了更好地使用本书,我们建议以下人员详细阅读本书:
? WCF的开发者;
? 有一定.NET Framework编程经验的开发者;
? 测试人员;
? .NET架构师、SOA架构师,或企业系统集成架构师。
如何学习
如何深入地学习WCF?这应该是很多读者面临的问题。我在《WCF分布式开发步步为赢:WCF学习经验分享,如何更好地学习WCF》中,对WCF学习涉及的问题做过详细、系统的介绍。以下摘要部分。
既然WCF集成Enterprise Sevices、COM+、.Net Remoting、ASP.NET、Web Service(ASMX)、WSE3.0和MSMQ消息队列,并支持多种宿主程序,如ASP.NET、EXE、WPF、Windows Forms、NT Service和COM+,那么,我们在学习WCF之前最好先了解这些知识。
前言回到顶部↑
2001年8月,我第一次了解到微软在使用托管代码重写COM+的工作细节。在2002年7月重新审订C#2.0战略的时候,Remoting的经理提出要以一种开发人员实际使用的方式重写Remoting代码。与此同时,微软也在忙于把新的Web Service安全规范引入ASMX堆栈,并且与其他公司一起积极起草新的Web Service规范。
2003年,我被授权参与一个新的事务性框架的研发工作,这个框架用来改进.NET事务编程。当时,还没有一个高耦合的编程模型可以统一这些千差万别的技术。直到2003年末,我接到一个私人邀请,加入一个由许多行业专家组成的团队来参与审订Indigo平台的战略设计。我所知道的一些最优秀的人都是这个团队的成员。在此后的两三年里,Indigo经历了三代编程模型。最终声明式、终结点驱动的对象模型于2005年初才初露端倪,2005年8月就基本定型,命名为Windows Communication Foundation(WCF)。WCF在2006年作为.NET 3.0的一部分发布出来。
在2010年下半年,当我提笔撰写此文之际,才发现难以置信的是,4年时间就这样匆匆过去了,技术平台也有了许多变化。本书的第三版就是为了介绍新版WCF和NET 4.0。
究竟什么是WCF?每个人的回答各不相同,很难有一致的答案。对Web服务开发人员来说,它就是终极互操作的解决方案,是一大串行业规范的集成。对分布式系统开发人员来说,它是最容易实现远程调用和队列调用的方式。对系统开发人员来说,它是下一代面向生产力的代表,如事物和托管,它提供了许多现成的构件。对应用程序开发人员来说,它就是结构化应用系统的声明式的编程模型。对架构师来说,它就是一个构件面向服务应用系统的工具。WCF事实上非常简单,它其实就是微软各种通信技术的统一平台。
个人认为,WCF是下一代的开发平台,并且被最大程度地集成到.NET中。抛开应用系统的类型、大小或行业范围,所有的.NET开发人员都应该使用WCF。WCF提供了一种方便、简洁的方式去生成符合设计原则的服务和应用程序。设计WCF的目的是简化应用程序的开发和部署成本。WCF服务可用来构件面向服务的应用程序,从独立的桌面应用到基于Web的应用和服务,以及高端的企业应用。
本书如何组织
How This Book Organized
本书涵盖了基于WCF开发面向服务应用程序的主题和技能,阐述了如何使用内置的特性,如服务托管、实例管理、并发管理、事务、无连接队列调用、安全和Windows Azure AppFabric 服务总线等。这本书不仅告诉你如何使用这些特性,还告诉你为什么使用这些特性,以及特性设计背后的原因。你不仅会从中学习到WCF编程和相关系统的知识,而且还会了解相关的设计原则、提示、最佳实践和误区。我会从软件工程的角度来介绍每个知识点,因为我的目标不仅是让你成为一个WCF专家,而且是让你成为一名出色的软件工程师。掌握了本书的精髓,你就可以开发具有可维护性、可扩展性、可复用性和高生产率的应用程序。
《WCF服务编程》第三版也给了我一些机会:首先,可以介绍WCF 4.0的新特性,如托管、服务发现和配置简化;其次,可以介绍一下Window Azure AppFabric Service Bus,它是一个全新的突破性技术,允许开发人员构建各种应用;最后,可以介绍我积累了两年多的WCF编程技巧、想法及帮助类,以及对第一版和第二版的一些改进想法。我相信这些新的材料会使本书更具价值。
本书没有介绍WCF的实现细节,而是重点关注WCF的实际应用:如何使用WCF技术,如何在已有的设计和编程模型之间选择。本书尽量介绍.NET 4.0和Service Bus的知识,当然从某种程度上说它也是一本高级C#编程书。
此外,本书还包含许多有用的代码、工具和我编写的帮助类,收集在ServiceModelEx里。我的工具、帮助类及属性可以提高你的代码生产率和WCF服务的质量。ServiceModelEx是个小的框架,寄宿于WCF内,它提供了一些监测功能,简化了一些代码工作。本书介绍的内容主要是关于原生态WCF的工具、想法及技巧。我的框架也演示了如何扩展WCF。许多读者告诉我,除了本书的内容介绍之外,ServiceModelEx是最有价值的部分。我的建议是,读者不必使用ServiceModelEx全部的代码。实际上,ServiceModelEx是一个WCF强大工具集,你可以独立地使用其中每个辅助类、工具或框架,它们之间的内在联系很少。
在过去的6年里,我在MSDN杂志上发表多篇关于WCF的文章,并且也为“Foundations”专栏撰写WCF的相关内容。非常感谢MSDN杂志允许我把这些文章列入本书的章节。如果你读过这些文章,你也许会在本书中发现它们。这些章节更加通俗易懂,涵盖范围广(提供了不同的视角、技巧和例子),而且是最新版本,紧贴每章的主题。每个章节讨论一个主题,并进行深入分析。然而,每个章节都依赖于之前的章节,所以建议你按照顺序学习。
以下所列是本书章节和附录的摘要。
第1章,WCF基础
本1章首先介绍什么是WCF,然后介绍WCF的基本概念和构件(如地址、契约、绑定、终结点、托管和客户端),以及一些关键的概念(如可靠性和传输会话)。这一章包含一个关于WCF架构的讨论,它是后续章节的基石。本章假设你明白面向服务的动机和好处,如果你尚不了解,可以先阅读附录A。假如你对WCF的基础概念非常熟悉,建议你略读本章,可以帮助你巩固基础知识。本章介绍的一些辅助类和其他条目也会在后续的章节里用到。
第2章,服务契约
本章的主题是关于设计和使用服务契约。本章包含了一些服务契约重载和继承的技巧,还有一些高级知识。本章也讨论了如何设计和分解契约,以满足重用、可维护性和扩展性的要求。本章的结束部分介绍了如何通过编程在运行时暴露元服务数据。
第3章,数据契约
本章主要介绍在没有共享数据类型或使用相同的技术的情况下,客户端和服务端如何交换数据。在本章,你会了解如何处理现实中的一些问题,如什么是数据版本、如何传递集合类型等。
第4章,实例管理
2003年,我被授权参与一个新的事务性框架的研发工作,这个框架用来改进.NET事务编程。当时,还没有一个高耦合的编程模型可以统一这些千差万别的技术。直到2003年末,我接到一个私人邀请,加入一个由许多行业专家组成的团队来参与审订Indigo平台的战略设计。我所知道的一些最优秀的人都是这个团队的成员。在此后的两三年里,Indigo经历了三代编程模型。最终声明式、终结点驱动的对象模型于2005年初才初露端倪,2005年8月就基本定型,命名为Windows Communication Foundation(WCF)。WCF在2006年作为.NET 3.0的一部分发布出来。
在2010年下半年,当我提笔撰写此文之际,才发现难以置信的是,4年时间就这样匆匆过去了,技术平台也有了许多变化。本书的第三版就是为了介绍新版WCF和NET 4.0。
究竟什么是WCF?每个人的回答各不相同,很难有一致的答案。对Web服务开发人员来说,它就是终极互操作的解决方案,是一大串行业规范的集成。对分布式系统开发人员来说,它是最容易实现远程调用和队列调用的方式。对系统开发人员来说,它是下一代面向生产力的代表,如事物和托管,它提供了许多现成的构件。对应用程序开发人员来说,它就是结构化应用系统的声明式的编程模型。对架构师来说,它就是一个构件面向服务应用系统的工具。WCF事实上非常简单,它其实就是微软各种通信技术的统一平台。
个人认为,WCF是下一代的开发平台,并且被最大程度地集成到.NET中。抛开应用系统的类型、大小或行业范围,所有的.NET开发人员都应该使用WCF。WCF提供了一种方便、简洁的方式去生成符合设计原则的服务和应用程序。设计WCF的目的是简化应用程序的开发和部署成本。WCF服务可用来构件面向服务的应用程序,从独立的桌面应用到基于Web的应用和服务,以及高端的企业应用。
本书如何组织
How This Book Organized
本书涵盖了基于WCF开发面向服务应用程序的主题和技能,阐述了如何使用内置的特性,如服务托管、实例管理、并发管理、事务、无连接队列调用、安全和Windows Azure AppFabric 服务总线等。这本书不仅告诉你如何使用这些特性,还告诉你为什么使用这些特性,以及特性设计背后的原因。你不仅会从中学习到WCF编程和相关系统的知识,而且还会了解相关的设计原则、提示、最佳实践和误区。我会从软件工程的角度来介绍每个知识点,因为我的目标不仅是让你成为一个WCF专家,而且是让你成为一名出色的软件工程师。掌握了本书的精髓,你就可以开发具有可维护性、可扩展性、可复用性和高生产率的应用程序。
《WCF服务编程》第三版也给了我一些机会:首先,可以介绍WCF 4.0的新特性,如托管、服务发现和配置简化;其次,可以介绍一下Window Azure AppFabric Service Bus,它是一个全新的突破性技术,允许开发人员构建各种应用;最后,可以介绍我积累了两年多的WCF编程技巧、想法及帮助类,以及对第一版和第二版的一些改进想法。我相信这些新的材料会使本书更具价值。
本书没有介绍WCF的实现细节,而是重点关注WCF的实际应用:如何使用WCF技术,如何在已有的设计和编程模型之间选择。本书尽量介绍.NET 4.0和Service Bus的知识,当然从某种程度上说它也是一本高级C#编程书。
此外,本书还包含许多有用的代码、工具和我编写的帮助类,收集在ServiceModelEx里。我的工具、帮助类及属性可以提高你的代码生产率和WCF服务的质量。ServiceModelEx是个小的框架,寄宿于WCF内,它提供了一些监测功能,简化了一些代码工作。本书介绍的内容主要是关于原生态WCF的工具、想法及技巧。我的框架也演示了如何扩展WCF。许多读者告诉我,除了本书的内容介绍之外,ServiceModelEx是最有价值的部分。我的建议是,读者不必使用ServiceModelEx全部的代码。实际上,ServiceModelEx是一个WCF强大工具集,你可以独立地使用其中每个辅助类、工具或框架,它们之间的内在联系很少。
在过去的6年里,我在MSDN杂志上发表多篇关于WCF的文章,并且也为“Foundations”专栏撰写WCF的相关内容。非常感谢MSDN杂志允许我把这些文章列入本书的章节。如果你读过这些文章,你也许会在本书中发现它们。这些章节更加通俗易懂,涵盖范围广(提供了不同的视角、技巧和例子),而且是最新版本,紧贴每章的主题。每个章节讨论一个主题,并进行深入分析。然而,每个章节都依赖于之前的章节,所以建议你按照顺序学习。
以下所列是本书章节和附录的摘要。
第1章,WCF基础
本1章首先介绍什么是WCF,然后介绍WCF的基本概念和构件(如地址、契约、绑定、终结点、托管和客户端),以及一些关键的概念(如可靠性和传输会话)。这一章包含一个关于WCF架构的讨论,它是后续章节的基石。本章假设你明白面向服务的动机和好处,如果你尚不了解,可以先阅读附录A。假如你对WCF的基础概念非常熟悉,建议你略读本章,可以帮助你巩固基础知识。本章介绍的一些辅助类和其他条目也会在后续的章节里用到。
第2章,服务契约
本章的主题是关于设计和使用服务契约。本章包含了一些服务契约重载和继承的技巧,还有一些高级知识。本章也讨论了如何设计和分解契约,以满足重用、可维护性和扩展性的要求。本章的结束部分介绍了如何通过编程在运行时暴露元服务数据。
第3章,数据契约
本章主要介绍在没有共享数据类型或使用相同的技术的情况下,客户端和服务端如何交换数据。在本章,你会了解如何处理现实中的一些问题,如什么是数据版本、如何传递集合类型等。
第4章,实例管理
序言回到顶部↑
当Juval Lowy让我来为本书的第一版撰写序言的时候,我还是微软的一名WCF社区程序经理。WCF是为了Windows编写统一通信平台而多年努力的结果,也是许多专家、开发设计人员多年心血的结晶。它基于XML和SOAP信封模型构建互操作的消息规范框架,并且使用统一的寻址模型。这套消息规范框架是对会话管理和有序传递语义独立传输的抽象,同时,它也是消息和会话保护、联邦验证和授权、其他功能的公共模型。在SOAP1.1提交给W3C以后,过了10年的时间,微软和其他伙伴仍在持续完善这个公共消息规范框架(WS-*规范)。
在为本书第三版作序时,我已经是微软Windows Azure AppFabric团队的架构师。更准确地说,我已经参与服务总线(Service Bus)的架构设计工作。服务总线是Windows Azure平台的重要组成部分,这在本书第11章和附录里有所介绍。通常,我介绍构建商业Web服务基础架构的方式,与介绍服务总线或者其他服务的手法很相似,在介绍Windows Azure AppFabric Access Control时,我也使用了相似的类比手法。这些最上层的特性是客户交互使用公开的协议和API,它们只是冰山一角。剩下的部分才是冰山的底座,就像大规模的企业应用基础结构——运行在公共云上。
当创建Windows Azure账户时,数据和工作就会通过WCF SOAP服务来运行。当在云计算平台里创建新服务命名空间时,数据中心之间的消息流通常使用的是WCF SOAP服务,而且会在指定的位置创建资源。此外,系统监控,诊断,账单数据收集、验证及传递也都是通过WCF SOAP服务实现的。
当人们提供公共的Web服务基础结构时,期待可以在基础结构上提供一个具有相同功能的消息中心、REST协议头和资源项目。考虑到浏览器和设备的兼容性问题,一般优先选择REST协议——大部分是WCF提供的HTTP Web编程模型。然而,还没有任何对于在WCF上构建非SOAP终结点接口的质疑或争辩,因为WCF已经提供了强大的Web编程模型。
微软投入大量资金和数百个工程师在Windows Azure平台上构建骨干系统,其复杂程度超过了许多大型的企业应用系统。我们在此运行、升级或改变系统的某个部分时,不需要停止系统,这不仅仅是复杂性的问题,而且还是一种艺术。你需要子系统间的松耦合,你需要许多的灵活性和扩展性,而且你也需要有清晰的想法,知道其他系统会接受和返回什么格式的消息等。我发现,一旦在Windows Azure上遇到带有现实需求的“更简单的”通信模型时,就必然要在协议层重新开发和设计组件,这一点常常会让开发人员陷入困境,度日如年。
WCF非常强大,因为它可以处理复杂的互联应用系统。它的强大之处在于可以与其他Web服务堆栈交互,比如Oracle/Sun、IBM、Apache Foundation构建的服务。此外,它也可以构建面向资源的HTTP/REST服务。
这本书就是关于WCF最好的书籍,可以帮助您提升架构和构建分布式应用系统的能力,这一直也是我和Juval的共同心愿。此书会帮助您学习“分布式”知识——如何把资源连接起来,如何安全、可靠而且松耦合地实现分布式系统。所有这些都归功于Juval Lowy——当今世界最优秀的分布式系统专家之一。
《WCF服务编程》对WCF系统知识进行了详尽、准确的描述。Juval Lowy也以致力于架构研究而享誉全球。
我就介绍到这里。赶紧打开书本,现在开始阅读吧!
Clemens Vasters
首席Technical Lead,Windows Azure AppFabric Service Bus,微软
在为本书第三版作序时,我已经是微软Windows Azure AppFabric团队的架构师。更准确地说,我已经参与服务总线(Service Bus)的架构设计工作。服务总线是Windows Azure平台的重要组成部分,这在本书第11章和附录里有所介绍。通常,我介绍构建商业Web服务基础架构的方式,与介绍服务总线或者其他服务的手法很相似,在介绍Windows Azure AppFabric Access Control时,我也使用了相似的类比手法。这些最上层的特性是客户交互使用公开的协议和API,它们只是冰山一角。剩下的部分才是冰山的底座,就像大规模的企业应用基础结构——运行在公共云上。
当创建Windows Azure账户时,数据和工作就会通过WCF SOAP服务来运行。当在云计算平台里创建新服务命名空间时,数据中心之间的消息流通常使用的是WCF SOAP服务,而且会在指定的位置创建资源。此外,系统监控,诊断,账单数据收集、验证及传递也都是通过WCF SOAP服务实现的。
当人们提供公共的Web服务基础结构时,期待可以在基础结构上提供一个具有相同功能的消息中心、REST协议头和资源项目。考虑到浏览器和设备的兼容性问题,一般优先选择REST协议——大部分是WCF提供的HTTP Web编程模型。然而,还没有任何对于在WCF上构建非SOAP终结点接口的质疑或争辩,因为WCF已经提供了强大的Web编程模型。
微软投入大量资金和数百个工程师在Windows Azure平台上构建骨干系统,其复杂程度超过了许多大型的企业应用系统。我们在此运行、升级或改变系统的某个部分时,不需要停止系统,这不仅仅是复杂性的问题,而且还是一种艺术。你需要子系统间的松耦合,你需要许多的灵活性和扩展性,而且你也需要有清晰的想法,知道其他系统会接受和返回什么格式的消息等。我发现,一旦在Windows Azure上遇到带有现实需求的“更简单的”通信模型时,就必然要在协议层重新开发和设计组件,这一点常常会让开发人员陷入困境,度日如年。
WCF非常强大,因为它可以处理复杂的互联应用系统。它的强大之处在于可以与其他Web服务堆栈交互,比如Oracle/Sun、IBM、Apache Foundation构建的服务。此外,它也可以构建面向资源的HTTP/REST服务。
这本书就是关于WCF最好的书籍,可以帮助您提升架构和构建分布式应用系统的能力,这一直也是我和Juval的共同心愿。此书会帮助您学习“分布式”知识——如何把资源连接起来,如何安全、可靠而且松耦合地实现分布式系统。所有这些都归功于Juval Lowy——当今世界最优秀的分布式系统专家之一。
《WCF服务编程》对WCF系统知识进行了详尽、准确的描述。Juval Lowy也以致力于架构研究而享誉全球。
我就介绍到这里。赶紧打开书本,现在开始阅读吧!
Clemens Vasters
首席Technical Lead,Windows Azure AppFabric Service Bus,微软
媒体评论回到顶部↑
“如果你选择学习WCF,那么你的选择非常正确;如果你选择JuvaI Ldwy的书籍,那么这无疑更是英明之举……他是世界上仅有的几位精通WCF的大师之一。”
——Ron Jacobs 微软公司WCF高级技术专家
——Ron Jacobs 微软公司WCF高级技术专家
【插图】








点击看大图





加载中...
