内容简介
本书是WCF的权威指南。WCF是Microsoft推出的
在Windows操做系统下开发面向服务应用程序的统一平台,是革命性的技术平台。做为微软授予的“软件英杰”,本书做者Juval Lwy曾经参与了WCF的战略性设计,并与WCF的开发团队一同合做,所以本书具备很高的实用价值,它对WCF进行了深刻的技术剖析,而非死板的文档化描述。本书关注隐藏在特殊设计决策以后的根本原理,这些原理包括
SOA开发中极度匮乏的文档,以及难以理解的特性等。
本书关注隐藏在特殊设计决策以后的根本原理,这些原理包括soa开发中极度匮乏的文档,以及难以理解的特性等。经过本书,开发者与架构师不只可以了解如何进行wcf程序设计,还可以掌握相关的
设计准则、最佳实践以及wcf存在的缺陷。
本书包括
50多个工具和辅助类,以及70多个设计图,它们都设计用来提升咱们的生产力,保障wcf服务的质量,同时能弥补wcf自身存在的一些缺陷,并帮助简化和自动化特定任务。
除了介绍面向服务的基础知识外,本书涵盖了如下内容:
·
服务契约分解。
·事务与错误处理。
·
数据契约版本控制与封送。
·
并发管理。
·
可伸缩性策略。
·
队列服务。
·
操做、调用与事件。
·
面向服务安全性。
本书从软件工程的角度出发,深刻探索了wcf的每一个主题。本书可以使您如虎添翼,
从而设计出可维护的、可扩展的、可重用的soa应用程序。
译者简介
张逸,正大软件集团高级技术管理人员、系统架构师。前后在中兴通信、HP等国内外大型软件企业任职,参与了AAA、BOE—CIMS、NCIC—CRM和EAS等项目的管理、设计与开发。他主要专一的技术领域为,他熟悉
C#、Web Service、 Remoting和WCF等技术,参与了
大型项目的分布式架构设计以及企业信息化解决方案的实施。他是
《软件设计精要与模式》一书的做者,在面向对象领域具备必定造诣,
精通设计模式、测试驱动开发、极限编程与UML等技术或思想的运用。此外,他还担任公司的软件项目管理工做与技术团队的创建。
编辑推荐
适读人群 :计算机程序员和计算机程序设计架构师
本书介绍了关于WCF深刻、详细、系统的知识,能够帮助咱们学习并
构建可维护、可扩展、可复用的应用系统。本书经过告诉咱们
“为何”以及“如何”使用WCF进行开发来帮助咱们精通WCF编程,让咱们成长为一名出色的软件工程师。
目录
序
前言
第1章 wcf基础
什么是wcf
服务
地址
契约
托管
绑定
终结点
元数据交换
客户端编程
编程方式配置与管理方式配置
wcf体系架构
使用通道
可靠性
第2章 服务契约
操做重载
契约的继承
服务契约的分解与设计
. 契约查询
第3章 数据契约
序列化
数据契约特性
数据契约层级
数据契约等效性
版本控制
枚举
委托与数据契约
数据集与数据表
泛型
集合
第4章 实例管理
行为
单调服务
会话服务
单例服务
分步操做
实例停用
限流
第5章 操做
请求-应答操做
单向操做
回调操做
事件
流操做
第6章 错误
错误与异常
错误契约
错误处理扩展
第7章 事务
恢复的挑战
事务
事务传播
事务协议和管理器
事务类
事务型服务编程
显式事务编程
服务状态管理
实例管理与事务
回调
第8章 并发管理
实例管理与并发
服务并发模式
实例与并发访问
资源与服务
资源同步上下文
服务同步上下文
定制服务同步上下文
回调与客户端安全
回调与同步上下文
异步调用
第9章 队列服务
离线服务与客户端
队列调用
事务
实例管理
并发管理
传递故障
回放失败
队列调用与联机调用
响应服务
http桥
第10章 安全
身份验证
受权
传输安全
身份管理
整体策略
场景驱动方式
局域网应用程序
互联网应用程序
b2b应用程序
匿名应用程序
无安全
场景总结
声明式安全框架
安全审核
附录a 面向服务概述
附录b 发布-订阅服务
附录c wcf编码规范
序言
对于
分布式系统,或者说业界不断说起的
互联系统的设计与构建,我与本书做者Juval可谓志同道合。咱们经历了类似的技术历程,虽然咱们效力于不一样的公司,负责不一样的项目,工做在不一样的地方,但咱们却有着共同的目标。.
20世纪90年代早期,咱们开始了对一种新技术理念的探索,即实现计算机之间的通讯与交互。这种被称为分布式系统应用程序的平台技术也逐渐为世人所了解。随着工做站与服务器硬件的逐渐普及,经济因素再也不成为制约发展的瓶颈,构建不依赖于单事务网络中心的大型系统就成为了技术热点。对于大范围的数据交换系统而言,一样如此。在过去,个人电话公司若是要求每秒钟传递超过1200位的数据几乎是不可能的,而在现在看来连这都达不到简直难以想象。在一样的线路上,今天的传输速度已经达到了6Mbit/s。这真是一个激动人心的时代啊。
随着分布式计算技术的逐渐成熟,在90年代早期分属两大阵营的大型分布式系统技术渐露峥嵘,即数字设备公司(最终被康柏兼并,并入惠普)主导的DCE技术,以及OMG组织(主要由IBM支持)倡导的CORBA技术。然而在1996~1997期间,全部这些杰出的工程学成果却忽然停滞不前。
由于此时是互联网的世界,整个世界都疯迷于HTML、HTTP、风险投资以及IPO(Initial Public Offerings,首次公开募股)。整个行业花费了整整10年的时间才逐渐从泡沫经济带来的崩溃中恢复过来。不只是经济的复苏,技术的发展也从新走回正轨。随之获益的是分布式系统技术由此打破了过去由两大阵营各占半壁江山的局面,多达数十种新的分布式技术如雨后春笋通常展示在人们眼前,使咱们拥有了更多的抉择权。
直到2007年,整个行业仍然在为分布式系统的正确编码方式争论不休。Sun公司或者BEA力主Java;而我在微软的同事(包括我)则坚决地主张C#或者Visual Basic才是最佳的实现方式。不管是Sun、BEA、IBM仍是微软,都但愿机器之间的通讯标准可以达成一致。试想昔日的DCE与CORBA之争,正是由于达成了一致的标准规范才为现在的SOAP 1.1奠基了基础,从而开创了分布式技术的盛大场面。..
自从SOAP 1.1做为技术说明(Technical Note)被提交给W3C,到如今已有超过6年的历史。期间,多家行业合做商共同开发与协定了众多基于SOAP的规范,从包括寻址以及众多安全选项的基础规范,到诸如原子事务协做的企业协议。我在微软的团队,仍然非正式地称呼咱们的产品为“Indigo”,它表明了整个开发与协商过程当中耗费的全部心血。若是没有IBM、微软以及其余合做伙伴对建立通用标准集的大力支持,在竞争如此激烈的企业领域几乎不可能存在开放标准的框架,更不可能具备支持多个开发商以及各类平台的多种实现。
诚然,WCF的实现超出了预计须要花费的时间。标准的协定耗费了大量时间,毕竟咱们不能只顾着发布本身的软件(Windows Communication Foundation, WCF),而不考虑它与咱们的行业合做伙伴以及竞争者之间的互操做性。设计一样如此,对于那些具备分布式系统开发经验的客户而言,他们花费了大量时间学习以及掌握了咱们以前提供的分布式系统技术,包括
Web服务加强(WSE)、.NET Remoting、消息传输/MSMQ以及企业服务/COM+,咱们在发布软件的同时必须考虑这些客户。
在我刚才引用的技术清单中,包含了五种技术。若是使用非托管代码,则还有更多的技术平台。
WCF的其中一个最重要的设计目标就是经过简单的方式将这些技术集合起来,以一种方式进行编程。不论是构建一个
队列应用程序、事务型的N层应用程序、P2P客户端、RSS种子服务器,仍是构建本身的企业服务总线,都再也不须要掌握那些只能解决部分问题的多种技术。咱们只须要学习和使用WCF便可。这就是以一种方式编程的魅力所在。
本书展现了大量微软已经构建好的技术细节,它们能够做为您的应用程序与服务的基础。在本书中,做者以享有盛誉的写做技巧,深刻浅出而又准确细致地介绍了WCF的体系架构。做为微软互联框架团队成员的咱们,也为本身构建的这一产品深感自豪。
咱们为开发者提供了一个统一的分布式技术体系架构,它具备普遍的互操做性,全面提高了面向服务的特性。同时它仍是易于学习的,有利于提升构建面向服务应用程序的生产力。做为当今最杰出的分布式系统专家之一,Juval愿意倾尽心血全力介绍WCF,咱们不由深感荣幸。咱们有足够的信心相信,Juval的著做可以帮助您理解人们为何会对这一产品的问世以及它将创造的新的机遇而激动不已。这些人也包括咱们、Juval以及早期的用户社区。享受本书,开始构建您的第一个WCF服务吧。
—— Clemens Vasters
程序经理,微软互联框架团队