NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

Sanic 是什么:扩展性和性能并存的Web框架

Apifox

Python 程序员 后端 异步编程 sanci

Java 命令行参数解析方式探索(三):Picocli

冰心的小屋

Java 命令行 console Parameter Picocli

向量数据库这杯“啤酒”与“泡沫”

脑极体

AI 向量数据库

使用Cloud Studio&Flutter完成全平台博客网站的搭建

坚果

flutter Cloud Studio

How to choose WIFI7 IPQ9554- WIFI6 IPQ8072? Who has the better performance?

wifi6-yiyi

5G wifi6 6G wiif7

快速玩转 Llama2!阿里云机器学习 PAI 推出最佳实践(三)——快速部署 WebUI

阿里云大数据AI技术

人工智能

Unleashing the Power of WiFi 7: A 320MHz Channel Bandwidth-Double the Width, Double the possibility

wallyslilly

零代码,使用 Dify 两分钟接入企业微信 AI 机器人

Dify

开源 AI LLMOps

AIRIOT可视化组态引擎如何应用于物联业务场景中

AIRIOT

Linux系统MySQL数据库性能优化详细教程。

百度搜索:蓝易云

MySQL 云计算 Linux 运维 云服务器

新功能 – Cloud WAN:托管 WAN 服务

亚马逊云科技 (Amazon Web Services)

Amazon VPC

Linux系统PHP性能优化详细教程。

百度搜索:蓝易云

php 云计算 Linux 运维 云服务器

面试还不懂Redis与MySQL数据一致性,看这篇就够了

程序员小毕

Java 数据库 程序员 面试 架构师

线程池中多余的线程是如何回收的?

java易二三

Java 编程 程序员 面试 计算机

桂林等级保护测评机构有几家?有哪些?哪里可以查到?

行云管家

等级保护 等保测评 桂林 桂林广西

从零构建医疗领域知识图谱的KBQA问答系统

汀丶人工智能

人工智能 知识图谱 智能问答

基于新浪微博海量用户行为数据、博文数据数据分析:包括综合指数、移动指数、PC指数三个指数

汀丶人工智能

数据挖掘 机器学习 数据分析

c++实现哈希桶

智趣匠

看头部银行保险企业如何释放数智生产力|数智新金融论坛精彩回顾

Kyligence

数智化 Kyligence Copilot

Java break语句详解!

java易二三

Java 编程 计算机 break 循环

火山引擎DataLeap的Data Catalog系统公有云实践 (下)

字节跳动数据平台

数据库 数据中台 数据治理 数据安全 企业号 7 月 PK 榜

716作业

天天向上

前端服务化和小程序容器技术的应用

没有用户名丶

助力企业出海!TDengine Cloud 正式入驻 AWS Marketplace

爱倒腾的程序员

时序数据库

直播平台源码开发提高直播质量的关键:视频编码和解码技术

山东布谷科技

软件开发 直播 视频编解码 源码搭建 直播平台源码

用友推出基于 BIP3 的新一代 HOP 产品

用友BIP

医疗

Dify.AI:46,558 行代码,完全开源

Dify

开源 AI LLMOps

719作业

天天向上

Docker学习路线13:部署容器

小万哥

Java c++ Python Go Docker

Java零基础适合看的5本书!

java易二三

Java 编程 教学 新手入门

saas平台定义以及优点、特点简单介绍

行云管家

SaaS 平台

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