下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点关 注微软在SOA领域的相关指导和.NET社区的相关开源的解决方案,和大家一起 来探讨如何在企业里实现SOA,期望有实施SOA经验的同学发表意见。一、SOA的历史1996年,Gartner最早提出SOA。2002年12月,Gartner提出SOA是现代 应用开发领域最重要的课题,SOA并不是一个新事物,IT组织已经成功建立并 实施SOA应用软件很多年了,BEA、IBM、等厂商看到了它的价值,纷纷跟进。SOA 的目标在于让IT变得更有弹性,以更快地响应业务单位的需求,实现实时企业 (Real-Time Enterprise
2、,这是 Gartner 为 SOA 描述的愿景目标)。而 BEA 的 CIO Rhonda早在2001年6月就提出要将BEA的IT基础架构转变为SOA,并且从对整 个企业架构的控制能力、提升开发效率、加快开发速度、降低在客户化和人员技 能的投入等方面取得了不错的成绩。SOA是在计算环境下设计、开发、应用、管理分散的逻辑(服务)单元的一种 规范。这个定义决定了5。人的广泛性。SOA要求开发者从服务集成的角度来设计 应用软件,即使这么做的利益不会马上显现。SOA要求开发者超越应用软件来思 考,并考虑复用现有的服务,或者检查如何让服务被重复利用SOA鼓励使用可 替代的技术和方法(例如消息机制),通过
3、把服务联系在一起而非编写新代码来构 架应用。经过适当构架后,这种消息机制的应用允许公司仅通过调整原有服务模 式而非被迫进行大规模新的应用代码的开发,使得在商业环境许可的时间内对变 化的市场条件做出快速的响应。SOA也不仅仅是一种开发的方法论一它还包含管理。例如,应用SOA后,管 理者可以方便的管理这些搭建在服务平台上的企业应用,而不是管理单一的应用 模块。其原理是,通过分析服务之间的相互调用,SOA使得公司管理人员方便的 拿到什么时候、什么原因、哪些商业逻辑被执行的数据信息,这样就帮助了企业 管理人员或应用架构师迭代地优化他们的企业业务流程、应用系统。SOA的一个中心思想就是使得企业应用摆脱面
4、向技术的解决方案的束 缚,轻松应对企业商业服务变化、发展的需要。企业环境中单个应用程序是无法 包容业务用户的(各种)需求的,即使是一个大型的ERP解决方案,仍然不能满足 这个需求在不断膨胀、变化的缺口,对市场快速做出反应,商业用户只能通过不 断开发新应用、扩展现有应用程序来艰难的支撑其现有的业务需求。通过将注意 力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程。 其结果就是,基于SOA的企业应用系统通常会更加真实地反映出与业务模型的结 合。服务是从业务流程的角度来看待技术的一这是从上向下看的。这种角度同一 般的从可用技术所驱动的商业视角是相反的。服务的优势很清楚:它们会同业
5、务 流程结合在一起,因此能够更加精确地表示业务模型、更好地支持业务流程。相 反我们可以看到以应用程序为中心的企业应用模型迫使业务用户将其能力局限 为应用程序的能力。企业流程(enterprise process)是流经企业框架的空气,它赋予业务模 型里的组件以生命,并更加清晰地定义了它们之间的关系。流程定义了同业务模 型进行交互操作的专门方法。例如,会计可能是企业服务系统的一个组件一但是 将发票寄给客户却是一个业务流程。服务被定义用来支持业务流程,因而贯穿整 个流程始终的是:各种服务组件在流程和逻辑实现过程中的装配操作。理解业务 流程是定制服务的关键所在。二、SOA的描述所适用的原则利用显式的
6、与实现无关的接口来定义服务。利用强调位置透明性和可互操作性的通信协议。封装可重用业务功能的服务的定义。图1说明了这些原则。注意,虽然Web服务技术非常符合这些原则,但它 并不是唯一符合这些原则的技术。图1: SOA的原则为了实现SOA,应用程序和基础架构都必须支持SOA原则。启用SOA应用 程序涉及到创建服务接口,服务接口可以直接也可以间接地通过使用适配器用于 现有的或新的功能。从最基本的级别来看,启用该基础架构涉及到规划功能来将 服务请求路由和传递给正确的服务提供者。然而,基础架构支持在不影响服务的 客户端的情况下由另一个服务实现替代原有的服务实现也是至关重要的。这不仅 需要根据SOA原则指
7、定服务接口,而且需要基础架构允许客户端代码以独立于 所涉及的服务位置和通信协议的方式来调用服务。三、ESB是什么?根据维基百科的ESB定义,ESB有如下特性:它是面向服务架构的实现。它通常是操作系统和编程语言无关的;它应能在Java和.Net应用程序之间 工作。它使用XML (可扩展标识语言)作为标准通信语言。它支持Web服务标准。它支持消息传递(同步、异步、点对点、发布-订阅)。它包含基于标准的适配器(如J2C/JCA),用于集成传统系统。它包含对服务编制(orchestration)和编排(choreography)的支持。它包含智能、基于内容的路由服务(itenerary路由)。它包含标
8、准安全模型,用于ESB的认证、授权和审计。它包含转换服务(通常是使用XSLT),在发送应用和接收应用之间转换格式, 简化数据格式和值的转换。它包含基于模式(schema)的验证,用于发送和接收消息。它可以统一应用业务规则,充实其它来源的消息,分拆和组合多个消息,以 及处理异常。它可以条件路由,或基于非集中策略的消息转换,即不需要集中规则引擎。它可监视不同SLA(服务级别合约)的消息响应门限,以及在SLA中定义的 其它特性。它(常常)简化“服务类别”,向更高或更低优先级用户做出适当的响应。它支持队列,在应用临时不可用时用来保存消息。它由(地理)分布式环境中的选择性部署应用适配器组成对于其中一些厂
9、商(IBM、微软)来说,ESB是将一系列能力联结在一起的 一种模式,而其他厂商认为ESB是一种产品。在2005年,微软Identity Platform 的产品经理Rich Turner写道:ESB产品是一根聪明的管子,用来连接各个愚笨的节点。:WebService的途径让节点本身也变得聪明,减少了对底下聪明管道的需要,并确保 了跨越任何平台与设备的开放的通讯。四、如何用.NET技术建立完整的SOA环境微软发布了一个名为“真实世界里的面向服务架构(SOA)”的电子书。这本 书表达了微软对面向服务架构的观点,并包括了数个展示如何用微软产品和技术 实现SOA的真实案例。书中解释到,SOA的功能型架
10、构本身是松散的,即每个服 务本身可以作为企业的IT资产存在、也可以作为生产流程中的处理环节存在, 但总体上他们提供了一个完整的视图,而且与独立应用不同,这个视图的内容不 是分层的、而是平的,借助这个视图可以提供如下可重用能力:消息机制服务工作处理流程服务数据服务用户体验服务主体身份的识别、认证、授权服务还有通盘的管理能力所有这些能力用微软的产品描述就是下图:加拍。悟,一 Too信 &Visual StudiointeradfofiCartfSpKOEnil 国 $SvkAdwDrmryRotlha SpvjzWHnd IntagfalinOiltoW/HgjjIrMwmipn 如 wr心MID
11、Dyramca.Akfrtorizaiien MgWCrkBOw IgWjMl( Softer fi AthipiniK叫;牛棒以肝1 mcWvW Aswrer VAhrteME fRimSmarl d+rtn CflmpMJ rriim?w&rt 制i割叩浙如比9后(娉寸偈H曲折幅nt在Grov&manceMT.GtfitefFimil/Vrifidowrt Systa-ifiUptEto SnfVfceMessaging/ Services御秘知iview衲耳与强调SCA、SDO等公共标准的Java平台不同,微软平台相应的封装也不是 通过商用服务器平台完成,而是更多地借助WCF实现;其中最
12、为重要的ESB角色 重则由BizTalk担当,轻则由用户通过扩展WCF + WF完成;至于服务的治理, 相对更为统一,与Windows平台其他产品无异,向下借助统一的WMI体系,配合 MOM和System Center对SOA的基础平台部分进行治理,向上借助WS_Management 协议对服务进行集中管理。实施SOA集成在所难免,各企业集成的方式大概主要有3种:购买某厂商的SOA套件,这样无论是组成上的兼容性还是技术支持都有保 证,代价就是花费不菲;集成多种开源的服务器产品和开发框架,显性成本上很划算,但技术实施的 成败的风险比较大;更多依赖操作系统自带的产品,根据IT范围的大小,选择少量的
13、商业产品 或开源服务器产品,兼容性风险比全部开源产品要小,成本上也比全盘采购商业 套件廉价。SOA in the Real World里更多倡导的就是这第三条道路。微软还赞助了一个针对北美500家拥有1000名员工,或超过这个数字的企 业的综合应用平台的研究。其目的旨在确定哪种软件平台被用于构建关键任务的 应用,以及什么是首选供应商的关键组件平台等。五、开源的.NET ESB项目介绍ESB.NET企业级服务总线:ESB.NET是开源的企业级服务总线,采用的协议是 MS-PL。ESB.NET主要包含了 MSMQ消息队列机智,SOAP消息收发,ROUTER服务路由,WCF,WSE消息扩展(消息加解密,压缩),还有WF工作流。开源的通信框架NServiceBus :NServiceBus是一个用于构建企业级.NET 系统的开源通讯框架。它在消息发布/订阅支持、工作流集成和高度可扩展性等 方面表现优异,因此是很多分布式系统基础平台的理想选择。,它能够帮助开发 人员在搭建企业.NET系统时避免很多典型的常见问题。同时,该框架也提供了 一些可伸缩的关键特征,比如对发布/订阅的支持、集成的长时间工作流及深入 的扩展能力等。据作者说,其本意是为构建分布式应用软件创建一个理想
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论