如何设计服务以及服务化架构(SOA)?.docxVIP

如何设计服务以及服务化架构(SOA)?.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何设计服务以及服务化架构 自从提倡 SOA架构风格以来,个人觉得软件架构并未有特别突 破的变革,主要是在SOA面向服务架构风格基础上不断演化迭代, 基于服务的EA明确分层架构也好,微服务也罢,都是在面向服务架 构基础上的适应不同的场景的迭代升级。 我先抛出一个观点,我觉得服务化架构的本质,和西方教育界深受影 响的古希腊哲学家苏格拉底的“产婆术”的教育思想本质上是非常 相通的:苏格拉底的“产婆术”思想强调教育是一个“接生”的过程, 教师就是“接生婆”,人们之所以接受教育是为了寻找“原我”以不 断完善自身。也就是教育的目的在于唤醒而不再于塑造。 同理服务化 架构的本质也不仅仅在采用什么样的技术框架实现和塑造, 更重要的 是在于通过不停地在共创中反问、 反思、反省等方式进行对业务的本 质的不断追溯、抽象、综合归纳演绎,我们的每一个架构师都是服务 化架构的接生婆,我们的使命是建立真正反映业务本质并驱动业务不 断向前的架构。 我们是否足够深入理解业务的本质,做了足够的归纳演绎以及综合抽 象,是否清晰的反应到了我们的服务化的根基:业务模型、域模型以 及平台公共语义模型上?这是我们每一个参与服务化的每一个产品、 架构师、TL和核心开发同学需要回答的第一个根本问题。 定义 面向服务的架构(SOA: SOA是一种架构风格,致力于将业务 功能保持一致的服务(系统服务,应用服务,技术服务)作为设计、 构建和编排组合业务流程以及解决方案的基本单元。 目的 我们采用SOA的架构是为了什么呢? 为了更好的复用?为了更好的责任切分?为了接口和实现的分 离,提升灵活性和隔离性?还是为了更好的接口分类和管理? 以上说法其实都没错,但是面向服务化的架构 SOA的目的远远 超过接口技术细节的设计与定义,其核心的关注点在于服务的业务内 容以及内涵,而不仅仅是如何设计和实现。 同时,SOA更多的也不是如何构建一个服务, 任何人都可以很容易地 创建一个服务,这并不是 SOA的核心挑战,而是如何赋能企业构建 有业务价值意义的完整业务语义的服务集合。 面向服务的架构致力于在企业内的不同的业务环境内, 建设业务 功能驱动的服务,从而将服务组装成有价值、更高级别的业务流程和 解决方案平台。 面向服务的架构的真正的价值体现在当可重用的服务被灵活组 合、编排在一起来构建敏捷的、灵活的业务流程,其中敏捷体现在服 务可以快速调整,独立演化;灵活性体现在服务由于其业务功能定义 明确,边界清晰且功能内聚性强,同时服务具备各自独立完整生命周 期,可被灵活组装。 如果面向服务架构能为企业提供了重大的价值, 那么这些价值通 过什么来体现的呢? 价值体现 ?行为一致性 面向服务的架构允许我们为业务流程、任务或者决策拥有唯 一的共同的入口,也就是,不管服务访问的路径如何,服务给业 务提供的业务行为都是一致的。 ?数据一致性 面向服务的架构允许我们为业务数据信息提供单一的访问入 口,也就是它提供给业务一致的、 企业内部共识的公用数据访问。 ?模块化及敏捷性 面向服务的架构 SOA为业务功能、业务决策和业务信息的 模块化提供了非常好的机制。同时,在模块化实现好的情况下, 这些模块可以在多个业务流程和场景中被灵活复用和重新组合, 从而为业务竞争力和创造性提供灵活性和敏捷度支持。 ?功能与数据的解耦 面向服务的架构 SOA提供了业务功能和信息集成的同时, 减少了他们之间的依赖和耦合性。 也就是,独立的业务功能单元, 应用系统,可以一起协同工作,同时各自又具备各自的演进计划, 生命周期和业务目标。 ?高度可管理性 SOA提供给我们通过定义服务水平协定在服务模块粒度支 撑我们的业务目标,我们可以不断的设定、监控和优化调整组件, 应用以及系统所承载服务的考核。 其中行为一致性和数据一致性作为服务的核心价值根基。 服务 一、定义 首先我们先定义一下服务是什么? 服务是通过服务契约的方式来提供业务功能的独立单元, 同时受 服务契约所明确管理。 服务是设计、构建和编排组合一个完整业务实体中业务解决方案的基 础单元。服务契约指定了服务消费方和提供方之间所有的交互约定, 包括: ?服务接口 ?接口文档 ?服务策略 ?服务质量 ?服务可用性 ?性能 那我们经常听到模块、组件等其他的软件构件,服务和他们有什 么区别呢?其中最核心的区别在于服务本身是被明确管理的, 其服务 质量和性能是通过服务水平协定(SLA被明确管理的,而模块以及 组件并无此约束。此外,服务的全生命周期包含从设计、部署到增强 升级和维护都是可管理的。 举例(下列内容仅做示例展示用,非适用于严格场景): 服务 服务策略 服务质量 针对行业下商 在销量预测符合分布要求且满足准 家/供应商维度 确率水平要求的情况下,根据缺货率 的入仓货品补 服务水平要求的产生的补

文档评论(0)

138****0771 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档