写点什么

企业数据管理是 SOA/BPM 硬币的第三面吗?

2008 年 7 月 02 日

上周,EDS 名士及 SOA 老将 Fred Cummins 写了一篇名为《SOA 中的数据管理(Data Management for SOA)》的短文。他在文中探讨了,在获得重用及支持变化的环境下,服务设计的某些关键原则(“松耦合”和“自治”)与企业数据的关联之道。

尽管 Fred 承认这些原则是交付 SOA 价值的关键:

SOA 的价值来自在多种业务背景下集成服务的能力,以及在对业务进行优化和适应的同时尽量不影响用户。

但是他还写道:

但是,这种解耦和自治与共享数据库的使用格格不入。

几十年来,那些关注数据管理的人,在紧耦合意味着更好的效率和一致性的哲学下,驱使行业不断合并数据库。

那些数据大师一直都反对让企业数据管理接受 SOA 的松耦合。

他指出, Jill Dyché推荐:

从主数据着手进行 SOA。这听起来并不直观,因为 SOA 讨论的是如何将标准化的业务流程以服务方式交付,但是对于那些只是刚刚开始思考 SOA 的公司来说,“数据即服务”的概念实际上更可行。

以及 Dan Gardner 在“ SOA 和计算云标志着对数据的全面反思:按照角色和权限,而不是行和表”中观察到的:

大多数的企业数据不再被 IT 组织控制

但是 Fred 摒弃了这两种想法,他发现它们只刚刚与 SOA 沾点边。他主张:

在 SOA 中仍然必须重点关注的数据是,由那些代表企业过去、现在或未来状态的业务系统产生、消费和管理的数据。从一个业务角度看,关注点并不是分布式存储,而是数据验证、管理和保护的方式。

Fred 指出他同意 Steve Karlovitz 所说的:

作为所有企业数据存储的单一入口点,实现数据服务层的好处很多。 - 可以一种集中的方式来进行数据访问。

  • 各种业务规则将作为数据转换如何发生的参考。
  • 通过一个单一入口点,诸如优化和转换这样的问题可以被解决。
  • 确保数据的完整性和安全。
  • 组织将极大缩短将新特性推向市场的时间。

但是问题是,我们如何设计这个数据服务层?Fred 提出了 3 种不同的可能:

  1. 数据服务层是一个数据访问工具,通过所有应用都使用一个共享的数据库正规视图来实现对数据库访问的支持。类似一个对象 - 关系转换工具,
  2. 来自各种异构应用数据库的数据被复制和集成到拥有正规数据模式的单个企业数据库中,
  3. 通过将请求表达成在一个正规、虚拟的数据库上的查询来提供对异种数据库的访问。

方法 1 基本上是一个共享数据库概念。Fred 指出它基本上是不切实际的,因为:

许多服务将继续使用包含它们自己数据库的遗留或 COTS 系统,并且服务单元实现的异质性是 SOA 机动性的基础。

方法 2 利用了现在在企业数据管理和商业智能讨论组中很普遍的“操作性数据存储”概念。但是这里他还是看出了这里存在的问题:

来自异源数据的更新将会被延迟,因此取得完全的一致性视图可能仍然存在困难。被复制数据应该只被用于查询——管理更新将会很困难;主数据,“唯一的真相”仍然在源数据库中,而且必须被他们的拥有者控制。

方法 3 很好的与企业信息集成功能相对应。Fred 指出:

在几年前引入 EII 的时候,它并没有获得市场广泛地接受,但是借助 SOA,它的时代来临了。

但是,他建议:

尽管某些 EII 工具支持对异种数据库的更新,但是这些更新仍然应该受那些拥有那些数据库的服务单元的控制

这种论调与推荐沿对象生命周期构建服务接口相对应,同时也得到了, 这篇文章的回应。

Fred 总结说:

SOA 中的数据管理应该按照这些方法去完成:必需的企业逻辑数据模型、自治服务单元间数据的联邦和共享机制,以及定义职责、流程、主数据存储、更新延迟、同步策略和数据集成与保护责任制的数据管理规划。

人们常常说,BPM 和 SOA 是“一个硬币的两面”。但是 SOA 实现达到了一个新的成熟度级别,人们意识到,也需要考虑数据以及它们的关系的天性,可能甚至要比业务流程考虑还多。创建“验证、管理和保护”数据的服务并不容易,它要求对大多数 IT 组织来说相对而言比较新的一些技术和精确的方法论。尤其是,它将企业数据管理带到了面向服务架构的核心位置。最终,对象生命周期的概念似乎作为数据、服务和业务流程的统一概念浮现出来。

EDM 对你的服务设计重要吗?你正在利用逻辑数据模型吗?你采用哪种方法来创建数据服务?

查看英文原文 Is Enterprise Data Management the Third Face of the SOA/BPM Coin?

2008 年 7 月 02 日 07:10499
用户头像

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

关注

评论

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

博文推荐|多图详解 Apache Pulsar 消息存储模型

Apache Pulsar

大数据 开源 流计算 Apache Pulsar 消息系统

区块链技术,通证经济未来趋势,两者有什么关系?

CECBC区块链专委会

区块链

架构实战营 模块一作业

ercjul

架构实战营

Redis 6.0 多线程、客户端缓存、权限控制

escray

redis 极客时间 学习笔记 Redis 核心技术与实战 4月日更

作业1-20210406

Geek_b437fc

区块链技术解决信任问题

CECBC区块链专委会

信任 信任机制

复兴or幻象?VR的2021三重门

脑极体

跟着源码一起学:手把手教你用WebSocket打造Web端IM聊天

JackJiang

网络编程 websocket 即时通讯 IM

数据结构和算法

奈奈奈奈

数据结构与算法

架构实战营 - 模块01作业 - 微信业务架构和学生管理系统架构设计

架构实战营

vue接入腾讯实时音视频trtc-js-sdk的技术难点与解决方案

孙叫兽

Vue 音视频 解决方案 trtc-js-sdk

区块链技术引领新一轮技术变革浪潮

CECBC区块链专委会

模块一作业

鲲哥

编程好习惯之理清数据的可变性

顿晓

4月日更 不可变

业务架构训练营第 0 期模块一作业

菠萝吹雪—Code

学生管理系统架构

Fleng

架构实战营

架构实战营课程一作业

Saber

架构实战营

面试官

ES_her0

4月日更

H1 作业1

dwade

Vue中Echarts基本使用

Chalk

前端 eCharts 4月日更

Dubbo源码阅读-泛化调用实现原理

小江

dubbo RPC

模块一

^_^vincent

华仔架构设计-模块1作业

大师兄

架构实战营模块一 - 总结

凯迪

#架构实战营 模块一作业

薛定谔的指南针

架构实战营

你才不是只会理论的女同学-seata实践篇

你呀不牛

Java MySQL spring 事务 seata

赋值运算符

在即

四月日更

树莓派的组装与开机

Tango

IT蜗壳教学 四月日更

架构师实战营 模块一作业 微信业务架构图

好吃不贵

IO流

anuyyy

Java 4月日更 IO流

【Java试题】从一道题目再看Java继承

程序员架构进阶

Java 面试题总结 笔试 28天写作 四月日更

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

企业数据管理是SOA/BPM硬币的第三面吗?-InfoQ