背景:

高校平台马上就要进入编程阶段了,对于没怎么做过正式项目的我们来说,要学的东西实在太多了。一下子面对这么多学习资料时,我们也不能着急,还是踏踏实实,一个一个地去了解,其实他们都没那么神秘。这篇博客主要介绍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. python第一章练习题

    本章总节 练习题 1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释 编译型:把源代码编译成机器语言的可执行文件,程序执行的时候执行可执行文件即可. 优点:程序执行不 ...

  2. 深入理解 SVG 系列(一) —— SVG 基础

    来源:https://segmentfault.com/a/1190000015652209 本系列文章分为三个部分: 第一部分是 SVG 基础. 主要讲 SVG 的一些基础知识,包括 SVG 基本元 ...

  3. (servlet页面跳转没有反应)

    问题:页面跳转到/UserManager/LoginCLServlet,就一直没有反应,无法继续执行下去(servlet页面跳转没有反应) 解决: doPost()方法里面必须写成这样 正确的写法:  ...

  4. Ball CodeForces - 12D

    传送门 N ladies attend the ball in the King's palace. Every lady can be described with three values: be ...

  5. SPOJ1026 概率DP

    Favorite Dice BuggyD loves to carry his favorite die around. Perhaps you wonder why it's his favorit ...

  6. 猴子吃桃问题 python

    猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只剩下一个桃子了.求第 ...

  7. 18式优雅你的Python

    本文来自读者梁云同学的投稿,公众号:Python与算法之美 一,优雅你的Jupyter 1,更改Jupyter Notebook初始工作路径 平凡方法: 在cmd中输入jupyter notebook ...

  8. 使用windows live writer写cnblog-1 安装wlr

    Writer:在本地编辑有声在色的博客内容,发布到你的网络博客!   离线安装文件下载地址:http://dx1.itopdog.cn/soft/wlsetup-all.rar 下了好几个离线版本的, ...

  9. CentOS 使用 LAMP 环境开启 SSL 搭建 WordPress

    环境阿里云新装CentOS 7.4, 使用yum(非编译安装)搭建LAMP, CA证书为阿里云免费提供的, WordPress为官网下载 安装 LAMP 并开启 HTTPS 1, 关闭防火墙 # sy ...

  10. 13,发布CRM

    发布CRM你将使用以下软件 nginx uWSGI CentOS7 CRM项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开发使用WSGI协议(W ...