第二章 面向服务的体系结构 SOA

上传人:水****8 文档编号:28731197 上传时间:2021-09-09 格式:PPTX 页数:72 大小:568.22KB
收藏 版权申诉 举报 下载
第二章 面向服务的体系结构 SOA_第1页
第1页 / 共72页
第二章 面向服务的体系结构 SOA_第2页
第2页 / 共72页
第二章 面向服务的体系结构 SOA_第3页
第3页 / 共72页
资源描述:

《第二章 面向服务的体系结构 SOA》由会员分享,可在线阅读,更多相关《第二章 面向服务的体系结构 SOA(72页珍藏版)》请在装配图网上搜索。

1、企业级软件平台建设SOA 第2章 SOASOA市场趋势1什么是SOA2 SOA的生命周期3如何实施SOA45案例:SOA在金融行业的应用 “为了顺利运作,企业必须具有灵活性,必须具有灵活的IT基础设施。很多公司都在通过基于面向服务的架构(SOA)对系统进行整合来获得协调统一的IT和业务灵活性。”IBM软件集团副总裁 Sandy Carter 市场趋势 最近一项调查称,80的财富500强企业表示在大概两年的时间内会转变一次他们的业务模式,而业务模式的成功改变很大程度上取决于其信息系统对快速演变的商业环境的适应能力,因为大概一半受访公司表示,这项转变会受到僵硬的信息系统的牵制。 市场趋势 十年前,

2、解决灵活性问题的方法是企业应用集成(EIA),在主机端运行经过整合的软件。 但是新的商业过程往往跨越多个组织或需要复杂的分析和协作 ,这一方法已越来越难于适应日新月异的商业环境 。 市场趋势 新的解决方案不仅需要提供高效的商业推动力,更需要是能组建未来业务模式灵活的模块。客户机/服务器时代必然转向SOA这一新的潮流。 市场趋势 公司都在努力将IT系统环境转为以服务为导向的架构(SOA),以支持安装各种软件来有效交换数据,从而降低创建和维护界面的成本。业界分析公司Gartner估计,到2022年,60%以上的企业将在创建基础软件应用和业务流程时,将SOA作为“指导原则” 什么是SOA?SOA的历

3、史 1996年,Gartner最早提出SOA。2021年12月,Gartner认为SOA是“现代应用开发领域最重要的课题”,还预计到2022年,SOA将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用SOA开发技能方面进行投资。 SOA是一种架构模型和一套设计方法学,其目的是最大限度地重用应用程序中立型的服务以提高IT适应性和效率。它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。 服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最

4、终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。 SOA不是一种语言,也不是一种具体的技术而是一种软件系统架构,它尝试给出在特定环境下推荐采用的一种架构,从这个角度上来说,它更像一种模式(Pattern)。 SOA的特征服务的封装 服务是位置透明的 服务的重用 服务的互操作 服务之间的松耦合度 服务是自治的功能实体 SOA中的三个角色1服务申请者(Service Requester) 3服务注册器(Service Registry) 2服务提供者(Service Provider) SOA中的三个角色Service Registry Service Req

5、uester Service Provider Find Bind PublishSOA的三种操作发布(publish) 查找(find) 绑定(bind) 可以用面向服务的体系结构做什么l 业务的水平改变 l 内部改变 l 垂直改变 可以用面向服务的体系结构做什么 改变和 SOA 系统适应改变的能力是最重要的部分。对于开发人员来说,这样的改变无论是在他们工作的范围之内还是在他们工作的范围之外都有可能发生,这取决于是否有改变需要知道接口是如何定义的以及它们相互之间如何进行交互。与开发人员不同的是,架构师的作用就是引起对 SOA 模型大的改变。 构成 SOA 的技术 SOA 本身是应该如何将软件

6、组织在一起的抽象概念。它依赖于用 XML 和 Web 服务实现并以软件的形式存在的更加具体的观念和技术。此外,它还需要安全性、策略管理、可靠消息传递以及会计系统的支持,从而有效地工作。您还可以通过分布式事务处理和分布式软件状态管理来进一步地改善它 SOA 服务和 Web 服务之间的区别 SOA 概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及如何交互。其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的区别。 Web 服务在需要交互的服务之间如何传递消息有具体的指导原则;从战术上实现 SOA 模型是通过 HTTP 传递的 SOAP 消息中最常见的 SOA 模型

7、。 ESB 企业服务总线(Enterprise Service Bus,ESB),它使用许多可能的消息传递协议来负责适当的控制、流甚至还可能是服务之间所有消息的传输。 ESB 本身可以是单个引擎,甚至还可以是由许多同级和下级 ESB 组成的分布式系统,这些 ESB 一起工作,以保持 SOA 系统的运行。 SOA 与其他技术的关系 SOA 可以与许多其他技术结合在一起使用,然而,组件的封装和聚合在其中扮演着重要的角色。如前所述,SOA 可以是一个简单对象、复杂对象、对象的集合、包含许多对象的流程、包含其他流程的流程,甚至还可以是输出单一结果的应用程序的整体集合。在服务之外,它可以看作是单个实体,

8、但是在其自身中,它可以具有任何级别的复杂性(如果必要的话)。出于性能方面的考虑,大多数 SOA 服务并没有下降到单一对象的粒度,并且更适合于大中型组件。 SOA 与其他技术的关系 SOA 和 Web 服务是独立于编程语言的,但 Java 是主要的开发语言之一。可以使用定义良好的 Java 接口以及各种协议丰富的 Java 实现为正在构建这个模型的开发人员提供了优势。 SOA 与其他技术的关系 SOA 与 Web 的另一个重要的关系是自主计算和网格计算的概念。自主计算的概念应用于管理分布式服务体系结构的范围,具体来说,就是帮助维护策略和服务级协议以及 SOA 系统的总稳定性。 SOA 与其他技术

9、的关系 另外,网格计算可以以两个级别与 SOA 系统一起使用。网格是分布式计算的一种形式,它利用分布式特性和服务之间的交互来为 SOA 应用程序提供计算支持。在这种情况下,网格起到了框架的作用,其中实现了一些或所有单独的服务。因此,SOA 应用程序可以是网格服务的消费者。 SOA的生命周期SOA的生命周期建模(Model) 建模业务流程的程度将依赖于预期实现的深度。另外,这个程度还依赖于您在开发团队中担任的角色。如果您是企业架构师,您将会对实际的业务服务进行建模。如果您是软件开发人员,您将可能对单个服务进行建模。 组装(Assemble) 在建模中,已经确定了需要何种类型的服务以及它们将访问何

10、种类型的数据。已经存在某种形式的实现这些服务或访问该类数据所需的一些软件。“组装”步骤将要找到已经存在的功能,并为其添加服务支持。 部署(Deploy) 进行了建模和组装后,要将组成 SOA 的资产部署到安全的集成环境中。 此环境本身提供专门化的服务,用于集成业务中涉及的人员、流程和信息。 此外,部署工作还需要满足业务的性能和可用性需求,并提供足够的灵活性,以便吸纳新服务(并使旧服务退役),而不会对整个系统造成大的影响。 管理(Manage) 部署后,需要从 IT 和业务两个角度对您的系统进行管理和监视。在“管理”步骤中收集的信息用于帮助实时地了解业务流程,从而能更好地进行业务决策,并将信息反

11、馈回生命周期,以进行持续的流程改进工作。 管理(Manage) 在管理中,需要监视和优化系统,发现和纠正效率低下的情况和存在的问题。由于 SOA 是一个迭代过程,因此,在此步骤中,不仅要找出技术体系结构中有待改进之处,而且还要找出业务体系结构中有待改进之处。 控制(Governance) 控制对所有生命周期阶段起到巩固支撑作用,为整个 SOA 系统提供指导,并有助于了解系统全貌。它提供指导和控制,帮助服务提供者和使用者避免遇到意外情况。 如何实施SOA SOA 使用户可以构建、部署和整合这些服务,且无需依赖应用程序及其运行计算平台,从而提高业务流程的灵活性。这种业务灵活性可使企业加快发展速度,

12、降低总体拥有成本,改善对及时、准确信息的访问。SOA 有助于实现更多的资产重用、更轻松的管理和更快的开发与部署。 构建服务 集成 转换 IT 转换业务 SOA的采用阶段包括构建服务、集成、转换 IT和转换业务。构建服务 在此阶段,服务构建将更多地关注解决特定的问题,而不是对企业现有系统进行转换。IT 部门将构建一些新服务,或许会将一些现有应用程序转换为一组基于 Web 的服务。 它们之间的链接将根据需要提供,而不是源自整个体系结构的要求。 集成 发现了松散耦合体系结构的优势、方便性和易维护性后,下一步就是利用这种灵活性通过组合服务来创建新的组合应用程序。 它们之间的链接是预先计划的且定义良好。

13、 转换 IT 这个阶段涉及到对信息技术基础设施进行转换,以便充分利用 SOA 的优势。 所有系统将转换为基于服务的应用程序,松散耦合是其中的规范做法,而不是例外。系统的所有组件都将根据 SOA 进行集成和连接,IT 系统的所有部分都在 SOA 内工作。 转换业务 在 SOA 成熟的最后一个阶段,业务与 SOA 完全集成,达到了这样一个程度:所有合适的业务活动都被视为服务,可以最终在技术体系结构中对其进行建模、分析和实例化。 SOA的切入点 实施SOA可以从两个方面进入,一是以业务为中心,二是以IT为重点。 IBM 的什么工具和产品可用于 SOA? 在第一个用于实现独立 Web 服务(Imple

14、menting Individual Web services)的 SOA 采用层次中,主要用于帮助开发人员创建和操作比较简单的 Web 服务。 实现单独的 Web 服务核心组件 在第二个层次,面向服务的集成(Service Oriented Integration),工具转向提供发现多个服务并与其交互的方式,以及创建 SOA 模型的基础。 面向服务的集成核心组件 面向服务的集成附加组件 在层次 3,企业范围内的 IT 转换,IBM 提供了各种各样的 SOA 和 Web 服务现成产品,这样就可以支持所有的 IT 系统功能,并提供 SOA 系统的企业范围内的管理。 企业范围内的 IT 转换核心组

15、件 企业范围内的 IT 转换附加组件 案例:SOA在金融行业的应用 SOA的使用是基于重用的功能单元(称为服务),通过运用这些服务之间定义良好的接口和契约联系来支持业务流程,是服务(或业务)的编排和组合增加了灵活性和集成性的重要作用。SOA的关键是使用标准的服务接口和定义用松耦合进行连接。从而掩盖IT环境底层的技术复杂性和繁琐性。 SOA是从企业的需求开始,把IT系统和业务流程结合在一起,以服务集成的形式实现新的而且灵活的应用功能。SOA简化了IT,让IT变得更有弹性,从而更好地发展和优化业务流程,促进企业与合作伙伴的业务需要,也使供应商和客户之间的运作流程能够做的端到端的整合,让企业可以快速

16、灵敏地响应客户和市场不断变化的需求,实现随需应变业务。 实践SOA需要四方面的工作 企业组织及服务监控(Governance) 1以服务为定义的业务流程(Process) 2 IT系统和业务流程的配合(Align IT with business) 3企业建模及系统架构(Architecture) 4 SOA技术的成熟,为建设灵活,基于标准的IT基础设施提供了明确的答案。 企业如何才能有效实现SOA策略?这是很大的挑战和充满了潜在的障碍。 企业不需要马上全部采用或大量修改现有的IT基础,使用服务来完全代替它们。而应当优先选择利用服务接口解决最紧迫的集成问题,然后逐步扩展范围,封装出更多面向服务

17、的业务流程,稳定地把公司转型为随需应变企业。 流程排演技术 一个业务过程是指一套以特定的顺序被调用来实现某个商务目标的商务活动流。业务过程定义了流的顺序、如何处理外部事件、如何与人交互和条件判断。 业务过程模型 一个业务过程的组成部分过程数据(信息模型)1活动和服务(服务模型)2过程参与者(组装模型)3过程数据(信息模型)l 消息:服务之间交互的请求/响应信息。l 业务实体和对象:定义消息成员的类型,包含数据的组成和处理方法 活动和服务(服务模型) 业务服务:业务过程的每个活动结点都对应一个服务执行步,这些服务可以是企业内部的J2EE服务、Mainframe访问服务或数据库访问服务,也可以是企

18、业的业务伙伴提供的外部应用服务。 过程参与者(组装模型)l 业务伙伴:具有某种业务角色的服务提供者。在这里,我们将业务过程中的所有服务提供者都称为业务伙伴。例如企业内部的帐务系统、CICS系统、零售系统的企业外部供应商系统等。业务过程与服务提供者的交互选用Web Services的标准接口。过程参与者(组装模型)l 终端用户:以特定角色参与业务过程的人员,例如审计员、施工人员、管理员等。l 角色:业务伙伴具有唯一的业务角色;而终端用户的角色,可以对人员操作进行授权和管控。 Business Process Execution Language 目前实现这种业务过程的标准就是Business P

19、rocess Execution Language (BPEL)。 Business Process Execution Language BPEL是一种描述业务过程和业务交互方式的语言,扩展了Web Services的交互模型,使之能够支持商务交易,并且将Web Services接口层的关系结构封装在partner link中。总之,BPEL定义了一种业务基础模式,提供了更高程度的企业内部和企业之间的B2B的业务整合的自动化。 IBM的产品 对于构建、配置和运行这些基于SOA的应用和业务过程,IBM推出了 : WebSphere Business Integration Modeler(WB

20、I Modeler) WebSphere Business Integration Server Foundation(WBI-SF) WebSphere Studio Application Integration Edition(WSAD-IE) 用于业务建模的WBI Modeler、用于开发的WSAD-IE和用于运行、监控业务过程的WBI-SF和WBI Server相配合,形成了下一代的业务集成平台,是现存的IT资产的扩展和整合最优化。 WBI-SF WBI-SF建立在WebSphere Application Server (WAS)的基础上,提供Java、J2EE和基于Web Ser

21、vices技术的应用平台,可以为随需应变的动态e-Business配置企业级Web Services解决方案。 WBI-SF的优势 WBI-SF代表了IBM构建和配置SOA应用的趋势。支持可重用服务的创建,这些服务可以是新的也可以是基于那些现存的服务、后台系统、Java资产和封装的应用构建的。服务可以随意组合形成混合应用和业务过程,从而可以更多地利用业务规则来使这些应用和业务过程具有很好的可用性和可适应性。 WSAD-IE WSAD-IE为开发和测试基于BPEL的业务过程提供了必要的支持,特别是通过它的业务基础工具 WSAD-IE的优势 WSAD-IE提供了图形化的过程编辑器和调试器,可以帮助用户快速的构建J2EE的资源、Web Services和BPEL业务过程,并且一个活动一个活动的调试过程流。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!