WCF入门的了解准备工作
了解WCF, 及WCF入门需要掌握哪里基本概念?
1.准备工作
>1.1 . XML
>1.2 . Web Service
>1.3 . 远程处理 (RPC)
>1.4. 消息队列(MSMQ)
>1.5. 面向服务的体系结构(SOA)
——————————————————————————————————————————————————————————————
1.1 XML
因为以及有太多的先人指点, 关于XML的文章也是无数, 需要掌握XML的基本的一些概念: 可以访问 http://www.w3school.com.cn/
这里就简单的说明一下关于XML的一些基础的概念。
【XML(Extensible Markup Language,可扩展的标记语言)】
是一套用文本来定义语义标记的元标记语言,具有与平台无关、可灵活的定义数据和结构信息、便于网络传递等优势。
XML特点 XML是文本编码,因此不受所选用的操作系统、对象模型和编程语言的影响,可在任何网络中正常传输。
XML中的所有标记都是自定义的,通过这些自定义的标记,可描述某种数据的不同部
分及其嵌套的层次结构。XML规定所有标记都必须有开始和结束标志。
引用W3C的一个简单的示例, 可以简单的了解XML的基础结构(如下图)
1.2 Web Service
Web Service也叫Web服务,根据数据交换格式的不同,Web Service又进一步分为XML Web Service和JSON Web Service等。
XML Web Service是一种以XML作为数据交换格式。
以JSON作为数据交换格式的Web服务称为JSON Web Service。
在Web Service的服务体系结构, 是由3个组成部分, 分别是:
1. 服务提供者
2. 服务请求者
3. 服务注册中心
利用发布、发现、绑定的三个基本操作组成。
客户端与Web服务如何通信
1.客户端调用的web服务, 主要的过程:
(1) 客户端创建web服务的代理类的实例。
(2)通过调用代理类的具体的实现方法。
(3)客户端程序将服务所需要的参数序列化为SOAP消息, 然后通过网络发送到web服务器中。
(4)web服务器接受到SOAP消息 , 此时, 将消息反序列为XML格式, 同时创建web服务的实例, 调用Web服务提供的具体方法,
将反序列化的XML作为参数传递到方法中。
(5)执行web服务提供的具体方法, 得到相应的返回值和一些消息参数。
(6)web服务器将返回值和一些消息参数序列化为SOAP消息, 然后通过网络返回到客户端的程序中。
(7)客户端接受到web服务器返回的SOAP消息, 将XML 反序列为返回值和消息参数, 传输到代理类的实例里。
(8)客户端应用接受到返回值和消息参数。
2.客户端程序与Web服务通信过程
下面的图 让大家秒懂 "挖布涩维斯" 与 客户机应用程序 的通信过程 。
1.3 远程处理RPC
RPC(Remote Procedure Call) —— 远程过程调用。
远程处理技术是为了解决不同计算机上的进程相互访问的一种具体实现。.NET远程处理模型生成一个应用程序,
并让其中两个组件直接跨应用程序域边界进行通信。此时需要生成以下内容:
> 一个可远程处理的对象。
>一个宿主应用程序域,用于侦听针对该对象的请求。
> 一个客户端应用程序域,用于发出针对该对象的请求。
神奇的的跳转链接 : 关于RPC的更详细的说明 ,http://www.cnblogs.com/fqfanqi/p/6140877.html
1.4 消息队列(MSMQ)
MQ(Message Queue)是在多个不同的应用程序之间实现相互通信的一种基于队列和事务处理的异步传输模式。
其实现原理是:
消息发送者把要发送的信息放入一个容器中(称为Message),
然后把它保存至一个系统公用的消息队列(Message Queue)中;
本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。
MSMQ是微软实现的MQ。
引文 : http://www.cnblogs.com/Leo_wl/p/4021039.html
1.5 面向服务的体系结构(SOA)
SOA(Service-Oriented Architecture,面向服务的体系结构)。
其基本思想就是希望用一种统一的、以"服务"为中心的模型来整合各种不同的技术,而不是仅仅限于Web服务。
对于.NET开发人员来说,这个基于SOA的具体实现就是WCF, 而关于整篇所讲的内容, 都是对于我们了解及使用
WCF有铺垫性的作用。
WCF入门的了解准备工作的更多相关文章
- 学习WCF入门的第一个实例
一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...
- WCF入门教程(五)配置文件
WCF入门教程(五)配置文件 服务协定以及实现写好后,需要将相关服务公布出去,就需要HOST来承载,供客户端来调用. 承载服务有两种方式,一种通过配置文件,一种通过代码进行配置.上一章已经介绍了代码方 ...
- WCF入门教程(四)通过Host代码方式来承载服务
WCF入门教程(四)通过Host代码方式来承载服务 之前已经讲过WCF对外发布服务的具体方式. WCF入门教程(一)简介 Host承载,可以是web,也可以是控制台程序等等.比WebService有更 ...
- WCF入门教程(三)定义服务协定--属性标签
WCF入门教程(三)定义服务协定--属性标签 属性标签,成为定义协议的主要方式.先将最简单的标签进行简单介绍,以了解他们的功能以及使用规则. 服务协定标识,标识哪些接口是服务协定,哪些操作时服务协定的 ...
- WCF入门教程(二)如何创建WCF服务
WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) ...
- WCF入门教程(一)简介
WCF入门教程(一)简介 1.WCF是什么? WCF( Windows Communication Foundation), 是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NE ...
- [WCF编程]1.WCF入门示例
一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...
- 无废话WCF入门教程六[一个简单的Demo]
一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...
- WCF 入门(25,26,27,28)
前言 项目赶时间,工期紧,熬过这段时间应该就好了吧.希望如此. 今天把自己那部分写的差不多了,回来和小伙伴一起又看了一遍<夏洛特烦恼>,还挺好看的,明天继续加班,do it. 第25-28 ...
随机推荐
- vector实现最大流EK算法
序: 在之前的文章中实现了不利用STL实现EK算法,效率也较高.这次我们企图简化代码,减少变量的使用与手写模拟的代码. 注意:vector等STL的container在不开O2优化的时候实现同一个效果 ...
- java泛型探索——介绍篇
1. 泛型出现前后代码对比 先来看看泛型出现前,代码是这么写的: List words = new ArrayList(); words.add("Hello "); words. ...
- 实现javascript下的模块组织
前面的话 java有类文件.Python有import关键词.Ruby有require关键词.C#有using关键词.PHP有include和require.CSS有@import关键词,但是对ES5 ...
- 2017最新最稳定的彩票源码PHP+mysql 新增彩种+全新界面
网站后台管理系统:新闻资讯系统 用户管理系统用户登录日志彩种规则说明玩法时间设置彩票期号管理足球对阵管理彩票方案撤单彩票出票管理开奖号码管理彩票方案查询彩票中奖查询 彩票追号查询服务支持中心财务中心管 ...
- [刷题]算法竞赛入门经典(第2版) 4-8/UVa12108 - Extraordinarily Tired Students
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,0 ms) //UVa12108 - Extraordinarily Tired Stude ...
- 随笔-关于公网IP无法访问服务器的解决办法
笔者的环境: windows server 2008 r2 .IIS,php,MySql. 理论上来讲,服务器,其实就是一个大型计算机,我们通过访问服务器的某个端口请求某个资源. 正常情况下,如果没有 ...
- 主机设置ss代理,虚拟机共享代理
代理的原理: 关于代理的具体的书面定义你百度谷歌可以知道.这里,我想简单通过一个例子,说明代理的原理: 假如,你在北京,但你女朋友在广州,你有东西要给你的女朋友,但是正好你这几天公司有事,所以你不能去 ...
- Java项目和maven项目中如何获取&设置配置文件中的属性
通常情况下,我们会在一些配置文件文件中配置一些属性.如: indexPath = E\:\\Tomcat_7.0\\webapps\\ipost_stage\\lucene\\index imgUpl ...
- git使用简易指南
安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库. 检出仓库 执行如 ...
- Redis基本数据结构总结之STRING和LIST
Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...