了解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入门的了解准备工作的更多相关文章

  1. 学习WCF入门的第一个实例

    一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...

  2. WCF入门教程(五)配置文件

    WCF入门教程(五)配置文件 服务协定以及实现写好后,需要将相关服务公布出去,就需要HOST来承载,供客户端来调用. 承载服务有两种方式,一种通过配置文件,一种通过代码进行配置.上一章已经介绍了代码方 ...

  3. WCF入门教程(四)通过Host代码方式来承载服务

    WCF入门教程(四)通过Host代码方式来承载服务 之前已经讲过WCF对外发布服务的具体方式. WCF入门教程(一)简介 Host承载,可以是web,也可以是控制台程序等等.比WebService有更 ...

  4. WCF入门教程(三)定义服务协定--属性标签

    WCF入门教程(三)定义服务协定--属性标签 属性标签,成为定义协议的主要方式.先将最简单的标签进行简单介绍,以了解他们的功能以及使用规则. 服务协定标识,标识哪些接口是服务协定,哪些操作时服务协定的 ...

  5. WCF入门教程(二)如何创建WCF服务

    WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) ...

  6. WCF入门教程(一)简介

    WCF入门教程(一)简介 1.WCF是什么? WCF( Windows Communication Foundation), 是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NE ...

  7. [WCF编程]1.WCF入门示例

    一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...

  8. 无废话WCF入门教程六[一个简单的Demo]

    一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...

  9. WCF 入门(25,26,27,28)

    前言 项目赶时间,工期紧,熬过这段时间应该就好了吧.希望如此. 今天把自己那部分写的差不多了,回来和小伙伴一起又看了一遍<夏洛特烦恼>,还挺好看的,明天继续加班,do it. 第25-28 ...

随机推荐

  1. 蓝桥杯-平方怪圈-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  2. java实现对服务器的自动巡检邮件通知

    1.需求 之前一直是手动的巡检,然后贴图,最近服务器数量大增,有点忙不过来了.因为一直用的java,对shell脚本不是特别了解,所以这次用java写了个小项目,实现对多服务器,多任务的巡检,巡检结果 ...

  3. 详细解剖大型H5单页面应用的核心技术点

    项目 Xut.js 阐述下开发中一个比较核心的优化技术点,这是一套平台代码,并非某一个插件功能或者框架可以直接拿来使用,核心代码大概是6万行左右(不包含任何插件) .这也并非一个开源项目,不能商业使用 ...

  4. ST-3- Installing and Testing IUnit, Hamcrest and Eclemma

    一.安装JUnit和Hamcrest 1.首先从办公网上下载JUnit.jar和Hamcrest.jar,并且将其放入所进行的项目的bin目录下,我将其放入了triangle项目的bin目录下. 2. ...

  5. UIView的属性

    .alpha 设置视图的透明度.默认为1. // 完全透明 view.alpha = ; // 不透明 view.alpha = ; .clipsToBounds // 默认是NO,当设置为yes时, ...

  6. Python基本语法--语句

    # -*- coding: utf-8 -*- #条件语句 ''' if 判断条件: 执行语句…… else: 执行语句…… ''' flag = False name = 'python' if n ...

  7. SpringData系列三 Repository Bean 方法定义规范

    本节主要介绍Repository Bean中方法定义规范. 1.方法不是随便声明,需要符合一定的规范. 2.按照Spring Data的规范,查询方法以find|read|get开头,涉及条件查询时, ...

  8. 学生成绩管理C++版

    [标题]学生成绩管理的设计与实现 [开发语言]C++ [主要技术]STL [概要设计]类名:student 类成员:No.Name.Math.Eng.Chn.Cpro.Sum 成员函数:getname ...

  9. nginx+tomcat+session共享(转)

    1 起因   最近对新开发的web系统进行了压力测试,发现tomcat默认配置下压到600人的并发登录首页响应速度就有比较严重的影响,一轮出现2000多个的 500和502错误.我把登录的时间统计做了 ...

  10. 第 9 章 MySQL数据库Schema设计的性能优化

    前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只 ...