Windows通信基础(WCF)的产品经理,Glenn Block在主题为“WCF,Evolving for the Web”的在线研讨会上表示,微软面向服务应用的构建框架将进行根本性的重构,新的架构将以HTTP为中心。
在这次在线会议的开始,Block总结了业界的当前趋势:
- 向基于云的计算转变
- SOAP逐渐淡出
- 浏览器运行于各类设备之上日渐盛行
- REST采纳的增长
- 类似OAuth、WebSocket这样标准的出现
他表示,WCF的当前架构在很大程度上是基于SOAP的,如下图示:
WCF的一个关键特性是,在相同编程模型下支持多种传输协议(HTTP、TCP、命名管道)。遗憾的是,一旦触及HTTP,它的大量好处(伸缩性、 内容协商)就消失了,原因在于WCF只是把它当作一种传输手段。因此,Block期望将支持HTTP的WCF视为一种具备简单灵活编程模型的一流应用协 议。如下图示:
HTTP是在.NET 3.5中引进的,这让创建通过HTTP访问的服务成为可能,但是“没有办法访问所有HTTP必须提供的东西,它是一种非常扁平的模型,面向RPC,但 Web不是这样的。在Block看来,Web是一种非常丰富的资源集”。与其将当前的WCF改造成可以在HTTP之上正常工作,Block认为WCF应该 “以HTTP的思想,使用RESTful方式”重新构架。
WCF将包含助手API,完成预处理HTTP请求或响应、解析和操纵所有参数、将HTTP信息封装到对象中以供未来处理之用。只要愿意,用户就可以 利用它将自己从直接处理HTTP内部细节的痛苦中解脱出来。这个特性还将提供一种插件功能,主要针对像JSON, Atom, OData等这样的数据格式的媒体类型格式化器。WCF将内置部分格式的支持,但是用户能够加入自己的格式化器。
新的WCF已经正在构建当中,Block演示了使用它的样例代码,但他表示这个特性集和WCF将来的样子尚未最终定案。他们不久将在CodePlex上发布框架的初始版本,让社区能够进行测试和反馈,让WCF的未来逐渐成型。更多的细节将在PDC 2010大会期间得到公开。
更新
我们向Glenn Block问起了其他协议,尤其是SOAP,的未来状况。他的答复是,WCF将完全支持现有的技术栈,当前的发展旨在将WCF演变成完全支持HTTP,而又不宣布放弃WCF目前已经取得的成果。
现在,WCF社区站点搭建完成,所有对WCF演变感兴趣的人们可以通过它了解WCF的近况。
在PDC 2010大会上,Glenn Block在WCF未来和它与微软在SOA技术中的当前投资之间的关系里给出了更多细节。