还剩2页未读,继续阅读
文本内容:
面向服务架构和企业服务总线面向服务架构()和企业服务总线()soa esb学习和研究在企业中实施面向服务架构(),简单回顾和,重点关注soa esb微软在领域的相关指导和社区的相关开源的解决方案,和大家一起来探讨soa soaesb如何在企业里实现,期望有实施经验的同学发表意见soa.net
一、的历史soa soa年,最早提出年月,提出是现代应用开soa发领域最重要的课题,并不是一个新事物,组织已经成功建立并实施1996gartner soa200212gartner soa\应用软件很多年了,、、等厂商看到了它的价值,纷纷跟进的目标在\soa itsoa于让变得更有弹性,以更快地响应业务单位的需求,实现实时企业(bea ibmsoa,这是为描述的愿景目标)而的早在it real-年月就提出要将的基础架构转变为,并且从对整个企业架构的timeenterprise gartnersoa beaciorhonda控制能力、提升开发效率、加快开发速度、降低在客户化和人员技能的投入等方面20016bea itsoa取得了不错的成绩是在计算环境下设计、开发、应用、管理分散的逻辑(服务)单元的一种规范这个定义决定了的广泛性要求开发者从服务集成的角度来设计应用soa软件,即使这么做的利益不会马上显现要求开发者超越应用软件来思考,并soa soa考虑复用现有的服务,或者检查如何让服务被重复利用鼓励使用可替代的技soa术和方法(例如消息机制),通过把服务联系在一起而非编写新代码来构架应用soa经过适当构架后,这种消息机制的应用允许公司仅通过调整原有服务模式而非被迫进行大规模新的应用代码的开发,使得在商业环境许可的时间内对变化的市场条件做出快速的响应也不仅仅是一种开发的方法论它还包含管理例如,应用后,管理者可以方便的管理这些搭建在服务平台上的企业应用,而不是管理单一的应用模块其soa--soa原理是,通过分析服务之间的相互调用,使得公司管理人员方便的拿到什么时候、什么原因、哪些商业逻辑被执行的数据信息,这样就帮助了企业管理人员或应soa用架构师迭代地优化他们的企业业务流程、应用系统的一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要企业环境中单个应用程序是无法包容业务用户的soa(各种)需求的,即使是一个大型的解决方案,仍然不能满足这个需求在不断膨胀、变化的缺口,对市场快速做出反应,商业用户只能通过不断开发新应用、扩erp展现有应用程序来艰难的支撑其现有的业务需求通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程其结果就是,基于的企业应用系统通常会更加真实地反映出与业务模型的结合服务是从业务流程的soa角度来看待技术的这是从上向下看的这种角度同一般的从可用技术所驱动的商业视角是相反的服务的优势很清楚它们会同业务流程结合在一起,因此能够更--加精确地表示业务模型、更好地支持业务流程相反我们可以看到以应用程序为中心的企业应用模型迫使业务用户将其能力局限为应用程序的能力企业流程()是流经企业框架的空气,它赋予业务模型里的组件以生命,并更加清晰地定义了它们之间的关系流程定义了同业务模型进行交互操enterpriseprocess作的专门方法例如,会计可能是企业服务系统的一个组件但是将发票寄给客户却是一个业务流程服务被定义用来支持业务流程,因而贯穿整个流程始终的是--各种服务组件在流程和逻辑实现过程中的装配操作理解业务流程是定制服务的关键所在
二、的描述所适用的原则利用显式的与实现无关的接口来定义服务利用强调位置透明性和可互操作性的通soa信协议封装可重用业务功能的服务的定义图说明了这些原则注意,虽然服务技术非常符合这些原则,但它并不是唯一符合这些原则的技术图的原则1web为了实现,应用程序和基础架构都必须支持原则启用应用程序涉及1soa到创建服务接口,服务接口可以直接也可以间接地通过使用适配器用于现有的或新soa soasoa的功能从最基本的级别来看,启用该基础架构涉及到规划功能来将服务请求路由和传递给正确的服务提供者然而,基础架构支持在不影响服务的客户端的情况下由另一个服务实现替代原有的服务实现也是至关重要的这不仅需要根据原则指定服务接口,而且需要基础架构允许客户端代码以独立于所涉及的服务位置和通soa信协议的方式来调用服务
三、是什么根据维基百科的定义,有如下特性esb它是面向服务架构的实现esb esb它通常是操作系统和编程语言无关的;它应能在和应用程序之间工作
1.它使用(可扩展标识语言)作为标准通信语言
2.java.net它支持服务标准
3.xml它支持消息传递(同步、异步、点对点、发布订阅)
4.web它包含基于标准的适配器(如),用于集成传统系统
5.-它包含对服务编制()和编排()的支持
6.j2c/jca它包含智能、基于内容的路由服务(路由)
7.orchestration choreography它包含标准安全模型,用于的认证、授权和审计
8.itenerary
9.esb它包含转换服务(通常是使用),在发送应用和接收应用之间转换格式,简化数
10.xslt据格式和值的转换它包含基于模式()的验证,用于发送和接收消息它可以统一应用业务规则,充实其它来源的消息,分拆和组合多个消息,以及
11.schema处理异常
12.它可以条件路由,或基于非集中策略的消息转换,即不需要集中规则引擎它可监视不同(服务级别合约)的消息响应门限,以及在中定义的其它
13.特性
14.sla sla它(常常)简化服务类别,向更高或更低优先级用户做出适当的响应它支持队列,在应用临时不可用时用来保存消息
15.“”它由(地理)分布式环境中的选择性部署应用适配器组成
16.对于其中一些厂商(、微软)来说,是将一系列能力联结在一起的一种模
17.式,而其他厂商认为是一种产品在年,微软的产品ibm esb经理写道esb2005identityplatform产品是一根聪明的管子,用来连接各个愚笨的节点的途径richturner让节点本身也变得聪明,减少了对底下聪明管道的需要,并确保了跨越任何平台与esb[][……]webservice设备的开放的通讯
四、如何用技术建立完整的环境微软发布了一个名为真实世界里的面向服务架构()的电子书这本书表达.net soa了微软对面向服务架构的观点,并包括了数个展示如何用微软产品和技术实现“soa”的真实案例书中解释到,的功能型架构本身是松散的,即每个服务本身可以soa作为企业的资产存在、也可以作为生产流程中的处理环节存在,但总体上他们soa提供了一个完整的视图,而且与独立应用不同,这个视图的内容不是分层的、而是it平的,借助这个视图可以提供如下可重用能力消息机制服务工作处理流程服务数据服务用户体验服务主体身份的识别、认证、授权服务还有通盘的管理能力所有这些能力用微软的产品描述就是下图与强调、等公共标准的平台不同,微软平台相应的封装也不是通过商用服务器平台完成,而是更多地借助实现;其中最为重要的角色重则由sca sdojava担当,轻则由用户通过扩展完成;至于服务的治理,相对更为统wcf esb一,与平台其他产品无异,向下借助统一的体系,配合和biztalk wcf+wfwindows wmimom对的基础平台部分进行治理,向上借助协议对服务进行集中管理实施集成在所难免,各企业集成的方式大概主要有systemcenter soaws_management种soa3购买某厂商的套件,这样无论是组成上的兼容性还是技术支持都有保证,代价就是花费不菲;soa集成多种开源的服务器产品和开发框架,显性成本上很划算,但技术实施的成败的风险比较大;更多依赖操作系统自带的产品,根据范围的大小,选择少量的商业产品或开源服务器产品,兼容性风险比全部开源产品要小,成本上也比全盘采购商业套件廉it价《》里更多倡导的就是这第三条道路微软还赞助了一个针对北美家拥有名员工,或超过这个数字的企业的综soaintherealworld合应用平台的研究其目的旨在确定哪种软件平台被用于构建关键任务的应用,以5001000及什么是首选供应商的关键组件平台等
五、开源的项目介绍企业级服务总线是开源的企业级服务总线,采用的协议是.netesb主要包含了消息队列机智,消息收发,服务路由,esb.net esb.net ms-,消息扩展(消息加解密,压缩),还有工作流pl esb.net msmqsoap router开源的通信框架是一个用于构建企业级系统的开源wcf wsewf通讯框架它在消息发布订阅支持、工作流集成和高度可扩展性等方面表现优nservicebus nservicebus.net异,因此是很多分布式系统基础平台的理想选择,它能够帮助开发人员在搭建企/业系统时避免很多典型的常见问题同时,该框架也提供了一些可伸缩的关键特征,比如对发布订阅的支持、集成的长时间工作流及深入的扩展能力等据作.net者说,其本意是为构建分布式应用软件创建一个理想的基础设施/是一个平台上的用于构建松耦合应用程序的服务总线框架,这个服务总线支持原则(原则,就是通过重构masstransit--.netservicebus masstransit.net提取公因式当出现一次时,不分层,以后业务复杂了,马上抽象出一个层次来,分yagni yagni层是依赖倒置原则和模版方法模式的应用)通过一套严密的关注点,和应用程序之间的接触最小化和清晰的接口masstransit相关资料.这个词到底是什么意思在中整合企业数据谈微软的策略
[1]esb
[2]soa
[3]dinochiesa soa。