第二章节 面向服务的体系结构 soa.pptVIP

  • 5
  • 0
  • 约6.83千字
  • 约 72页
  • 2018-11-02 发布于湖北
  • 举报
第二章节 面向服务的体系结构 soa

企业级软件平台建设SOA 第2章 SOA SOA “为了顺利运作,企业必须具有灵活性,必须具有灵活的IT基础设施。很多公司都在通过基于面向服务的架构(SOA)对系统进行整合来获得协调统一的IT和业务灵活性。” IBM软件集团副总裁 Sandy Carter 市场趋势 最近一项调查称,80%的财富500强企业表示在大概两年的时间内会转变一次他们的业务模式,而业务模式的成功改变很大程度上取决于其信息系统对快速演变的商业环境的适应能力,因为大概一半受访公司表示,这项转变会受到僵硬的信息系统的牵制。 市场趋势 十年前,解决灵活性问题的方法是企业应用集成(EIA),在主机端运行经过整合的软件。 但是新的商业过程往往跨越多个组织或需要复杂的分析和协作 ,这一方法已越来越难于适应日新月异的商业环境 。 市场趋势 新的解决方案不仅需要提供高效的商业推动力,更需要是能组建未来业务模式灵活的模块。客户机/服务器时代必然转向SOA这一新的潮流。 市场趋势 公司都在努力将IT系统环境转为以服务为导向的架构(SOA),以支持安装各种软件来有效交换数据,从而降低创建和维护界面的成本。业界分析公司Gartner估计,到2008年,60%以上的企业将在创建基础软件应用和业务流程时,将SOA作为“指导原则” 什么是SOA? SOA的历史 1996年,Gartner最早提出SOA。2002年12月,Gartner认为SOA是“现代应用开发领域最重要的课题”,还预计到2008年,SOA将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用SOA开发技能方面进行投资。 SOA是一种架构模型和一套设计方法学,其目的是最大限度地重用应用程序中立型的服务以提高IT适应性和效率。它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。 服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。 SOA不是一种语言,也不是一种具体的技术而是一种软件系统架构,它尝试给出在特定环境下推荐采用的一种架构,从这个角度上来说,它更像一种模式(Pattern)。 SOA中的三个角色 SOA中的三个角色 SOA的三种操作 可以用面向服务的体系结构做什么 业务的水平改变 内部改变 垂直改变 可以用面向服务的体系结构做什么 改变和 SOA 系统适应改变的能力是最重要的部分。对于开发人员来说,这样的改变无论是在他们工作的范围之内还是在他们工作的范围之外都有可能发生,这取决于是否有改变需要知道接口是如何定义的以及它们相互之间如何进行交互。与开发人员不同的是,架构师的作用就是引起对 SOA 模型大的改变。 构成 SOA 的技术 SOA 本身是应该如何将软件组织在一起的抽象概念。它依赖于用 XML 和 Web 服务实现并以软件的形式存在的更加具体的观念和技术。此外,它还需要安全性、策略管理、可靠消息传递以及会计系统的支持,从而有效地工作。您还可以通过分布式事务处理和分布式软件状态管理来进一步地改善它 SOA 服务和 Web 服务之间的区别 SOA 概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及如何交互。其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的区别。 Web 服务在需要交互的服务之间如何传递消息有具体的指导原则;从战术上实现 SOA 模型是通过 HTTP 传递的 SOAP 消息中最常见的 SOA 模型。 ESB 企业服务总线(Enterprise Service Bus,ESB),它使用许多可能的消息传递协议来负责适当的控制、流甚至还可能是服务之间所有消息的传输。 ESB 本身可以是单个引擎,甚至还可以是由许多同级和下级 ESB 组成的分布式系统,这些 ESB 一起工作,以保持 SOA 系统的运行。 SOA 与其他技术的关系 SOA 可以与许多其他技术结合在一起使用,然而,组件的封装和聚合在其中扮演着重要的角色。如前所述,SOA 可以是一个简单对象、复杂对象、对象的集合、包含许多对象的流程、包含其他流程的流程,甚至还可以是输出单一结果的应用程序的整体集合。在服务之外,它可以看作是单个实体,但是在其自身中,它可以具有任何级别的复杂性(如果必要的话)。出于性能方面的考虑,大多数 SOA 服务并没有下降到单一对象的粒

文档评论(0)

1亿VIP精品文档

相关文档