背景:

高校平台马上就要进入编程阶段了,对于没怎么做过正式项目的我们来说,要学的东西实在太多了。一下子面对这么多学习资料时,我们也不能着急,还是踏踏实实,一个一个地去了解,其实他们都没那么神秘。这篇博客主要介绍SOA与WCF的基础知识。

SOA

软件设计思想的发展,从面向过程,到我们所推崇的面向对象,接着到SOA面向服务的思想演变。SOA,Service-Oriented
Architecture,核心就是服务
。在面向服务的应用程序中,我们关注于业务逻辑的编写。然后就是客户端调用,而不是服务代码或者它的实现包。SOA架构比传统的三层架构多了一层Service。

在SOA中,每个服务具有明确的边界,服务都是独立的。这样也符合低耦合的思想。还有,SOA中,采用标准的契约定义和通信协议,是一个规范的体系。它的服务是自解释的。它帮助企业工程师们站在一个新的高度理解企业级架构中的各种组件开发部署,帮助企业更迅速,更可靠、更具重用性的架构整个业务系统。与之前相比,更能从容的面对业务的变化。

WCF

WCF,英文全称Windows Communication Foundation,意为Windows通讯开发平台。是一系列支持数据通信的应用程序框架,本质上来说,它是一套软件开发包。

为什么要使用WCF开发?如下图所示:

由上图可知:WCF整合了原有的一些机制,并融合了HTTP和FTP等相关技术。它实现了跨平台性,与平台无关。WCF很好的实现了SOA,SOA即面向服务的架构。

WCF主要分服务端和客户端两部分。我们需要在服务端创建服务,然后将服务通过终结点EndPoint与客户端进行通信。客户端在使用服务时,需要首先创建一个代理服务,然后调用这个代理服务。这里所说的EndPoint中,即我们接下来要说的ABC。

服务的三要素,简单概括来说,即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了。

SOA与WCF的更多相关文章

  1. SOA和WCF&WebAPI

    SOA http://www.cnblogs.com/leslies2/archive/2011/12/12/2272722.html WCF开发框架形成之旅--如何实现X509证书加密 WebAPI ...

  2. RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用

    RDIFramework.NET框架SOA解决方案(集Windows服务.WinForm形式与IIS形式发布)-分布式应用 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架 ...

  3. SOA与C#

    What is SOA? SOA or Service oriented architecture is an architecture style for building business app ...

  4. Service Oriented Architecture and WCF 【转】

    http://www.codeproject.com/Articles/515253/Service-Oriented-Architecture-and-WCF Introduction This a ...

  5. NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用

    NET框架SOA解决方案(集Windows服务.WinForm形式与IIS形式发布)-分布式应用 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.N ...

  6. 通过 WCF 实现点对点文件共享 z

    下载免费的项目源代码 下载项目的数据库 目录 简介 背景 为什么是WCF? WCF历史简述 WCF基础 点对点概念 代码分析(它是怎么工作的) 核心转化引擎层 下载管理层 服务层 代码的使用(如何运行 ...

  7. 前面部分(WCF全面解析1)

    WCF全面解析 [同力推荐] 我经历了COM时代,一直把Don BOx的<COM本质论>奉为我的指路明灯.能把SOA机理和WCF这种特定厂商实现的技术讲得如<COM本质论>一样 ...

  8. RDIFramework.NET框架SOA解(集Windows服务、WinForm形式和IIS发布形式)-分布式应用程序

    RDIFramework.NET框架SOA解决方式(集Windows服务.WinForm形式与IIS形式公布)-分布式应用 RDIFramework.NET,基于.NET的高速信息化系统开发.整合框架 ...

  9. 我大中华微软MVP中国区人才库

    刘海峰:国内知名微软开源技术网站51Aspx 创始人,十年以上的Asp.net从业经验,微软MSDN特约讲师.Teched讲师.ImagineCup大赛评委.人大出版社研修班特约讲师,曾多次受邀访问美 ...

随机推荐

  1. 旧文备份:windows下编译和使用IT++

    1.下载IT++最新版:<a href="http://sourceforge.net/projects/itpp/">http://sourceforge.net/p ...

  2. python读写dbf数据库

    dbf数据库作为一种简单的数据库,曾经广泛使用.现在在金融领域还是有很多的应用之处,工作中遇到此类的问题,在此记录一下. 1. 读取dbf ''' 读取DBF文件 ''' def readDbfFil ...

  3. Centos7下MySql5.7安装及配置

    安装MySql 软件包: mysql-community-libs-5.7.22-1.el7.x86_64.rpm mysql-community-common-5.7.22-1.el7.x86_64 ...

  4. 服务器缺少vcruntime140.dll,无法运行

    Redis用了一段时间,有的时候,调试的时候,RedisDesktop是个不错的工具 当我想在服务器上安装的时候,才发现服务器64位的环境里面运行出错了 百度上有共享dll出来的,但是基本都没法用,虽 ...

  5. css样式 body的font-size 为什么用625%

    浏览器的默认高度?一般为16px. 为什么用62.5%作为body的默认样式?16px62.5%=10px.* 那么为什么一般多是 16px  *625% = 100px; <响应式Web设计实 ...

  6. OracleWeblogic12C安装教程

    一,安装WebLogic Server 1. 双击exe安装文件 2.准备安装文件 3. 生成向导序列 4. 选择安装路径 5. 开始安装 经过以上步骤,weblogic已经成功安装到了你的电脑上,但 ...

  7. PHP开发搭建环境二:开发工具PhpStorm安装、激活以及配置

    关于php的开发工具很多,目前市面上最好用最强大的莫过于PhpStorm这款开发神器了,但是鉴于很多开发者朋友在网站上下载的PhpStorm开发工具不能用,或者使用起来很不方便,笔者把最好用的下载地址 ...

  8. java多线程批量读取文件(七)

    新公司入职一个多月了,至今没有事情可以做,十来个新同事都一样抓狂,所以大家都自己学习一些新东西,我最近在看zookeeper,感觉蛮不错的,和微服务的zuul以及eureka功能类似,只是代码复杂了一 ...

  9. C++基础 inline 默认参数 函数占位参数 函数重载

    1. inline内联函数 内联函数用于替换宏, 实例: 其中宏和 ++ 连用有副作用. #include "iostream" using namespace std; #def ...

  10. [洛谷1156]垃圾陷阱(DP)

    [Luogu1156] f[i]表示高度为i时的存活时间 Code #include <cstdio> #include <algorithm> #define N 110 u ...