- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SOA
1.SOA的定义
面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元服务ervice),通过服务间定义良好的接口和契约(ontract)联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。这种具有中立接口的定义(没有强制绑定到特定的实现上)的特征被称为服务之间的松耦合。从这个定义中,我们看到下面两点:
● 它是一种软件系统架构。 SOA不是一种语言,也不是一种具体的技术,更不是一种产品,而是一种软件系统架构。它尝试给出在特定环境下推荐采用的一种架构,从这个角度上来说,它其实更像一种架构模式(Pattern),是一种理念架构,是人们面向应用服务的解决方案框架。
● 服务(service)是整个SOA实现的核心。SOA架构的基本元素是服务,SOA 指定一组实体(服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约),这些实体详细说明了如何提供和消费服务。遵循 SOA 观点的系统必须要有服务,这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的,并且可以通过网络查找其地址。
2.SOA三种角色的关系
图1是W3C给出的SOA模型中三种不同角色的关系示意图。其中:
服务是一个自包含的、无状态(stateless)的实体,可以由多个组件组成。它通过事先定义的界面响应服务请求。它也可以执行诸如编辑和处理事务(transaction)等离散性任务。服务本身并不依赖于其他函数和过程的状态。用什么技术实现服务,并不在其定义中加以限制。
服务提供者(service provider)提供符合契约(contract)的服务,并将它们发布到服务代理。
服务请求者(service consumer)也叫服务使用者,它发现并调用其他的软件服务来提供商业解决方案。从概念上来说,SOA 本质上是将网络、传输协议和安全细节留给特定的实现来处理。服务请求者通常称为客户端,但是,也可以是终端用户应用程序或别的服务。
服务代理者(service broker)作为储存库、电话黄页票据交换所,产生由服务提供者发布的软件接口。
这三种 SOA 参与者:服务提供者、服务代理者以及服务请求者通过3个基本操作:发布(publish)、查找(find)、绑定(bind)相互作用。服务提供者向服务代理者发布服务。服务请求者通过服务代理者查找所需的服务,并绑定到这些服务上。服务提供者和服务请求者之间可以交互。
所谓服务的无状态,是指服务不依赖于任何事先设定的条件,是状态无关的(state-free)。在SOA架构中,一个服务不会依赖于其他服务的状态。 它们从客户端接受服务请求。因为服务是无状态的,它们可以被编排(orchestrated)和序列化(sequenced)成多个序列 (有时还采用流水线机制) ,以执行商业逻辑。编排指的是序列化服务并提供数据处理逻辑。但不包括数据的展现功能。
3.SOA的特征
基于上面的讨论,我们给出SOA的下面一些特征:
● 服务的封装(encapsulation)。将服务封装成用于业务流程的可重用组件的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。封装隐藏了复杂性。服务的API保持不变,使得用户远离具体实施上的变更。
● 服务的重用(reuse)。服务的可重用性设计显著地降低了成本。为了实现可重用性,服务只工作在特定处理过程的上下文(context)中,独立于底层实现和客户需求的变更。
● 服务的互操作(interoperability)。互操作并不是一个新概念。在CORBA、DCOM、web service中就已经采用互操作技术。在SOA中,通过服务之间既定的通信协议进行互操作。主要有同步和异步两种通信机制。SOA提供服务的互操作特性更有利于其在多种场合被重用。
● 服务是自治的(Autonomous)功能实体。服务是由组件组成的组合模块,是自包含和模块化的。
SOA非常强调架构中提供服务的功能实体的完全独立自主的能力。传统的组件技术,如.NET Remoting、EJB、COM或者CORBA,都需要有一个宿主(Host或者Server)来存放和管理这些功能实体;当这些宿主运行结束时,这些组件的寿命也随之结束。这样当宿主本身或者其他功能部分出现问题的时候,在该宿主上运行的其他应用服务就会受到影响。
SOA架构中非常强调实体自我管理和恢复能力。常见的用来进行自我恢复的技术,比如事务处理(Transaction)、消息队列(Message Queue)冗余部署(Redundant Deplo
您可能关注的文档
最近下载
- 全国广播电视技术能手调频与电视广播组题库专业 .pdf VIP
- 2018款19一汽奔腾B30 EV_汽车使用手册用户操作图示图解详解驾驶指南车主车辆说明书电子版.pdf
- 纪念中国人民抗日战争暨世界反法西斯战争胜利80周年主题党课PPT(优质ppt).pptx VIP
- 人教版六年级上册数学精品教学课件 第4单元 4.2比的基本性质.ppt VIP
- 牛津阅读树尽快保存随时失效哦130waiting for goldie.pdf VIP
- (精品)第一课-礼仪的起源与发展.ppt VIP
- 糖尿病性黄斑水肿与激光治疗医学.doc VIP
- 机械设计基础王凤平第二章摩擦磨损及润滑概述.ppt VIP
- 《急性心梗病例讨论》课件.ppt VIP
- 2025年广东高考数学真题及答案 .pdf VIP
文档评论(0)