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 ...
随机推荐
- 【lucene系列学习三】用socke把lucene做成一个web服务并实现多线程
首先,参考http://www.cnblogs.com/itlqs/p/6104672.html和http://www.cnblogs.com/itlqs/p/6079301.html 然后,Loca ...
- cmd第一次推送github
echo off for %%i in ("%cd%") do set "name=%%~ni" git init git remote add origin ...
- java:Comparable比较器
/*Comparable 是java.lang中的一个接口,所以是默认导入的,不需要显示的导入. *如果你先直接在本类中实现排序,那么可以直接实现该接口(例如:public class Compara ...
- es6英文文档翻译
ECMA-262英文文档翻译,github地址: https://github.com/zhoushengmufc/es6 ECMA-262英文文档翻译,在线地址: http://zhoushengf ...
- OC—Setter、Getter
一.本篇以Setter和Getter 来进行成员变量的赋值. 二.Setter 与 Getter 1. 命名规范 为对象中的某个实例变量赋值的方法称为修改方法,用来修改对象的状态这类修改方法称为set ...
- PS不能存储,因为程序错误
当PS中遇到不能存储文件,因为程序错误时,可以这样: http://www.zcool.com.cn/article/ZMTgwOTQw.html
- WebSocket实战
前言 互联网发展到现在,早已超越了原始的初衷,人类从来没有像现在这样依赖过他:也正是这种依赖,促进了互联网技术的飞速发展.而终端设备的创新与发展,更加速了互联网的进化: HTTP/1.1规范发布于19 ...
- 点击文字选中checkbox
<html> <head> <title>test</title> <meta http-equiv="content-Type&quo ...
- JEESZ-Zookeeper集群安装
1. 在根目录创建zookeeper文件夹(service1.service2.service3都创建) [root@localhost /]# mkdir zookeeper 通过Xshell上传文 ...
- python 基本模块
time & datetime模块 import timeimport datetime# ## # print("ss")# #time.sleep(5)# # prin ...