SOA面向服务架(经典).ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向服务的架构(SOA) 什么是SOA 为什么要使用SOA SOA工作原理 构建SOA SOA的应用 什么是SOA 面向服务的体系结构(Service-Oriented Architecture, SOA)是一个组件模型。 组件模型 Web service平台是一套标准,它定义了应用程序如何 在Web上实现互操作性。你可以用任何你喜欢的语言, 在任何你喜欢的平台上写Web service ,只要我们可以通 过Web service标准对这些服务进行查询和访问。 Web service是技术规范,SOA是设计原则。从本质上 讲,SOA是一种架构模式,而web service是利用一组标准 实现的服务。Web service是实现SOA的方式之一。用web service实现SOA的好处是:可以实现一个中立平台,来获 取服务,获取更好的通用性。 Web Services的目标是即时装配、松散耦合以及自动 集成。 为什么要使用SOA 传统的架构,软件包是被编写为独立的(self-contained) 软件,即在一个完整的软件包中将许多应用程序功能整合在 一起。实现整合应用程序功能的代码通常与功能本身的代码 混合在一起。我们将这种方式称作软件设计“单一应用程序 “。与此密切相关的是,更改一部分代码将对使用该代码的代 码具有重大影响,这会造成系统的复杂性,并增加维护系统 的成本。而且还使重新使用应用程序功能变得较困难,因为 这些功能不是为了重新使用而打的包。 缺点:代码冗余 不能重用 紧耦合 成本高   SOA旨在将单个应用程序功能彼此分开,以便这些 功能可以单独用作单个的应用程序功能或“组件”。这 些组件可以用于在企业内部创建各种其他的应用程序, 或者如有需要,对外向合作伙伴公开,以便用于合作伙 伴的应用程序。 SOA优点:代码重用 松耦合 平台独立 语言无关 SOA架构中有三种角色: 服务提供者:发布自己的服务,并且对服务请求进行响应。 服务注册中心:注册已经发布的web service,对其进行分类,并提供搜索服务。 服务请求者:利用服务中心查找所需要的服务,然后使用该服务。 SOAP: 简单对象访问协议 (Simple Object Access Protocol) WSDL: Web服务描述语言 WSDL (Web Services Description Language) UUDI: 统一描述、发现和集成 (Universal Description, Discovery and Integration) WSDL用来描述服务;UDDI用来注册和查找服务;而 SOAP,作为传输层,用来在消费者和服务提供者之间传送 消息。一个消费者可以在UDDI注册表(registry)查找服 务,取得服务的WSDL描述,然后通过SOAP来调用服务。 一个SOA系统要具有以下六大关键要素——基础设 施、已有资源、企业服务、流程模型、服务展现和系统 工具(包括开发、测试和管理工具等)。因此,在基础 设施和已有资源都已具备的基础上,开发和构建一个 SOA系统要包括以下几方面的工作: 首先需要设计开发出符合标准的服务,这是整个SOA系统最核心的要素。 基于标准服务,借助流程编排工具和建模工具,组织构造流程,生成流程模型,更好地满足业务需求。 实际构建和开发SOA系统,具体包括服务和应用程序的开发,数据的访问、处理和管理,及对服务各种形式的展现等。 假设股票行业存在以下6个服务: Country() 输入参数:国家编码。输出项:国家名称和其他信息。 YellowPages() 输入参数:公司名称;输出项:企业代码,所在国家等其他信息。 NewYorkStock() 输入参数:公司代码,时间;输出项:该公司在纽约的股票价格 (美元)。 LondonStock() 输入参数:公司代码,时间;输出项:该公司在伦敦的股票价格。 USToRMB() 输入参数:美元价格,时间;输出项:对应的人民币价格。 UKToRMB() 输入参数:英镑价格,时间;输出项:对应的人民币价格。 用户想通过“跨国公司名称”和“时间”找出该 跨国公司在纽约的股票折合成人民币的价格以 及该公司所在国家的信息。 分析: 输入参数:跨国公司的名称、时间 如何实现对给定服务的组合,找出满足用户的信 息? 在石油企业内部,有许多不同的网站,进入每个网 站,都需要身份验证,不仅浪费时间而且容易遗忘代 码 ,另外,网站维护人员对各种服务需要建立相应的用 户认证与信息管理系统,分布于个服务器中的用户数据 不仅浪

文档评论(0)

ldj215323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档