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

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