WCF(Windows Communication Foundation)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows通信开发平台
WCF整合了原有的Windows通信的.net Remoting ,WebService,Socket机制,并融合有HTTP和FTP的相关技术。WCF是对这些技术的统一。
WCF的优点
统一性
互操作性
安全与可依赖
兼容性
理解面向服务
SOA(Service Oriented Atchitecture)面向服务架构 。是指为了解决在Internel环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个组件模型,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来
SOA指出当前系统应该足够灵活,从而允许在不打乱当前成功运行的体系结构和基础结构前提下,改动已有的体系结构。
SOA有如下原则
边界清晰
服务自治
兼容性基于策略
共享模式(schema)和契约
WCF框架组成
1.协定(契约)
契约来定义双方沟通的协议,契约必须以接口的方式来体现,而实际的服务代码必须要由这些契约接口派生并实现,
契约可分为以下4种:
1.数据契约(Data Contract):指定双方沟通时的数据格式
2.服务契约(Service Contract):指定服务的定义
3.操作契约(Opration Contract):指定服务提供的方法
4.消息契约(MessageContract):指定在通信期间改写信息内容的规范
契约定义消息系统的各个方面
(1).数据契约:服务中的参数
(2).消息契约:使用SOAP协议特定的消息部分
(3).服务契约:服务中的方法
(4).策略与绑定:策略设置安全或其它条件,绑定指定传输方式与编码。
2.服务运行
服务运行期间的行为控制
(1).限制行为:控制处理的消息数
(2).错误行为:出现内部错误时所处理的操作
(3).元数据行为:是否向外提供元数据及元数据的提供方式
(4).实例行为:可运行的服务实例数目
(5).事务行为:处理事务
(6).调度行为:控制WCF处理消息的方式
3.消息传递
消息传递层说明数据的交换格式和传输模式。消息传递层由通道(信道)组成,通道是对消息进行处理的组件,负责以一致的方式对消息进行整理和传送。通道用于传输层,协议层及消息获取。各层次的通道组成了信道栈
通道对消息和消息头进行操作,服务运行时对消息正文进行操作。通道包括两种类型:传输通道与协议通道。
传输通道:读取和写入来自网络的消息,传输通道通过编码器将消息转换为网络传输使用的字节流以及将字节流转换为消息。传输通道包括HTTP通道,命名管道,TCP,MSMQ等
协议通道:通过读取或写入消息头的方式来实现消息协议。比如 WS-Security。WS-Reliability
4.宿主与激活
服务宿主负责WCF服务的生命周期和上下文的操作系统进程,负责启动和停止WCF服务,并提供控制服务的基本管理功能。
WCF的基础概念
1.地址
2.绑定(Binding)
3.契约(Contract)
4.终结点
用来发送或接收消息(或执行这两种操作)的构造,终结点包含一个定义消息可以发送在的目的地位置节点,包含一个定义消息可以发送到的目的地位置(地址),一个描述消息应如何发送的通信机制规范(绑定)以及对于可以在该位置发送或接收(或两者皆可)的一组消息的定义(服务协定)---该定义还描述了可以发送何种消息
终结点的地址由EndpointAddress类表示,该类包含一个表示服务地址额统一资源定位符(URI),大多数传输的地址URI包含4部分。
方案:https
计算机:home.cnblogs.com
端口(可选):
路径:u/147658
5.元数据
6.宿主(Host)
微信关注我们
原文链接:https://yq.aliyun.com/articles/615111
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
相关文章
发表评论
资源下载
更多资源优质分享Android(本站安卓app)
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
Mario,低调大师唯一一个Java游戏作品
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
Eclipse(集成开发环境)
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
Sublime Text 一个代码编辑器
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。