《WCF教程4》.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《WCF教程4》.doc

[原创]我的WCF之旅(4):WCF中的序列化(Serialization)- Part I SOA 和Message Windows Communication Foundation (WCF) 是基于面向服务架构(Service Orientation Architecture——SOA)的一种理想的分布式技术(Distributed Technology), 相信在今后在建立基于SOA企业级别的解决方案和进行系统集成方面将会大有作为。一个基于SOA结构的互联系统(Connected System)通常由若干相互独立的子系统(Sub-System)组成,这些子系统可能一个独立的Application,也可能是由若干Application相互集成共同完成一组相关的任务的小系统。这些子系统以一种有效的方式组合、集成为我们听过一种具有综合功能的解决方案。 在一个基于SOA的分布式系统中,各个子系统相互独立又相互关联。说它们的相互独立是因为他们各个都是一个个自治的系统(Autonomous System),可以实行各自的版本策略和部署策略,而这种版本的部署上的变动通常不应该引起系统中其他部分的变动。说它们又彼此关联,则是因为一个子系统所需要的功能往往由其他某个子系统来实现,我们把实现功能的一方称为Service 的提供者(Provider),把使用Service的一方称为客户(Client)。Client依赖于Service的调用,而不失依赖于Service的实现,只要Service的调用方式没有发生改变,Service的实现变动对于Service的使用者来说是完全透明的。在WCF中,我们把Service的调用相关的提取出来即为我们经常说的Contract,Service的提供者和Client之间共享的是Service Contract——而不传统OO概念下的Type。把相对稳定的Service Contract和经常变动的Service Implementation相互分布早就了我们互联系统的松耦合性(Loosely Couple)。 前面我们简单介绍了SOA系统的基本特征——子系统之间的松耦合性(Loosely Couple);各个子系统的自治性(Autonomous);共享Contract。此外SOA还有其他的一些特征,最重要的一个特征就它是一个基于Message(Message-Based)的系统。子系统之间的相互交互由Message来实现。Client向Service的提供者发送一个Soap Message来访为他所需要的Service,Service的提供者监听到来自Client的请求,创建相应的Service对象,执行相关的操作,把执行的结果(Result)以Message 的形式发回给对应的Client。所以我们可以说子系统之间的相互交互本质上是一种消息的交互过程(Message Exchange)。不同的交互方式对应不同的Message Exchange Pattern——MEP。 理解了SO的基本原理,我们来看看WCF,从WCF的全称来分析——Windows Communication Foundation,顾名思义,他就是解决分布式互联系统中各相互独立的子系统如何交互的问题,换句话说,它实际上就是提供 一个基础构架(Infrastructure)实现Application的通信问题。我们前边已经提到,各个子系统之间是通过XML Message进行交互的,所以我们可以 把WCF看成是一个完全处理XML Message的构架,WCF的所有的功能都是围绕着Message来展开的——如何把一个Service的调用转或称一个Message Exchange(Service Contract);如何实现一般的.NET对象和能够容纳于XML Message中的XML Infoset之间的转化(Serialization和Deserialization);如何实现承载数据的XML Infoset和能够用于网络传递的字节流(Byte Stream)之间的相互转化(Encoding和Deconding);如何保证置于Message中数据的一致性和防止被恶意用户窃取以及验证调用Service和通过Service的合法性(Security:Confidentiality,Integrity,Authentication——CIA);如何保证Message被可靠地被传达到所需的地方(Reliable Messaging);以及如何把若干次Service调用——本质上是若干次Message Exchange纳入到一个单独的Conversation(Session Support 和Transaction Support…… 在分布式

文档评论(0)

wgvi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档