微软发布了一个名为“真实世界里的面向服务架构(SOA)”的电子书。这本书表达了微软对面向服务架构的观点,并包括了数个展现如何用微软产品和技术实现SOA的真实案例。书中解释到,SOA的功能型架构自己是松散的,即每一个服务自己能够做为企业的IT资产存在、也能够做为生产流程中的处理环节存在,但整体上他们提供了一个完整的视图,并且与独立应用不一样,这个视图的内容不是分层的、而是平的,借助这个视图能够提供以下可重用能力:spring
全部这些能力用微软的产品描述就是下图:windows
与强调SCA、SDO等公共标准的Java平台不一样,微软平台相应的封装也不是经过商用服务器平台完成,而是更多地借助WCF实现;其中最为重要的ESB角色重则由BizTalk担当,轻则由用户经过扩展WCF + WF完成;至于服务的治理,相对更为统一,与Windows平台其余产品无异,向下借助统一的WMI体系,配合MOM和System Center对SOA的基础平台部分进行治理,向上借助WS_Management协议对服务进行集中管理。服务器
实施SOA集成在所不免,各企业集成的方式大概主要有3种:架构
微软还赞助了一个针对北美500家拥有1000名员工,或超过这个数字的企业的综合应用平台的研究。其目的旨在肯定哪一种软件平台被用于构建关键任务的应用,以及什么是首选供应商的关键组件平台等。框架
5、开源的.NET ESB项目介绍分布式
ESB.NET企业级服务总线:ESB.NET是开源的企业级服务总线,采用的协议是MS-PL。ESB.NET主要包含了MSMQ消息队列机智,SOAP消息收发,ROUTER服务路由,WCF,WSE消息扩展(消息加解密,压缩),还有WF工做流。ui
开源的通讯框架NServiceBus :NServiceBus 操作系统
NServiceBus 是一个用于构建企业级 .NET系统的开源通信框架。它在消息发布/订阅支持、工做流集成和高度可扩展性等方面表现优异,所以是不少分布式系统基础平台的理想选择。,它可以帮助开发人员在搭建企业.NET系统时避免不少典型的常见问题。同时,该框架也提供了一些可伸缩的关键特征,好比对发布/订阅的支持、集成的长时间工做流及深刻的扩展能力等。据做者说,其本意是为构建分布式应用软件建立一个理想的基础设施。设计
NServiceBus的核心并不依赖于MSMQ。NServiceBus可扩展性容许咱们插入自行编写的通讯传送器,、订阅存储器和工做流的实现。我已经基于MSMQ实现了一个传送器,还有一个则借助了WCF的NetTCP。开发人员既可使用这些现有组件,也能够根据须要进行自定义。咱们知道当前的许多SOA产品都与HTTP紧密耦合,所以NServiceBus的这种实现方式也将是个另辟蹊径的设计。
之因此选择使用MSMQ,是由于它是微软公司的两大主流的通信技术之一(另外一个是SQL Server Service Broker)。MSMQ容许双方在离线的状态下进行通讯,且它提供了一整套易于使用的API,并已经集成到了.NET框架中,这一点要比Service Broker好得多。我我的认为支持离线通讯是任何SOA基础框架都必须考虑的关键部分——由于Tenet of Service Autonomy 并不能保证当前通讯的另外一端处于可用状态。3d
NServiceBus是dotnet世界里面最流行的开源企业服务总线. 它具备如下特色: 1.强大,轻量级. 2.可插拨,简单易用. 3.支持企业级开发.
NServiceBus官网:http://www.nservicebus.com 能够在那里下载到最近版本的代码.
解压缩后以下图所示
先运行RunMeFirst.bat 而后再运行build.bat(由于个人是vs2008)结果以下图:
会多出binaries和build两个文件夹
然后须要安装windows message queue
Mass Transit -- .Net Service Bus:Mass Transit是一个.NET平台上的用于构建松耦合应用程序的服务总线框架,这个服务总线支持YAGNI原则(YAGNI原则,就是经过重构提取公因式当出现一次时,不分层,之后业务复杂了,立刻抽象出一个层次来,分层是依赖倒置原则和模版方法模式的应用。)。经过一套严密的关注点,Mass Transit和应用程序之间的接触最小化和清晰的接口