写点什么

评估面向服务架构

  • 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:47893
用户头像

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

关注

评论

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

面试半年,总结了1000道2023年Java架构师岗面试题

小小怪下士

Java 程序员 面试 后端

一文教你轻松创建数字孪生实例——实践类

阿里云AIoT

阿里云 物联网 IoT

顶会论文 | 阿里云视频摘要SOTA模型:用于视频摘要的多层时空网络

阿里技术

人工智能

工业元宇宙:智能制造的未来形态

Openlab_cosmoplat

开源 工业 制造 区块链、 元宇宙

一起玩转开源数据库!OceanBase DevCon 之开源生态全景解析

OceanBase 数据库

数据库 oceanbase

“数字经济新引擎”筑牢中国智造基石

Openlab_cosmoplat

开源 物联网 数字化转型 工业 制造

Apache Flink 入选 2022 年“科创中国”开源创新榜

Apache Flink

大数据 flink 实时计算

如何在阿里云上快速实现企业实例一键迁移——实践类

阿里云AIoT

阿里云 物联网 IoT

IoT设备模拟器小程序使用手册——实践类

阿里云AIoT

小程序 开发者 监控 物联网 传感器

Chrome插件:阿里云IoT设备证书三元组转化生成二维码——实践类

阿里云AIoT

小程序 开发者 物联网 Web App开发

分析视角下银行业数据平台架构演进及实现

酷克数据HashData

数据合规可信计划暨国内首个数据合规标准发布!易观作为标准起草单位应邀参加

易观分析

数据 数字化 信息化

微服务架构与小程序容器的结合:多领域应用的利器

FinFish

小程序 微服务架构 小程序容器 小程序化

云原生架构如何落地实践

Onegun

微服务 云原生 小程序容器

点维文化宣布通过百度智能云接入文心一言

Geek_2d6073

IoT物联网平台:网关与子设备开发实战——实践类

阿里云AIoT

Java 物联网 开发工具

LeetCode题解:2363. 合并相似的物品,双指针,详细注释

Lee Chen

JavaScript LeetCode

LeetCode题解:2363. 合并相似的物品,哈希表,详细注释

Lee Chen

JavaScript LeetCode

云原生是什么?核心概念和应用方法解析

FinFish

小程序 云原生 小程序容器 小程序化 小程序技术

架构实战营10期-作业8

炮仗

易观:商业银行持续发力趣味营销活动,助力提升手机银行用户活跃度

易观分析

数字化 经济 手机银行

IoT平台云端通用数据解析脚本实践——实践类

阿里云AIoT

小程序 监控 物联网 存储 数据采集

在线文本翻译能力新增14个直译模型,打造以中文为轴心语言的翻译系统

HarmonyOS SDK

今天,我想去一个平行世界

阿里云CloudImagine

云计算 云渲染

索信达董事长吴辅世:忆Teradata中国创业岁月,看未来数据精神永流传

索信达控股

企业级应用建设之道:高代码+低代码开发

力软低代码开发平台

今天 4 点,龙蜥自动化运维平台SysOM 2.0的诊断中心功能介绍 | 第 66-68 期

OpenAnolis小助手

开源 系统运维 龙蜥大讲堂 SysOM 诊断

[译]Java web 应用和虚拟线程

followtry

Java spring 虚拟线程 loom

混合式App开发模式下的热更新技术方案,你知道多少?

没有用户名丶

小程序容器

IoT物联网平台20条实用手册——实践类

阿里云AIoT

监控 物联网 消息中间件 数据格式 网络性能优化

FLstudio2023水果编曲软件下载及中文语言切换教程

茶色酒

FLstudio2023

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