写点什么

新兴的行业 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:402976
用户头像

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

关注

评论

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

web前端培训学习需要掌握哪些 Linux 命令

@零度

前端开发

大数据培训关于数据采集面试问题分享

@零度

数据采集 面试问题 大数据开发

TiDB 查询优化及调优系列(一)TiDB 优化器简介

PingCAP

企业如何进行信息化

秋去冬来春未远

数字化 信息化管理 如何信息化 信息化规律

自己动手写Docker系列 -- 5.8实现容器制定环境变量运行

Go Docker 4月月更

专车数据层架构进化往事:好的架构是进化来的,不是设计来的

勇哥java实战分享

架构

华为云推出限量NFT云宝,区块链技术为你的数字资产保驾护航

华为云开发者联盟

华为云 NFT 云宝 华为云NFT 华为云数字资产链

半导体行业如何保持高效远程办公?因果集群(Causal Clustering)了解一下!

龙智—DevSecOps解决方案

远程办公 因果集群

去中心化钱包系统开发app,imtoken钱包平台搭建源码

Geek_56201b

#区块链# 源码搭建 去中心化钱包

新思科技助力Linux基金会开展最新开源普查项目

InfoQ_434670063458

Linux 开源 新思科技

交易所多种模式开发、各种源码交易

Geek_56201b

交易所开发 区块链应用开发 软件定制

低代码极简部署

源字节1号

低代码开发

共探开源生态|Apache Pulsar 社区助力 Apache APISIX Summit Asia 2022

Apache Pulsar

开源 架构 云原生 Apache Pulsar Apache Pulsar 社区

如何通过云效Codeup高效落地分支模式,提升开发协作率

阿里云云效

云计算 阿里云 版本管理 分支管理 分支模式

TypeScript基础学习

乌龟哥哥

4月月更

面试突击39:synchronized底层是如何实现的?

王磊

Java java面试

Atlassian应对CVE-2022-22963,CVE-2022-22965的常见问题

龙智—DevSecOps解决方案

Atlassian CVE-2022-22963 CVE-2022-22965

java培训:怎样才能写出一个优秀的对外接口

@零度

JAVA开发 对外接口

从Opentracing、OpenCensus 到 OpenTelemetry,看可观测数据标准演进史

阿里巴巴云原生

react源码解析11.生命周期调用顺序

buchila11

React

云风:不加班、不炫技,把复杂的问题简单化

博文视点Broadview

Jira 云产品宕机多日,业界热议上云如何保障数据安全

万事ONES

Atlassian Jira 研发管理工具 项目管理工具 企业研发管理

Android C++系列:C++最佳实践2抽象类

轻口味

c++ android 4月月更

Docker 实战教程之从入门到提高 (四)

汪子熙

Docker 容器 虚拟化 docker image 4月月更

得物App H5秒开优化实战

得物技术

前端 H5 优化 实战 Web H5

Linux驱动开发-编写W25Q64(Flash)驱动

DS小龙哥

4月月更

周日直播|OpenMLDB Pulsar Connector,高效打通实时数据到特征工程

Apache Pulsar

开源 架构 云原生 Apache Pulsar 消息中间件

react源码解析12.状态更新流程

buchila11

React

EventBridge 特性介绍|以 IaC 的方式使用 EventBridge

阿里巴巴云原生

通过质量内建,提高交付质量

老张

软件测试 质量内建 交付质量

如何在Unity中免费制作游戏

龙智—DevSecOps解决方案

Unity Perforce Helix Core

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