SOA IN Real World

微软发布了一个名为“真实世界里的面向服务架构(SOA)”的电子书。这本书表达了微软对面向服务架构的观点,并包括了数个展现如何用微软产品和技术实现SOA的真实案例。书中解释到,SOA的功能型架构自己是松散的,即每一个服务自己能够做为企业的IT资产存在、也能够做为生产流程中的处理环节存在,但整体上他们提供了一个完整的视图,并且与独立应用不一样,这个视图的内容不是分层的、而是平的,借助这个视图能够提供以下可重用能力:spring

  • 消息机制服务
  • 工做处理流程服务
  • 数据服务
  • 用户体验服务
  • 主体身份的识别、认证、受权服务
  • 还有通盘的管理能力

全部这些能力用微软的产品描述就是下图:windows

ms-products

与强调SCA、SDO等公共标准的Java平台不一样,微软平台相应的封装也不是经过商用服务器平台完成,而是更多地借助WCF实现;其中最为重要的ESB角色重则由BizTalk担当,轻则由用户经过扩展WCF + WF完成;至于服务的治理,相对更为统一,与Windows平台其余产品无异,向下借助统一的WMI体系,配合MOM和System Center对SOA的基础平台部分进行治理,向上借助WS_Management协议对服务进行集中管理。服务器

实施SOA集成在所不免,各企业集成的方式大概主要有3种:架构

  • 购买某厂商的SOA套件,这样不管是组成上的兼容性仍是技术支持都有保证,代价就是花费不菲;
  • 集成多种开源的服务器产品和开发框架,显性成本上很划算,但技术实施的成败的风险比较大;
  • 更多依赖操做系统自带的产品,根据IT范围的大小,选择少许的商业产品或开源服务器产品,兼容性风险比所有开源产品要小,成本上也比全盘采购商业套件廉价。《SOA in the Real World》里更多倡导的就是这第三条道路。

微软还赞助了一个针对北美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  能够在那里下载到最近版本的代码.

解压缩后以下图所示

image

先运行RunMeFirst.bat 而后再运行build.bat(由于个人是vs2008)结果以下图:

image

会多出binaries和build两个文件夹

然后须要安装windows message queue

 

Mass Transit -- .Net Service Bus:Mass Transit是一个.NET平台上的用于构建松耦合应用程序的服务总线框架,这个服务总线支持YAGNI原则(YAGNI原则,就是经过重构提取公因式当出现一次时,不分层,之后业务复杂了,立刻抽象出一个层次来,分层是依赖倒置原则和模版方法模式的应用。)。经过一套严密的关注点,Mass Transit和应用程序之间的接触最小化和清晰的接口

相关文章
相关标签/搜索