写点什么

重访 SOA 治理

  • 2008-06-05
  • 本文字数:1617 字

    阅读完需:约 5 分钟

尽管 SOA 项目实施呈增长趋势,但是多数项目依旧在走向失败。事情常常变得如此糟糕——最近有篇文章的名字非常贴切《SOA,还是DOA》,其中DOA 代表“死亡之旅(Dead on Arrival)”。改善这种状况的办法之一就是正确地实施 SOA 治理

Rescent Muhammed Yaseen Muriankara 的文章—— SOA 治理框架和解决方案架构——定义了治理的 3 个基本层次。企业治理是:

建立权利下放的责任、授权和沟通链路;建立使人们能履行他们角色和职责的度量、策略和控制机制。

企业治理的子集是 IT 治理

与组织的信息技术处理和那些处理支持业务目标的方式相关的治理方面。

最后,SOA 治理被定义为:

一种规范化的 IT 治理,在服务组件、服务和业务过程生命周期的上下文中放置关键 IT 治理决策。SOA 治理的关键目标就是对这种生命周期进行有效地管理。

该文给出了 IBM 实施 SOA 治理的方法论和模型——SOA 治理和管理方法(SOA Governance and Management Method,SGMM)。该方法论使用 IBM Rational® Method Composer 进行文档化,该工具已提供了下载。

SGMM 围绕服务生命周期进行构建,涵盖以下内容:

服务定义

SOA 治理的最基本方面,负责服务的创建。必须识别服务、描述它们的功能、界定它们的行为和设计它们的接口。

服务测试

SOA 增加了测试单个功能的机会,也提高了对它按意图工作的预期。但是,SOA 还引入了重新测试相同功能的机会,该过程不断地被每个不信任其使用服务的新消费者重复。同时,由于组合应用共享服务,单个有问题的服务会对一组貌似无关的应用产生负面影响,放大了那些编程错误的结果。

服务部署生命周期

服务并不是瞬间出现,然后就永远存在。与任何软件类似,它们需要被规划、设计、实现、部署、维护和最终退役。应用生命周期可以被公开并影响组织的很多部分,但是服务的生命周期影响更大,因为多个应用会依赖于一个服务。

服务版本控制

服务版本控制可以让那些对现有服务满意的用户无需修改继续使用服务,同时允许服务为满足新需求进行演化。当前的服务接口和行为被作为一个版本保留,同时更新的服务被作为另一个版本而引入。

服务归属

一个服务应该反映它的业务。通常这意味着改变服务以适应业务,但是在某些情况下,可能需要改变业务以适应服务。当无法这样做时,多个部门间需要增加合作层级以分担开发公共服务的担子。实际上,这个合作团体可由跨组织的常务委员会组成,它拥有服务并管理它们。

服务安全

SOA 创建了易于重用的服务,即使是那些本不该使用它们的消费者亦可轻易地重用它们。即便在授权用户中,也不是所有用户应该访问服务存取的全部数据。就保密性、完整性和不可否认性来说,一些服务消费者比相同服务的其他消费者有更高的要求。

服务监控

一个组合应用可以同时消费多个服务,它的可靠性与它依赖服务的可靠性相当。因为多个组合应用可以共享一个服务,单个服务的失效会影响多个应用。为了描述消费者可依赖的可靠性和效率,必须定义 SLA。为了确保服务提供者满足它们定义的 SLA,必须对服务提供者进行监控。

本文不仅仅只描述了 SOA 治理方法论,而且还介绍了一组支持和(至少是部分的)自动化大多数治理过程的工具(治理平台)。

启动一个项目必需的最小自动化能力包括: 2. 一个集中的注册中心和仓库,用来寻找和发布服务相关部件和元数据。以下功能必须依赖它:

  • 寻找合适的经授权的服务。
  • 避免重复劳动。
  • 鼓励重用。
  • 识别服务在 SOA 生命周期内的现状。
  • 给服务的订阅者提供可视化能力。
  • 寻找相关服务和服务变更的影响。
  • 通知服务变更完成。
  1. 一种为服务关联和强制可应用策略的机制。这些策略使用治理框架进行定义。
  2. 一种可定制的生命周期感知系统,在生命周期内阶段变更时触发验证,以便使一个阶段一个阶段的治理验证可自动化。
  3. 理想情况下,注册中心应该是被 SOA 运行时优化的,这样就可在运行时通过动态路由来丰富注册中心中存放的元数据。

文章本身和其后的参考列表对于涉足 SOA 实施(尤其是 SOA 治理)的每一个人来说都是一份非常好的阅读材料。

查看英文原文 SOA Governance Revisited

2008-06-05 06:05796
用户头像

发布了 255 篇内容, 共 56.6 次阅读, 收获喜欢 10 次。

关注

评论

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

模块一作业

陈实

「架构实战营」

关于K8s中资源服务质量管理Resource Qos的一些笔记

山河已无恙

12月月更

鱼传科技:函数计算,只要用上就会觉得香

Serverless Devs

深度分析React源码中的合成事件

goClient1992

React

天天预约 | 2022年11月产品更新

天天预约

小程序 SaaS 软件系统 产品分析 预约工具

技术分享| anyRTC音视频与微信小程序互通实践

anyRTC开发者

小程序 音视频 WebRTC RTMP 视频格式转换

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

函数计算平稳助力鱼传科技应对访问量激增

Serverless Devs

从recat源码角度看setState流程

flyzz177

React

从react源码看hooks的原理

flyzz177

React

react的useState源码分析

flyzz177

React

CleanMyMac X2023永久版下载教程及使用许可证

茶色酒

CleanMyMac X CleanMyMac X2023

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

AngularJS进阶(二十八)解决AngualrJS页面刷新导致异常显示问题

No Silver Bullet

页面刷新 AngularJS 12月月更

基于Lattice的干净架构实践

原力在线

中台 构架 lattice 高可扩展 干净的架构

干货 | 如何快速实现BitSail Connector?

字节跳动数据平台

开源 数据引擎 12 月 PK 榜

WALLYS/dr6018 vs dr6018s/ipq6018/ipq6010/ipq6000/SFP/ OpenWRT 2x2 2.4G&5G industrial wifi6 moudle

wallysSK

IPQ6010 ipq6018 IPQ6000

双机双工是什么意思?与双机热备有什么区别?

行云管家

双机热备 双机双工

APISIX 在君润人力云原生平台的架构实践

API7.ai 技术团队

Apache Kubernetes api 网关 APISIX 用户案例

meta force佛萨奇2.0系统开发技术方案详解

开发微hkkf5566

EPSS 解读:与 CVSS 相比,孰美?

SEAL安全

12 月 PK 榜 CVSS EPSS 评分系统

可观测性项目对 uprobe 的需求理解与实现

KINDLING

Linux 可观测性 ebpf uprobe

工作中常用的设计模式--适配器模式

lpe234

后端 设计模式 适配器模式 spring-boot

Node.js 基于区块链的游戏应用的首选

devpoint

JavaScript node.js 区块链 12月月更

AngularJS进阶(二十七)实现二维码信息的集成思路

No Silver Bullet

二维码 AngularJS 12月月更

VoneBaaS荣获第二届中国可信区块链安全攻防大赛优秀案例奖

旺链科技

区块链 产业区块链 VoneBaaS 12 月 PK 榜

MySQL遵循最左前缀匹配原则!面试官:回去等通知吧

架构师之道

MySQL java面试

React-Hooks源码深度解读

goClient1992

React

Zebec联合Visa推出实体借记卡持续利好生态,生态通证$ZBC表现强劲

西柚子

看透react源码之感受react的进化

goClient1992

React

百度前端二面常考面试题

loveX001

JavaScript

重访SOA治理_SOA_Boris Lublinsky_InfoQ精选文章