SOA与WCF
背景:
高校平台马上就要进入编程阶段了,对于没怎么做过正式项目的我们来说,要学的东西实在太多了。一下子面对这么多学习资料时,我们也不能着急,还是踏踏实实,一个一个地去了解,其实他们都没那么神秘。这篇博客主要介绍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的更多相关文章
- SOA和WCF&WebAPI
		
SOA http://www.cnblogs.com/leslies2/archive/2011/12/12/2272722.html WCF开发框架形成之旅--如何实现X509证书加密 WebAPI ...
 - RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用
		
RDIFramework.NET框架SOA解决方案(集Windows服务.WinForm形式与IIS形式发布)-分布式应用 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架 ...
 - SOA与C#
		
What is SOA? SOA or Service oriented architecture is an architecture style for building business app ...
 - Service Oriented Architecture and WCF 【转】
		
http://www.codeproject.com/Articles/515253/Service-Oriented-Architecture-and-WCF Introduction This a ...
 - NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用
		
NET框架SOA解决方案(集Windows服务.WinForm形式与IIS形式发布)-分布式应用 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.N ...
 - 通过 WCF 实现点对点文件共享  z
		
下载免费的项目源代码 下载项目的数据库 目录 简介 背景 为什么是WCF? WCF历史简述 WCF基础 点对点概念 代码分析(它是怎么工作的) 核心转化引擎层 下载管理层 服务层 代码的使用(如何运行 ...
 - 前面部分(WCF全面解析1)
		
WCF全面解析 [同力推荐] 我经历了COM时代,一直把Don BOx的<COM本质论>奉为我的指路明灯.能把SOA机理和WCF这种特定厂商实现的技术讲得如<COM本质论>一样 ...
 - RDIFramework.NET框架SOA解(集Windows服务、WinForm形式和IIS发布形式)-分布式应用程序
		
RDIFramework.NET框架SOA解决方式(集Windows服务.WinForm形式与IIS形式公布)-分布式应用 RDIFramework.NET,基于.NET的高速信息化系统开发.整合框架 ...
 - 我大中华微软MVP中国区人才库
		
刘海峰:国内知名微软开源技术网站51Aspx 创始人,十年以上的Asp.net从业经验,微软MSDN特约讲师.Teched讲师.ImagineCup大赛评委.人大出版社研修班特约讲师,曾多次受邀访问美 ...
 
随机推荐
- powerdesigner15 反向工程
 - C#继承简介与规则
			
一.C#继承简介 1. 类的层次结构 下面是一个类的层次结构图: 上图反映了鱼类的派生关系,其中最高层的实体往往具有最一般最普遍的特征,越下层的实体就越具体,并且下层包含了上层的特征.如果将上层的实体 ...
 - Data Warehouse 业务系统不入仓表
			
根据数据仓库的实施经验,凡符合如下特征的表,建议不入仓. ① 备份数据表 此类表是对现有表中某个时点数据的一份拷贝,根据需要进行数据恢复使用.因此,只需取当前表中的数据即可. ② 冗余数据表 同一类数 ...
 - php红包算法函数[优化]
			
php红包算法 <?php header("Content-Type: text/html;charset=utf-8");//输出不乱码,你懂的 $total=10000; ...
 - Sublime Text3的快捷键和插件
			
今天重装了一下Sublime Text3,发现了一个不错的网站,关于Sublime Text3的插件安装介绍的很详细,还有右键增强菜单和浏览器打开快捷键的创建.奉上链接 http://www.cnbl ...
 - SVN中Commit出现乱码的解决方案【转载】
			
http://blog.csdn.net/thinkingcao/article/details/52797737 这几天在电脑上装了一个SVN,把Eclipse里面的工程全部Delete掉了,然后在 ...
 - stark组件(4):列表定义列,展示数据库数据
			
效果图: 一.Stark组件 stark/service/core_func.py from django.urls import re_path from django.shortcuts impo ...
 - 文件/etc/passwd,/etc/shadow,/etc/group
			
文件/etc/passwd /etc/shadow /etc/group 计算资源的使用(并不是所有的人都可以用这台计算机的) 权限:访问资源的的能力. 用户:获取资源或者权限的凭证. 用户的容器:关 ...
 - gcc常用语法
			
1. gcc -E source_file.c-E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_file.c -S,只执行到源代码到汇编代码的转换,输出汇编代码. 3. g ...
 - U2
			
android的XML文件(包括layout下的和values下的)注释一般采用 <!--注释内容 -->的方式进行,也就是说,采用//是行不通的,不信你可以试试看. 在XML中, ...