首页 > 其他分享 >1.1 WCF SOA架构和webservice

1.1 WCF SOA架构和webservice

时间:2022-10-25 09:46:04浏览次数:53  
标签:SOA Web webservice Service 应用程序 WS WCF SOAP 1.1

1.什么是SOA?

SOA全称:面向服务架构(service Oriented Architecture),它是一种组件架构模式。

一、定义

1.WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键)。微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互。WSDL来实现服务接口相关的描述。此外Web services 可以注册到UDDI中心.供其客户查找使用。     后来微软做了ASP.NET Web Service的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度产品,最高到WSE3.0.后来就是WCF时代。

2.WCF:其实一定程度上就是ASP.NET Web Service,因为它支持Web Service的行业标准和核心协议,因此ASP.NET Web Service和WSE能做的事情,它几乎都能胜任,跨平台和语言更不是问题(数据也支持XML格式化,而且提供了自己的格式化器)。  

但是WCF作为微软主推一个通讯组件或者平台,它的目标不仅仅是在支持和集成Web Service,因为它还兼容和具备了微软早期很多技术的特性。

根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。

二、WCF的优势  
1、统一性   前面已经叙述,WCF是对于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合。由于WCF完全是由托管代码编写,因此开发WCF的应用程序与开发其它的.Net应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用WCF来创建面向服务的应用程序。

2、互操作性   由于WCF最基本的通信机制是SOAP(Simple Object Access Protocol 简易对象访问协议),这就保证了系统之间的互操作性,即使是运行不同的上下文中。这种通信可以是基于.Net到.Net间的通信,如下图所示:   可以跨进程、跨机器甚至于跨平台的通信,只要支持标准的Web Service,例如J2EE应用服务器(如WebSphere,WebLogic)。应用程序可以运行在Windows操作系统下,也可以运行在其他的操作系统,如Sun Solaris,HP Unix,Linux等等。如下图所示:  

3、安全与可信赖   WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用于用户认证,数据完整性验证,数据隐私等多种安全因素。   在SOAP 的header中增加了WS-ReliableMessaging允许可信赖的端对端通信。而建立在WS-Coordination和WS- AtomicTransaction之上的基于SOAP格式交换的信息,则支持两阶段的事务提交(two-phase commit transactions)。

上述的多种WS-Policy在WCF中都给与了支持。对于Messaging而言,SOAP是Web Service的基本协议,它包含了消息头(header)和消息体(body)。在消息头中,定义了WS-Addressing用于定位SOAP消息的地址信息,同时还包含了MTOM(消息传输优化机制,Message Transmission Optimization Mechanism)。

4、兼容性   WCF充分的考虑到了与旧有系统的兼容性。安装WCF并不会影响原有的技术如ASMX和.Net Remoting。即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。 

三、更本区别

WCF 支持多种通信协议 Http/Https 、TCP/UDP、MSMQ、命名管道、对等网、消息可达性、事务流等。

WCF 可以与ASP.NET 集成、共享一个上下文(HttpContext)。

WCF 支持多种消息传输格式 :text,binary,mtom,Json 等。

WCF 安全性要强:支持对称安全、非对称安全、消息安全、传输安全、SSL 流安全、Windows 流安全等。

WCF 支持多种会话模式:单向、双向、请求/响应。

WCF 支持REST 。

WCF 支持多种格式化方式。DataContractSerializer、XmlSerializer、 DataContractJsonSerializer 等。

WCF 支持 WAS hosting、Windows 服务 hosting、Self-Hosting、IIS hosting 等。

WCF 支持多种并发模式:单例、单调、会话 。

四 优缺点

webservcie

1 基于SOAP协议的,数据格式为XML
2 只支持HTTP协议
3 不是开源的,但可以被任意一个了解XML的人使用
4 只能部署在IIS上

标签:SOA,Web,webservice,Service,应用程序,WS,WCF,SOAP,1.1
From: https://www.cnblogs.com/jiangge23/p/16823852.html

相关文章

  • 复变函数复习笔记1.1复数
    复变函数复习笔记bywysng第一章复数复数的来源:\[i^2=-1,i=\sqrt{-1}\]定义:称有序实数对\((x,y)\)......
  • 1.1 Redis之简介
    1.简介Redis是一款开源免费的、基于内存的、高性能的、key-value型数据库。2.特点性能:Redis读的速度是110000次/s,写的速度是81000次/s数据持久化:可以将内存中的数据持久......
  • Windows10安装Apache2.4.54并配置PHP5.6.40/PHP8.1.11
    环境Windows10Apache2.4.54PHP5.6.40/PHP8.1.11安装Apache下载Apache下载地址:https://www.apachehaus.com/cgi-bin/download.plx#MODULES24VS17下载完后解压到指......
  • 为什么 web 开发人员需要迁移到. NET Core, 并使用 ASP.NET Core MVC 构建 web 和 web
    ​​2018.NET开发者调查报告:.NETCore是怎么样的状态​​,这里我们看到了还有非常多的.net开发人员还在观望,本文给大家一个建议。这仅代表我的个人意见,我有充分的理由......
  • 有奖测评 | 今天种下{1},明天就会收获一片{11.11}——程序员日暨11.11狂欢季来啦
    程序员作为一群专业的护林员,他们以代码为工具,协同行动,兢兢业业地维护着整个森林生态的平衡...关爱程序员,从我做起。京东云11.11云上狂欢季,为所有程序员送福利,解锁N种优惠玩......
  • 有奖测评 | 今天种下{1},明天就会收获一片{11.11}——程序员日暨11.11狂欢季来啦
    程序员作为一群专业的护林员,他们以代码为工具,协同行动,兢兢业业地维护着整个森林生态的平衡...关爱程序员,从我做起。京东云11.11云上狂欢季,为所有程序员送福利,解锁N种优惠......
  • day1.1
    Markdown二级三级标题字体粗体斜体粗斜删除引用我要活分割线图片![图片](pic.cnblogs.com/avatar/2774129/20220902225016.png)超链接[点击跳转百度](www......
  • 周志华机器学习第一章绪论习题1.1
    问题:1.1    表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间编号色泽根蒂敲声好瓜1青绿蜷缩浊响是4乌黑稍蜷沉闷否假设空间:问题所有可能出现的情况组成的空间......
  • 一张图来帮你理解 SOA
    SOA曾经一度是技术领域中最难以理解的一个概念。SOA似乎让很多人感到困惑-一般来讲这是由于人们认为它拥有几乎神奇的力量。事实上SOA只是一个很......
  • RPC 和 SOAP 有什么区别?
    RPCvsSOAP无论在商业、政治、人际关系,甚至在拯救生命的过程中,通信在任何领域都是至关重要的。通信被证明最重要的另一个领域是计算机网络。如果没有合适的通信手段,一个典......