“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

评估面向服务架构

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

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

关注

评论

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

React源码分析(三):useState,useReducer

flyzz177

React

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

Triple 协议支持 Java 异常回传的设计与实现

阿里巴巴云原生

阿里云 云原生 dubbo

沙龙预告 | 1月11日举办数字化业务安全生产沙龙第2期

信通院IOMM数字化转型团队

数字化转型 IOMM 数字化业务安全生产

游戏行业(北区)客户沙龙丨阿里云用户组北京站

云布道师

阿里云

基于 Log 的通用增量 Checkpoint

Apache Flink

大数据 flink 实时计算

2023-01-05:konradkleine/docker-registry-frontend是registry的web界面工具之一。请问部署在k3s中,yaml如何写?

福大大架构师每日一题

云原生 k8s 福大大

一种简洁又不失优雅的工作流:极狐 flow

极狐GitLab

DevOps flow workflow 极狐GitLab 分支管理

TextView(文本框)详解

攻城狮Wayne

android UI TextView

私有部署V3.8:自建内部应用库和预置应用

明道云

React源码分析(二)渲染机制

flyzz177

React

百度百舸·AI 异构计算平台,加速自动驾驶模型迭代

Baidu AICLOUD

自动驾驶 模型训练 异构计算

【JavaScript】JavaScript(js)简单介绍

No8g攻城狮

JavaScript JavaScript4

模块3作业-学生管理系统的架构设计文档

陈实

「架构实战营」

【异常】Cause: java.sql.SQLException: Invalid value for getInt()

No8g攻城狮

sql Java、 javaWeb

阿里云网络解决方案架构师任江波:全球一张网,支撑游戏业务高效互联

云布道师

阿里云

2022年中国特色智能工厂领航制造业升级分析报告

易观分析

数字经济 智能工厂

要做好用户体验,一定要知道这些心理学效应!

产品海豚湾

心理学 产品经理 产品设计 用户体验 交互设计

PING命令解析

穿过生命散发芬芳

ping 1月月更

我们为什么一定要持有一枚 Smart Royal NFT?

EOSdreamer111

我们为什么一定要持有一枚 Smart Royal NFT?

鳄鱼视界

论坛预告 | 1月9日举办2023 ICT深度观察政企数字化转型分论坛

信通院IOMM数字化转型团队

数字化转型 IOMM ICT深度观察

fastposter v2.11.0 天花板级的海报生成器

物有本末

海报 海报生成器 海报编辑器 海报生成 海报小程序

干货!C4D的7个实用插件分享

Finovy Cloud

云渲染 C4D

【深入浅出Sentinel原理及实战】「框架整合专题」Sentinel服务框架对接Dubbo服务框架整合开发指南(4)

洛神灬殇

dubbo sentinel 1月日更 sentinel dashboard

架构实战营 - 模块 3- 作业

zealot0317

我们为什么一定要持有一枚 Smart Royal NFT?

股市老人

外包学生管理系统架构文档

Geek_e5f2e5

React源码分析1-jsx转换及React.createElement

flyzz177

React

SQL Studio:一款纯Web化SQL开发工具,关键是免安装还免费!

雨果

sql 数据库管理工具 SQL开发

模块三

GeekMLS

#架构训练营

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