2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

评估面向服务架构

  • 2007-10-21
  • 本文字数:1271 字

    阅读完需:约 4 分钟

Software Engineering Institute 发表了一篇新的论文,名为《 Evaluating a Service-Oriented Architecture 》。

在 SOA 生命周期的早期阶段进行的架构评估时,可以把这份报告作为一个基本的参考。SOA 的架构方式和设计考量,必须以组织的品质需求为依据来进行评估,从而有效地识别并权衡它们的风险和收益:

SOA 作为一种集成应用而暴露出服务的手段而兴起,给组织带来了很多新的挑战,会对组织的业务产生重大的风险。其中特别重要的一项风险是失于有效地应对品质需求,如性能、可用性(availability)、安全以及可修改性(modifiability)。由于 SOA 的风险和影响是分散并且渗透到各个应用中的,在软件生命周期中尽早实行架构评估非常关键。报告中提供了 SOA 的设计考量和代价权衡方面的技术信息,能帮助架构评估者及时、有效地识别并降低风险。报告对 SOA 进行了全局性的观察,勾勒出了各种主要的架构方式以及它们对品质各方面的影响。报告还组织了一整套问题,供架构评估者用来分析架构的能力是否满足品质需求,另外还提供了一个简略的评估示例。

论文以介绍 SOA 开篇,首先叙述了面向服务的各种原则及特征,并将 SOA 和 Web Service 定义为一种架构风格及多种可能的实现之一。介绍的最后讨论了 SOA 的推动力量。

报告的主要部分涵盖了 SOA 的架构方式和设计考量。架构方式分成通讯、集成、复合以及服务的绑定几个部分来讨论。按照作者的说法,服务的交互可以用三种不同方式来实现。三种 SOA 风格的区分因循了 Stefan Tilkov 在其博客上的提法: RPC 风格的 Web Services 、面向消息的 Web Services 和 REST 。集成及服务复合体可以直接由点对点的连接以及服务的复合来实现。另一种方式则是利用中介软件如 Enterprise Service Bus(ESB) BPEL 编制引擎。对架构方式的讨论还围绕了一个问题:服务应该通过一个服务注册表来动态绑定,还是在 proxy 代码或配置文件中定义服务端点来静态绑定。

架构的设计决策必须考虑品质需求或曰非功能性需求。典型的 SOA 设计决策包括以下主题:

  • 目标平台
  • 同步服务还是异步服务
  • 服务的粒度
  • 异常处理与故障恢复
  • 安全
  • XML 优化
  • 对注册表及服务的使用
  • 遗留系统集成
  • BPEL 与服务编制(orchestration)
  • 服务的版本化

论文中对以上每个主题都作了简要介绍,并从品质需求的角度进行了讨论。文中举例的评估问题有助于评估者判断在多种可能的设计中,哪一种最能有效地达到系统的需求。

报告以一个 SOA 架构评估的示例作结。该例子遵循 SEI 开发的 Architecture Tradeoff Analysis Method(ATAM)

SEI 的 Architecture Tradeoff Analysis Method®(ATAM®)是软件架构评估领域最先进的方法。一般情况下,采用 ATAM 方法的一项评估需要集合起一个受过训练的评估团队、架构师,以及各利益相关方的代表,共同花费 3 至 4 天来完成。ATAM 已获得证明的好处包括: - 澄清品质上的需求

  • 改善架构文档
  • 记录下架构决策的依据
  • 在生命周期的早期识别出风险
  • 增强利益相关方之间的联系

这份报告很好地总结了面向服务的环境中的架构方式以及设计决策,并展示了如何用 ATAM 来作为评估 SOA 的手段。

查看英文原文: Evaluating a Service-Oriented Architecture

2007-10-21 02:471314
用户头像

发布了 225 篇内容, 共 74.0 次阅读, 收获喜欢 53 次。

关注

评论

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

10 个 web 在线前端资源,优雅永不过时~

前端 网页设计 在线资源

为什么业务团队需要实施CRM系统?

低代码小观

CRM 客户关系管理 企业管理系统 CRM系统 客户关系管理系统

大数据培训Flink基础知识分享

@零度

flink 大数据开发

极光笔记 | DSP高并发应用实践

极光GPTBots-极光推送

后端 DSP

阿里、字节、美团的offer我都拿到了,全靠这份Java面试题

Java架构追梦

Java 程序员 java面试 后端开发

不面试别看!字节跳动2022年Java架构师岗面试题(试行版)发布

Java架构追梦

Java 程序员 java面试 后端开发

新思科技连续六年获评Gartner魔力象限领导者殊荣

InfoQ_434670063458

新思科技 应用安全 Gartner

【IT运维】如何又快又好的进行数据备份?

行云管家

运维 快照 数据备份 IT运维 行云管家

英特尔宋继强:以智能推动“科技+艺术”融合创新

科技新消息

DeepMind爆发史:决定AI高峰的“游戏玩家”|深度学习崛起十年

OneFlow

人工智能 深度学习 DeepMind AGI

web前端培训Vue3 setup() 启动函数的原理

@零度

前端开发 Vue3

基于Elasticsearch生长的SREWorks数据化运维体系

阿里云大数据AI技术

分布式 SRE 数据化运维

移动开发平台|助力企业安全高效搭建高质量移动应用

BeeWorks

PlatoFarm生态进展不断,通缩推动PLATO价值提升

西柚子

低代码之火,何以燎原?

BeeWorks

短短6小时,AI设计出40000种毒气分子,很多毒性远超战用神经毒剂

图灵教育

AI

不要再焦虑了,进大厂真的没你想象的那么困难

Java架构追梦

Java java面试 后端开发

等保2.0国家标准是什么?与等保1.0有啥变化?

行云管家

网络安全 等保 等级保护 等保2.0

java培训MySQL一次性插入多行数据的操作

@零度

Java MySQL

ArkUI框架又有哪些新增能力?

科技汇

《数字经济全景白皮书》数字零售篇 重磅发布!

易观分析

数字零售 数字购物

WorkPlus助力深i企打造移动数字化底座

BeeWorks

如何做好部门知识管理

小炮

作为一名iOS开发者—面对音视频这个新风口应该怎样学习才能乘风而起?

iOSer

ios 音视频 ios开发 OpenGL ES 音视频技术

OneFlow获得首届“全国颠覆性技术创新大赛”最高奖

OneFlow

深度学习 技术创新

Amazon Aurora 读写能力扩展之 ShardingSphere-JDBC 篇

亚马逊云科技 (Amazon Web Services)

Tech 专栏

头一次见这么牛的的SpringBoot从入门到实战文档

Java架构追梦

Java spring 程序员 后端开发

netty系列之:protobuf在UDP协议中的使用

程序那些事

Java Netty 程序那些事 4月月更

小微企业如何在10分钟内实现持续交付

阿里云云效

云计算 阿里云 研发管理 持续交付 研发团队

零基础学Java第一节(语法格式、数据类型)

五分钟学大数据

Java 4月月更

阿里云弹性计算对视觉计算的思考与实践

阿里云弹性计算

Metaverse 视觉计算

评估面向服务架构_SOA_Hartmut Wilms_InfoQ精选文章