高校平台立刻就要进入编程阶段了,对于没怎么作过正式项目的咱们来讲,要学的东西实在太多了。一会儿面对这么多学习资料时,咱们也不能着急,仍是踏踏实实,一个一个地去了解,其实他们都没那么神秘。这篇博客主要介绍SOA与WCF的基础知识。程序员
软件设计思想的发展,从面向过程,到咱们所推崇的面向对象,接着到SOA面向服务的思想演变。SOA,Service-Oriented Architecture,核心就是服务。在面向服务的应用程序中,咱们关注于业务逻辑的编写。而后就是客户端调用,而不是服务代码或者它的实现包。SOA架构比传统的三层架构多了一层Service。编程
在SOA中,每一个服务具备明确的边界,服务都是独立的。这样也符合低耦合的思想。还有,SOA中,采用标准的契约定义和通讯协议,是一个规范的体系。它的服务是自解释的。它帮助企业工程师们站在一个新的高度理解企业级架构中的各类组件开发部署,帮助企业更迅速,更可靠、更具重用性的架构整个业务系统。与以前相比,更能从容的面对业务的变化。架构
WCF,英文全称Windows Communication Foundation,意为Windows通信开发平台。是一系列支持数据通讯的应用程序框架,本质上来讲,它是一套软件开发包。框架
为何要使用WCF开发?以下图所示:学习
由上图可知:WCF整合了原有的一些机制,并融合了HTTP和FTP等相关技术。它实现了跨平台性,与平台无关。WCF很好的实现了SOA,SOA即面向服务的架构。spa
WCF主要分服务端和客户端两部分。咱们须要在服务端建立服务,而后将服务经过终结点EndPoint与客户端进行通讯。客户端在使用服务时,须要首先建立一个代理服务,而后调用这个代理服务。这里所说的EndPoint中,即咱们接下来要说的ABC。
.net
服务的三要素,简单归纳来讲,即ABC。设计
1)A——Address(地址)代理
Where?在哪里对象
地址,是一个路径。每一个服务都关联到一个惟一的地址。它包括两部份内容:服务位置和传输协议。
地址例子:
http://localhost:80
http://localhost:80/HelloService
2)B——Binding(绑定)
How?如何实现
绑定,是制定好的通道栈,它是负责具体实现。
咱们须要了解如何进行绑定的基本设置。
3)C——Contracts(契约)
What?作什么
契约,也叫协定。它描述了服务的特征和功能。
四种契约
Service Contract :主要是客户端所能执行的操做。
Data Contract :与服务交互的数据类型。
Message Contract :容许程序员直接操纵服务消息的内容和格式。
Fault Contract
相关博客:
《初识MVC框架》 《Linq与扩展方法》 《Axure+SVN》
SOA,是面向服务架构,但对于其具体的定义,仍是存在很大的争议。但须要指出的是,WCF是一种SOA解决方式。所以,WCF主要功能和工做原理等都是围绕着“服务”而展开。
总的来讲,不管是SOA仍是WCF,看着是新的东西,可是从它们的目的或功能来看,并不新,都是为了提升可靠性、可重用性,更好的解耦。在这一点上,和以前的东西有不少的共鸣。了解了这些,剩下的就是怎样好好使用WCF了。