SOA设计原则与方法.PDF

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SOA设计原则与方法.PDF

SOA设计原则与方法 SOA设计原则与方法 一、SOA设计原则 一、SOA设计原则 ● 业务与IT对齐 ● 保持灵活性 ● 松散耦合 1、业务与IT对齐 ● 视服务为第一位的核心概念 ● 服务必须有针对性的业务含义 ● 通过契约的设计方法规范服务参与的各方 职责 视服务为第一位的核心概念 ●服务提供一种跨越多个用例的功能性视角, 这种视角对于需求分析、设计、部署、运营、 监管各个阶段都是公共的。(与传统的软件各 阶段比较) ●服务往往表现为一种功能接口,但功能接口 只是服务的一种属性,实际服务的内涵和外延 都远远超越了功能接口 传统生命周期 服务必须有针对性的业务含义 “针对性的业务含义”指服务必须有适当的粒 度和抽象度。 服务粒度和抽象度越细,服务本身的业 务和技术依赖性越强,所以服务要有适当的粒 度和抽象度 通过契约的设计方法规范服务参与的各方职责 契约设计作为一种方法,使得围绕服务的 各种参与方能够精确地理解其职责,或者说描 述服务再各个方面的规约。 注意:契约最好以机器可读的形式表达, 以便于服务使用的自动化,服务质量的监控, 服务契约遵守的监控等。 常见契约 ● 功能性契约 定义服务的业务描述,服务的前件和后件 ● 运营契约 定义服务的SLA和QoS 2、保持灵活性 ● 设计抽象粗粒度服务适合更广泛的需求 ● 设计适当粒度的服务使能服务组装 ● 通过松散耦合技术减少服务消费者和提供 者间技术依赖性 注意:是设计成粗粒度的服务适应广泛需 求,还是细粒度的服务使之能组装,要根据实 际情况在分析和设计决定,这往往很难把握。 粗粒度服务适合更广泛的需求 适当粒度的服务使能服务组装 建议:不同的观察角度意味着服务粒度 不一样,所有分析和设计时一定要从观 察的视角出发进行考虑。记住抽象程度 和粒度粗细的关系 3、松散耦合(设计层面) ● 保持服务契约层面的抽象性 ● 保持服务调用的平台中立性 ● 隔离关注 ● 组件化设计方法 (更多松耦合的特性参见前面松耦合一节) 保持服务契约层面的抽象性 一个良好定义的服务应该是抽象的,它应独 立于特别的软件实现、功能组件。最终使得: ●移除服务消费者对服务提供方相关实现的依赖性 ●减少由于服务实现变化导致的对服务的相关方面 的变更 ●服务实现的替换对消费者来说是透明的 保持服务契约层面的抽象性 保持服务调用的平台中立性 服务应该建立在平台中立的技术上,例如: WebService相关的协议标准,它能够隔离协议 和消息等技术层面关注 平台中立性具有以下能力: ●保留SOA生态环境中各种参与者的自用度 ●减少由于技术演变或平台变更对服务消费者 和提供者带来的影响 保持服务调用的平台中立性 隔离关注 采用隔离关注的方法保持业务架构和技术架 构的清晰性 组件化设计方法 利用组件化设计方法保持更细粒度业务功能 和技术实现的清晰性 隔离关注 二、服务设计原则 二、服务设计原则 ●命名服务时应以最大化易用性为目标 ●服务应具有精心选择的粒度 ●服务应是内聚而完整的 ●服务应对实现细节进行封装 ●服务具有无状态接口 ●根据状态划分服务 命名服务时应以最大化易用性为目标 ●我们在选择服务、操作、数据类型和参数的名称 时有一个指导原则:希望最大化服务的易用性。 ●使用服务使用者专业领域内有意义的名称,优先 选用业务概念而不是技术概念 建议:应使用名词对服务进行命名;而应使用动词 对操作进行命名 服务应具有精心

文档评论(0)

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

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

1亿VIP精品文档

相关文档