没有合适的资源?快使用搜索试试~ 我知道了~
Service-Oriented Architecture简单介绍
4星 · 超过85%的资源 需积分: 4 2 下载量 19 浏览量
2009-09-13
09:43:06
上传
评论
收藏 251KB DOC 举报
温馨提示
试读
18页
如果您接触 SOA 不久,则可能会希望在开始本教程前了解本部分给出的一些基本信息的简介。
资源详情
资源评论
资源推荐
SOA 简介
如果您接触 SOA 不久,则可能会希望在开始本教程前了解本部分给出的一些基本信息的简
介。
SOA 是一种体系架构方法,用于定义、链接和集成具有清晰边界且功能方面自包含的可重
用业务服务。在这种类型的体系架构中,您可以对业务流程中的业务服务进行协 调。通过
采用服务的概念(一个独立于应用程序或基础设施 IT 平台以及上下文和其他服务的较高级
别的抽象),SOA 将 IT 提升到了一个新的级别,更为适合互操作性和异类环境。
因为 SOA 构建于主要 IT 提供商认可和支持的标准(如 Web 服务标准等)之上,因此可以
快速构建服务和进行互连。可以在不考虑所支持的基础设施的情况下在企业间进行互连,
从而为委托、共享、重用现有资产并实现其好处的最大化打开方便之门。
通过建立 SOA,可以将内部 IT 基础设施提高到一个更高、可见性更好且可管理的级别。
通过可重用服务和高级流程,能以比以往任何时候都方便的方式进行更改,而且更像是分
解部件(服务)并 将其重新组合为新的与业务一致的流程。这不仅提高了效率和重用,而
且还提供了极强的更改和保持 IT 与业务一致的能力。
SOA 的价值
那么,为什么大家对 SOA 的出现如此兴奋呢?它提供了什么,能够有什么帮助?是否所有
情况都应该使用?接下来让我们逐一回答这些问题。
SOA 最适合什么?
您可能会想,SOA 最适合哪些业务功能和情况,以及何种情况最能体现出其潜能?某些情
况和业务功能应该立即使用 SOA,因为 SOA 可以提高竞争力和效率,清楚地体现出其价
值。此类情况主要包括:
多个实体使用的集中业务功能:SOA 可帮助标识此类功能,并将其打包为可重用的自包含
服务,不会受到相关流程更改的影响。
与合作伙伴集成:SOA 可推动标准的使用,而这在任何集成中都至关重要,因为标准为所
有各方创建了共有的工作基准。另外,SOA 能提供出色的敏捷性,能够通过 SOA 的分离
功能以对客户几乎无缝的方式灵活地插入、更改或更新服务,从而能增强集成体验。
存在仍然在使用的旧技术:有些组织可能不愿意放弃行之有效的技术。安全顾虑让有些客
户(特别是银行之类敏感行业)对新软件系统及其未知漏洞持怀疑态度。在这种情况下 ,
SOA 可以帮助使用标准方式打包遗留技术,以便在适合进行集成和重用的基于标准的环境
中使用。
什么因素促成了 SOA 最受欢迎的功能:业务敏捷性支持?
因为更改是不可避免的,业务连续性的唯一保证就是预计更改并加以适应,也称为
业务敏
捷性
。对于任何企业的未来都至关重要的是,SOA 通过以下方面让业务敏捷性成为可能。
松散耦合
支持实时业务功能,因为其中消除了阻碍变更能力的硬连接
改变 IT 成本分布方式,在实现上面更为廉价,更多的投资可进行重用
提高对信息源的实时远程访问的可行性,从而减少延迟和依赖关系
集成项目是由业务需求驱动,并具有所提供功能的可见性(即业务是主要驱动因素)
通过公开和共享信息让公司获得更高的实时数据测定性能
缩短上市时间(因为可以加快到客户和合作伙伴的连接时间)
合作伙伴可以更快地与您的公司开展业务
推广和公开您的服务,更便于客户查找您和您的服务
通过搜索最适合您的需求的服务,更便于查找新的合作伙伴和服务
重用
提高流程一致性(因为依赖于相同的重用组件)
通过服务提供者间的竞争促进质量的提高
为客户提供广泛的提供商选择
几乎涵盖所有 IT 资产类:硬件、软件、数据和流程资产
减少更改的影响(因为更改在集中位置进行,然后就会在所涉及的所有各方上反映出来)
让您专注于业务流程,而不用太多考虑技术实现
帮助减少集成的成本(因为组件已经进行了集成)
让您在不约束业务更改的前提下进行系统更改
提升灵活性,从而获得更多的创新空间
允许一次发布多次使用
可扩展性
让各种规模的组织都能使用 SOA 解决方案
更改软件部署活动到更为动态且更为省时的模型,与业务更为相配
更便于添加或更改合作伙伴
加速合并和收购
方便公开服务,而这就代表着新的收益来源
那么,如果公司不采用 SOA,将失去什么?
因为对公司而言,SOA 是非常可取的解决方案,不实现此体系架构的代价是,可能会导致
在三个方面存在重大落后的情况:
无法进入到提供更多业务增长和曝光机会的高值市场。因为公司受到现有定制系统的束缚
虽然努力想进入高值市场,但始终却在市场原地踏步。不过,通过 SOA,组织可以改变业
务战术和支持新的市场策略,从而获得竞争优势。
无法应对与技术更为先进的对手的竞争。
来自成本更低的领域的竞争。
SOA 概念
接下来让我们了解一些 SOA 概念,以便更好地理解什么是 SOA。
SOA 中服务的定义
关于服务,有大量不同的定义,但我认为以下对什么是服务解释得最好。
摘自 Web Services and Service-Oriented Architecture: The Savvy Manager's guide(请参见参考
资料部分提供的链接):
“服务是定义良好、自包含且不依赖于上下文或其他服务的状态的功能。”
摘自 SearchSystemChannel.com(请参见参考资料部分提供的链接):
“...服务定义为代表某个计算实体(如人工用户或其他程序)执行的工作单元。”
SOA 中松散耦合的概念
为了帮助了解 SOA 中松散耦合的概念,您应该首先了解一下常规的松散耦合概念。以下说
明了什么是松散耦合以及其为何颇有价值:
如果交互中一方对实体的更改需要其他方进行对应的修改,则实体是耦合的(例如,业务
数据模型)。
如果实体的行为在服务接口中指定,且服务请求者和提供者只能在具有匹配的声明行为时
才能进行交互,则该实体是声明的。声明的方面包括安全性、事务行为和服务质量(如响
回页首
应时间和交付等)。
如果实体由服务请求者和服务提供者同时声明,但基础设施提供了一些转换功能来支持声
明的行为不匹配的服务请求者和提供者间的交互,则该实体是转换的。
如果请求者和提供者都声明了自己能够支持的一系列行为,而对于每个交互,中间层基础
设施都能够在二者之间协商一个一致同意的行为,则该实体是协商的。
如果交互中一方对特定方面的更改不需要其他方进行对应的更改,则该实体是分解的。
松散耦合在 SOA 范式中的作用如下:
它帮助在服务提供者和服务使用者之间形成一个抽象层。
松散耦合可提高在不影响服务使用者的情况下更改服务实现的灵活性。
在 SOA 方法中,功能组织为一系列模块化、可重用的共享服务。这些服务具有定义良好的
接口,其中封装了用于访问服务的关键规则。这些服务还是在不假设谁将使用服务的情况
下构建的。因此,能够松散耦合到这些服务的使用者。
回页首
XML 在 SOA 中作出了什么贡献?
SOA 基于开放标准,能够促进独立于平台的业务集成,但是需要公共平台作为其基础设施
的基础。此基础设施需要所涉及的各方的支持,以在认识方面达成一致。由于以下这些原
因,XML 是此基础设施的核心:
XML 是几乎所有 Web 服务标准的基础,如 XML 模式、SOAP、Web 服务描述语言(Web
Services Description Language,WSDL)及统一描述、发现和集成(Universal Description,
Discovery, and Integration,UDDI)等。这些标准利用了基于 XML 的表示形式的核心概念,
此表示形式是受到全球广泛支持的格式,能用于在 SOA 中的服务提供者和请求者之间进行
信息交换。
通过使用 XML 解决了跨不同平台使用不同应用程序中不同数据格式的问题。
XML 本质上具有简化表示形式、基于文本、灵活且可扩展的好处。
SOA 使用的构建于 XML 之上的标准包括:
SOAP:这是基于 XML 的简单协议,允许应用程序通过 HTTP 等传输协议交换信息。在
SOAP 中使用 XML 保证了 SOAP 协议以下方面的特征:
独立于平台。
可在 Internet 上使用。
能人工读取,具有结构化特征,且基于文本。
由于具有上述好处,SOAP 是推荐使用的 Web 服务通信协议,使用最为广泛。由于 Web
服务是 SOA 的基础,因此这个协议也是 SOA 解决方案的基本通信协议。
WSDL:WSDL 是以 XML 格式编写的用于描述 Web 服务的文档。它指定服务的位置和服
务向访问此服务的个体公开的操作(或方法)。WSDL 文件描述四个主要事项:
Web 服务接口提供的服务,如方法的列表名称和属性消息。
消息的数据类型
传输协议(如 HTTP 和 JMS)的绑定信息
调用时使用的服务地址
使 用 可 扩 展 标 记 语 言 的 电 子 商 务 ( Electronic Business using eXtensible Markup
Language,ebXML):ebXML 是定义企业间执行的业务事务的标准方式。ebXML 定义了
业务消息交换的标准方法,建立了公司间的贸易通信和注册业务流程。
回页首
服务注册中心
服务注册中心是 SOA 系统中可用的服务的目录。其中包含服务的物理位置、版本及服务有
效期、服务文档和策略。服务注册中心是 SOA 体系架构的主要构建块之一。下面对其扮演
的角色进行了介绍:
服务注册中心实现 SOA 的松散耦合承诺。通过保存服务端点位置,消除了在使用者和提供
者之间进行硬编码所带来的高度耦合。另外还消除了在需要的情况下替换服务实现的潜在
难题。
服务注册中心具有很高的可伸缩性,可以在系统服务逐步发展的情况下无缝地提升。
它允许系统分析人员对企业的业务服务投资组合进行调查。他们可以随后确定哪些服务可
用于实现流程自动化来应对迫切的业务需求,哪些服务不能用于此目的,从而让您知道需
要在投资组合中实现和添加什么,并会提供可用服务目录。
服务注册中心可以通过强制遵从订阅服务来逐步过渡到治理服务的角色。这可帮助确保服
务治理和策略的完整性。在本教程稍后,您将了解关于治理及其在 SOA 中的重要性。
可用服务及其接口的可见性可加快开发速度、提高应用程序重用、改善治理和改进业务规
划及管理。没有服务注册中心会导致冗余和效率低下。
服务注册中心可帮助减少在定位服务信息方面浪费的时间。
如果不使用注册中心来跟踪服务及其关系,SOA 环境不仅会缺少一致性和控制,还会出现
混乱。
回页首
什么是业务流程?
业务流程
是在此环境中经常听到的一个术语。以下是业务流程的两个定义:
摘自“Business processes and workflow in the Web services world”:
“业务流程可以定义为链接到跨功能边界的活动的一组相互关联的任务。业务流程具有起点
和终点,是可重复的。”
另一个定义是:
业务流程可以视为业务实体为了响应事件而执行的一组活动。这一组活动
在业务流程中彼此协调,一起描述并集成到一起。
为个人发放身份证就是一个业务流程。您提供您的出生证明、教育和专业证书及一张照片
来启动流程。然后将创建内部文件,对您进行安全调查,最后,完成了所有处理后,就拿
剩余17页未读,继续阅读
chenyao17r
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1