AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

KgCaptcha验证码实现笔记

宙哈哈

Python html 验证码

三点几嚟,饮茶先啦!PaddleSpeech发布全流程粤语语音合成

飞桨PaddlePaddle

人工智能 机器学习 深度学习 语音识别

北京国家会计学院副教授王亚星:智能会计和价值财务有力支撑企业高质量发展

用友BIP

最强嘴替:新任技术管理者如何快速成长,完成转型逆袭?

LigaAI

技术管理 管理者 逆袭 技术人成长 企业号 4 月 PK 榜

数智时代的来临,养老行业接入人工智能技术已是势不可挡

加入高科技仿生人

人工智能 AI 养老服务 养老

2023 年“和鲸杯”辽宁省普通高等学校本科大学生计算机设计竞赛启动会顺利召开

ModelWhale

大数据 人才培养 数据科学 数据思维 数据竞赛

教你如何通过CodeArts IDE插件调用API,高效合成语音

华为云开发者联盟

云计算 开发 华为云 华为云开发者联盟 企业号 4 月 PK 榜

硬核!GitHub置顶102W字Redis高手心法笔记

做梦都在改BUG

Java 数据库 redis 缓存 面试

开源轻量级 IM 框架 MobileIMSDK 的微信小程序端已发布!

JackJiang

网络编程 IM 即时通讯IM

〖产品思维训练白宝书 - 认知篇②〗- 破局高手都具备的一种底层认知就是产品思维

哈哥撩编程

#产品思维

2023 - Dubbo 谷歌编程之夏报名启动了!

阿里巴巴云原生

阿里云 云原生 dubbo

PHP短信验证码防刷方案

宙哈哈

php html 图片验证码

华为云GaussDB践行数字化,护航证券保险高质量发展

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

2023企业上云暨算云融合产业大会在京召开

中国IDC圈

算力 可信云

【送猫超卡、阿里云代金券】动手体验 SAE+云效 10 分钟快速打通 CI/CD 流水线

阿里巴巴云原生

阿里云 Serverless 云原生

华大北斗高精度芯片助力上汽名爵MG7智能驾驶

江湖老铁

软件测试/测试开发丨Docker 搭建Web服务器nginx

测试人

nginx Docker 软件测试 自动化测试 测试开发

统一观测丨使用 Prometheus 监控 Nginx Ingress 网关最佳实践

阿里巴巴云原生

阿里云 云原生 Prometheus

网站上的视频资源被偷偷转载了...

为自己带盐

知识产权 ffmpeg HLS openssl

架构训练营模块一作业

请叫我馒头哥丶

架构 架构实战营

强强携手促发展 中建信息成为麒麟软件全国总经销商

极客天地

KgCaptcha验证的那些事

宙哈哈

php Python html 验证码

LeaRun低代码开发平台 赋能企业快速落地BI大屏

力软低代码开发平台

# 架构实战营-模块1-作业

Geek_e948d4

没有设计师?没问题!Spring+OpenAI让你也能生成漂亮的图片!

Java你猿哥

Java spring maven API

看我如何用定值 Cookie 实现反爬

华为云开发者联盟

爬虫 开发 华为云 华为云开发者联盟 企业号 4 月 PK 榜

CANN训练:模型推理时数据预处理方法及归一化参数计算

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 4 月 PK 榜

ES和MongoDB:一次别开生面的比较

Java你猿哥

数据库 mongodb elasticsearch ES API

喜讯!华秋电子荣获深圳市半导体行业协会优秀合作奖

华秋电子

聊聊接口文档的事儿

京茶吉鹿

接口文档 Knife4j swagger2

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