技术开发 频道

连接开发世界的桥梁——WCF

  【IT168 技术文档】

点对点通信的支持

     虽然现今企业应用中普遍采用的是“客户——服务器”方式的集中式计算体系,但是随着Web 2.0相关应用的推出,P2P类型的应用也将会且正在逐步提上开发日程,例如企业内部的及时消息系统、视频会议和视频培训服务等。WCFWindows平台(Windows XP Sp2 +)这类应用的开发提供了一个较为完整的支持。WCF中有一个可以配置加载的Peer Channel,通过Windows平台的点对点网络平台WCF提供了可以创建、发送、接受点间交互的一整套API。作为一个多层逻辑抽象的系统,WCF仅需要消息协议绑定和消息地址部分稍作特殊定义,而对于更上层的Contract的业务逻辑部分而言没有影响,也就是说WCF将应用逻辑和应用交互模式隔离开。配置上,消息地址需要选择netP2P类型的消息格式定义,并选择它与具体的通信协议的绑定对象为NetPeerTcpBinding.。此外,由于P2P应用从架构模式看属于一个跨进程的“出版——预订”模式,因此为了确保交互源点与目标点之间的交互,还需要为他们在最上层Contract部分定义回调(callback)的内容。

       同样对于敏感的点对点应用情形一样需要实施安全保护,WCF可以通过配置为Peer Channel提供一个加密密钥(考虑到点对点特性,因此通常考虑对称密钥),用于加密传输过程加密,甚至用于访问对于点对点实体命名进行解析的服务。

服务环境的运行管理:

       在提供完整开发支持之外WCF还提供了一整套服务环境的管理工具,毕竟面向服务的开发与以往桌面应用、同构环境下“客户——服务器”模式应用的开发环境相比更为复杂,尤其在跨信任域之后相关的网络、证书体系、服务安全控制等限制无处不需要大量的配置。可以这么说:虽然WCFAPI系统提供了开发层面的各种支持,但是在生产环境的部署上WCF的工具支持更决定了其是否可以被广大企业用户接纳(包括接纳的程度)。WCF里面也包括各种WMI对象集合,借助这个工具可以使用MOM或其他自定义脚本完成应用运行监控的自动化,毕竟从应用生命期角度看,普遍情况下在WCF大量开发库的支持下整个开发过程也就占其一小部分,更多的时间还是运行维护阶段,因此WMI的加入确保即便在.Net 3.0平台上企业的信息系统管理人员一样可以通过他们所熟悉的脚本语言(VBScriptJscript等)完成运行系统的管理工作,所需的仅仅就是“按需”找到对应的WMI Classes

图:WCF的运行管理部署模式

总结:

       宏观上而言Windows Communication Foundation是一个更为大规模的面向服务“软件工厂”实体,虽然他的Contact部分不像一般工厂模式(Factory Pattern)或抽象工厂模式(Abstarct Factory Pattern)那么明显,但是从开发上他更多的鼓励采用基于配置和属性完成,而这个配置的元信息(Schema)也正是这个工厂所有Contact的抽象。在这个工厂下Windows平台的开发人员可以快速完成各类面向服务的应用,包括控制台应用、B2B应用、移动和智能设备客户端应用、P2P应用、Web 1.0 / 2.0应用,而且建设的应用在完成业务逻辑部分后可以通过配置快速的适应不同部署环境。从这个意义看WCF将在未来几年成为分布式面向服务应用一个备受欢迎的开发、部署和运行维护平台。

0
相关文章