写点什么

新兴的行业 SOA 的最佳实践

  • 2010-03-13
  • 本文字数:2282 字

    阅读完需:约 7 分钟

根据 Larry Pizette,Salim Semy,Geoffrey Raines 和 Steve Foote 等合著的 MITRE 新白 皮书,以下几个方面是成功的 SOA 实施的最佳实践:

  • 判断 SOA 是否是最好的选择,根据白皮书: > 虽然 SOA 能够带来重用、敏捷及松耦合等好处,然而这些好处却不一定总是软件架构师首选的考虑因素。

    例如,实时系统或者网络限制的分布式系统,SOA 可能就不是合适的架构选型。

  • 从解决业务及运维中的挑战来开展 SOA 活动,为了使企业能够完全收获 SOA 实施带来的在时间及成本上的节约,它关注的应该是解决业务问题而非只关注技术。 > 如果企业的 SOA 采用是由解决业务问题而驱动的,并与之对齐,那么企业将会看到共享的服务,业务敏捷,和简化的整合带来的好处。

    作者们给出了一组 SOA 实施的工业案例,在这些案例中,都对业务目标进行了很好的定义。

  • 将服务用于支持关键的业务流程的步骤,SOA 主要的价值主张之一就是通过提供服务并实现能被多个业务流程公用的关键能力来降低 IT 冗余度。 > 通过关注跨企业使用的业务流程步骤,服务的重用就自然变成架构的产出之一……将服务定位在合适的业务流程级别是非常必要的(如,服务所 包含的能力范围),这样它们就能被轻易地映射到业务流程步骤中。

    作者们认为,服务的一个重要特征是松耦合,它能在对服务进行修改时带来灵活性。白皮书在最后还谈到了服务契约规范化以及服务可视化,这通常是通过服务注册实现的。

  • 检查你的数据, 这意味着 SOA 不会解决你的数据问题,却会把它们暴露出来。SOA 带来灵活性的一种途径是实现业务和数据间的解耦。这通常会导致创建数据服务,由它们提供跨企业的通过服务对数据的访问。但是,作者们提醒到, > 实施 SOA 本身不会解决数据问题。在 SOA 让数据更易于访问的同时,因为数据质量、可用性以及不同社区在词汇上的差异,它依然可能是不可用的…… 缺乏对数据的重视可能会损害 SOA 实施所带来的价值。

    作者们认为,在 SOA 实施中成功地融入数据需要:定义数据语义,用于保证在服务消费者和服务提供者之间数据交换的含义一致性;数据质量,用于消除冗 余,不一致性或失效的数据及数据可用性……提供能够支持异构的,或可能是不可预知服务消费者集合的的跨网络的分布式的数据服务。

  • 开始于一小点,学习并发展,白皮书的作者们认为,SOA 项目失败的主要原因之一是不合理的范围。 > ……架构师们往往希望把他们最初的 SOA 项目变成是整个企业范围的工作,即便从某个业务场景来看这并不合理……采纳 SOA 时,最好从一小点开始,学习并发展。递增的方法允许我们在实施大范围的 SOA 项目之前收集经验和教训;它可以最小化业务风险并能递增地收获回报。然而,在界定 SOA 工作范围时,至关重要的几个方面是:解决有意义的业务问题、关注架构的检验、清晰地描述期望的产出以及对成功的评判尺度,还要吸取经验教训,以备在将来的工作中使用。

    白皮书的作者们基于对行业的研究,建议从试验性 SOA 开始,解决具体的业务问题并定义清晰的业务和架构成功的准则。他们还建议要吸取经验和教训,并在开展下一个 SOA 项目之前把学到的经验教训传授给企业的其他人员。

  • 要有远见,即便从很小的 SOA 开始,追求长期的 SOA 远景也是非常重要的。 > 今天构建的 SOA 的结果可能是面向某个特定服务消费者的耦合服务,可能是系统间两两互联的一些通道。此外,缺乏对将来或者不可知的使用的计划,SOA 可能无法满足将来的服务需求。因此,在 SOA 实施中,设计时应该考虑到将来可能的需求发展。SOA 的架设应该能支持扩容和扩展,既要包含 SOA 部署的范围的扩展也要包含需求的扩展。

    作者们认为,确保远见的主要步骤包含:服务管理(通过监控),由它提供管理目标是否被很好地实现的信息,它还辅助定位问题及解决问题;确保服务实 现的延伸性……包含基础设施,使能服务交互,可扩展部署及测试活动;创建合适的安全基础设施等。

  • SOA 的关键组件之一是治理的保障. > 对企业范围内的 SOA 采用中所必需的变更的成功实施需要政策和流程的参与,这主要都是受业务需求驱动的。企业对治理的保障对 SOA 项目的成功是至关重要的。

    白皮书中描述的治理的主要方面包括:架构——设立一个最低限度的约束集合来确保服务实施的一致性;基础设施——建立政策来确保基础设施平台(包 括消息传输,安全和其他工具服务)在所有项目中都是标准的;信息——定义数据所有权、建立依附于企业所选的数据标准的政策及方针、设立政策来保障 数据质量度量尺度的遵守等。服务编目——建立政策保证服务声明周期的一致性、策划业务及工具服务、确保开发服务时恰当地利用了现有的企业应用。

  • 设定投资回报预期, 基于行业研究,作者们指出: > ……尽管节约开支是采用 SOA 的主要动机之一……然而 SOA 采用的一个根本的挑战是,考虑到过高的学习曲线、技术技能和熟悉程度的缺失、成熟行 业标准的缺失、以及用户企业管理能力的缺失(比如,治理)等情况,如何决定投资 SOA 来制定整体的 SOA 实施。一个企业要施行 SOA 方法,就应该对需要进行多少投资以及投资回报有理性的预期。

    他们强调,与传统的基于应用实施相比,最初的 SOA 实施几乎总要更昂贵一些,而且成本的节约并不会在企业的每个部门发生。在他们看来,大部分成本节 约都是长期的,并且会反映在 SOA 提供的组织敏捷以及共享信息的能力上。此外,服务重用将带来维护成本的降低。

虽然白皮书相当高层,但是,它的确强调了大部分重要的 SOA 关注点。对于正在考虑进行 SOA 实施的人们,它可以的是一个很好的指引,对与 SOA 执行者 的,它可以作为一个提醒——SOA 不仅关心很酷的技术,还关心架构,业务和投资回报等。


查看英文原文: Emerging Industry SOA Best Practices

2010-03-13 08:402531
用户头像

发布了 184 篇内容, 共 80.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Swagger通过拦截器(Interceptor)配置默认请求头

为自己带盐

swagger 2月月更

11亿条数据压缩到12GB,TDengine在陕煤矿山项目的落地实践

TDengine

数据库 大数据 tdengine 开源 物联网

APICloud AVM框架列表组件list-view的使用、flex布局教程

YonBuilder低代码开发平台

前端开发 前端框架 APP开发 APICloud 跨端开发

云端开发在阿里的典型应用场景 | 阿里巴巴DevOps实践指南

阿里云云效

阿里云 云原生 云平台 研发工具 云端开发

react源码解析2.react的设计理念

buchila11

React React Hooks

字节、阿里等大厂的技术如何?看看这些Java程序员的自学笔记

进击的王小二

程序员 面试

效能时代,数栈专属DevOps跑出加速度

袋鼠云数栈

DevOps 智能运维

高性能系统开发的几个手段

漫游指南

性能优化

SAP 移动开发技术综述 | 社区征文

汪子熙

android 移动开发 cordova 新春征文 2月月更

Hive往表写入数据的八种方法

编程江湖

阿里巴巴移动技术 2021 年终盘点

阿里巴巴终端技术

ios android 客户端 移动应用开发 年终盘点

恒业资本江一:ToB长期主义不是经营无能的遮羞布

ToB行业头条

Web Components系列(三) —— 创建 Custom Elements

编程三昧

前端 组件化 2月月更 WebContents

有了堡垒机,运维工程师们不再是背锅侠啦!

行云管家

微信朋友圈高性能复杂度分析

王大胖

DDD[1]·区分系统与业务行为

陆乘风

领域驱动设计 领域驱动设计DDD 领域驱动

Spring Boot Serverless 实战系列 | 性能调优

Serverless Devs

springboot Java web 2月月更

构建制品不一致,后续工作都是白费 | 研发效能提升36计

阿里云云效

阿里云 云原生 持续交付 云平台 研发

15倍提升 & 40倍存储优化,TDengine在领益智造的实践

TDengine

数据库 大数据 tdengine 开源 物联网

做到这4点,才是真正的持续交付| 研发效能提升36计

阿里云云效

阿里云 云原生 持续交付 云平台 研发

ClickHouse 在UBA系统中的字典编码优化实践

字节跳动数据平台

大数据 字节跳动 Clickhouse 用户行为分析

C#中的数据字典Dictionary

Andy阿辉

C# 程序员 程序人生 2月日更

TiDB 在国信证券海量数据高并发场景中的实践

陈培新

TiDB

国内堡垒机品牌你给推荐哪款?我推荐行云管家!

行云管家

如何提升本地开发联调效率|阿里巴巴DevOps实践指南

阿里云云效

阿里云 DevOps 云原生 研发 本地开发

网络安全kali渗透学习 web渗透入门 Google搜索引擎的使用技巧

学神来啦

恒源云(GPUSHARE)_可构建AI的「AI」诞生?

恒源云

神经网络 深度学习

使用craco对cra项目进行构建优化

CRMEB

跨站脚本攻击xss利用-beef攻击-演示

喀拉峻

网络安全 XSS

我的云原生学习方法 | 社区征文

大菠萝

新春征文

无障碍读屏出错了

admin

小程序 性能优化 瀑布流 relations 无障碍

新兴的行业SOA的最佳实践_SOA_Boris Lublinsky_InfoQ精选文章