PCon全球产品创新大会即将开幕,抢占最后的交流席位! 了解详情
写点什么

面向数据是面向服务的基石

  • 2009 年 12 月 16 日
  • 本文字数:1443 字

    阅读完需:约 5 分钟

现今大多数的 SOA 文献与实现都专注于定义业务对齐的服务,而很少讨论企业数据在 SOA 环境中扮演的角色与产生的影响。 David Linthicum 如是说:

那些投向 SOA 的人们看似对于 SOA 中数据的使用颇为疑惑。虽然其中大部分将数据视为…其实,数据,在懂行的人看来,是 SOA 作为一个项目能够成功的战略部分,或者是说是整体性的架构战略。当所有的焦点都在 SOA 的“S”即服务上的时候,问题也就来了。那些负责构建架构与系统的人,往往只注意了将服务作为交付功能行为的主张,而忽视了管理底层数据的需要。在许多场合中,数据质量与一致性的问题很快就显现出来,而由于需要在底层数据的更改后直接修改服务,SOA 的灵活性也大打折扣。

David 关于数据集成作为 SOA 基础的重要性这一观点,在 Ash Parikh 最近的文章里得到了进一步的阐述。

越来越明显的是,任何面向服务的基础设施努力都必须从认真的研究数据集成开始…“数据集成”对于任何想要以速度与灵活性架构基础设施的人来说,都必须摆在首位。所以,如果你想将你的基础设施面向服务化,我建议你首先面向数据化。检查以下这五点以保证其根基满足相应的能力: - 方便地访问所有相关的数据,包括新的和经常更新的数据源。

  • 批处理或实时的处理数据,包括处理大容量的大数据集。
  • 预先辨认与解决数据不准确与不一致。
  • 对数据应用复杂的数据变换。
  • 在需要数据的时候能精确地交付数据,要作为一项基于标准的服务。

在他接下来的文章里,Ash 讨论了如何将面向服务的基础数据化的实用手段。他描述了几种规范的推荐纲要,为企业实现数据集成提供了整体的解决方案。

  • 由一个支持“标准化”访问所有企业数据源而无论其组织形式 (结构化,非结构化,等) 和访问方式 (SQL,APIs,Web 服务,等) 的数据集成平台开始。保证该平台的扩展性——快速加入新的数据源或者修改现有的数据源的能力。
  • 确保所选择的平台可以有效地支持任选数据处理的延迟,不管是批处理,类实时,还是变更数据获取及实时。
  • 理解不同的数据访问模式,包括大容量的小数据集,大容量的大数据集,庞大 (兆) 数据集等等。并且保证它们都能被所选择的数据平台所支持。在需要的时候要有相应的附加技术作为补充。
  • 保证服务所消费和产生的数据在服务间的一致。许多数据平台能够提供集成的数据剖析,能够不考虑复杂性而预先地认定及修复问题。
  • 除了数据访问,一个数据平台通常还提供一个集中式的数据转换场所。如果是简单的格式转换,任一现代的数据集成平台都可以支持。然而,如果有复杂转换的需求,例如聚合,连接,查找,结构转换等等,你也许就需要更为 先进的平台。
  • 一个数据集成平台通常需要支持服务实现要求的多种访问机制,包括基于 SQL 的访问,Web 及 REST 服务,等等。
  • 一个数据集成平台需要将服务实现与底层数据源分隔开。实际上,它需要引入一个抽象层,以允许数据层的更改而不影响服务实现或将这种影响降到最低。

总的来说,一个数据平台

…需要是一个单一的,能够交付这里列出的所有功能的集成平台。这是有道理的,因为所有这些推荐都是从时间和节省成本的角度考虑的。如果每一项功能都需要使用一项单独的技术,那么就违背了使用面向服务方案的初衷,即通过简洁性与灵活性以保持系统的机动能力…[这一] 平台必须支持并驱动数据集成逻辑的重用。

随着 SOA 实现的范围从有限的部门解决方案延伸到企业级的实施,企业数据访问的问题很快就成为了实施过程中最重要的问题之一。如果不能一开始就正确地进行构架,企业数据访问将成为实施道路上的一个拦路虎。

查看英文原文: Service Orientation Requires Data Orientation

2009 年 12 月 16 日 05:141786
用户头像

发布了 133 篇内容, 共 29.2 次阅读, 收获喜欢 1 次。

关注

评论

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

C4C Cloud Application Studio做ABSL开发的一些性能方面的最佳实践

Jerry Wang

Cloud CRM SAP C4C

一个查看 SAP UI5 控件所有公有方法的小技巧

Jerry Wang

JavaScript SAP SAP UI5

架构实战营作业4

大肚皮狒狒

美团二面:Redis与MySQL双写一致性如何保证?

捡田螺的小男孩

数据库 面试 一致性 缓存;

千万级学生管理系统的考试试卷存储方案

颜培攀

架构实战营

HBase常见问题

数据社

大数据 HBase 5月日更

SAP Fiori Launchpad Tile点击后跳转的调试技巧

Jerry Wang

JavaScript SAP Fiori SAP UI5

python-运算函数-sum

Geek_6370d5

如何在SAP CRM WebClient UI里创建HANA Live Report

Jerry Wang

CRM SAP WebClient UI

如何将BSP应用配置成Fiori Launchpad上的一个tile

Jerry Wang

SAP abap Fiori SAP UI5 bsp

SAP 不同 ABAP 系统里同一 Customizing activity 的显示差异分析

Jerry Wang

CRM SAP ERP abap 定制化

另一种方式实现事务码SE16里的结果集修改

Jerry Wang

JavaScript SAP Fiori

使用DOM Breakpoints找到修改属性的Javascript代码

Jerry Wang

JavaScript html chrome

让秋招飞,Java岗高频面试题盘点,站着就把offer给拿了

北游学Java

Java 面试 秋招

找出 SAP OData service出错根源的小技巧

Jerry Wang

SAP Fiori SAP UI5 OData

到底哪种类型的错误信息会阻止business transaction的保存

Jerry Wang

CRM SAP abap

Spring cloud 之多种方式限流

Damon

spring-cloud 5月日更

数据科学指南#基础篇 Matplotlib 入门

Lev

Python 数据科学 matplotlib data-science

Inner Join, Left Outer Join和Association的区别

Jerry Wang

SAP abap ST05

Authorization object在哪些ABAP代码里使用到

Jerry Wang

CRM SAP abap Netweaver

SAP CDS view注解解析 - @Environment.systemField

Jerry Wang

SAP abap

Java Elasticsearch 使用

Java elasticsearch

模块四-千万级学生管理系统试卷存储方案

华仔架构训练营

SAP Fiori 应用 Footerbar 区域按钮的高亮显示逻辑

Jerry Wang

JavaScript SAP Fiori SAP UI5

架构师实战营:模块四 千万级学生管理系统的考试试卷存储方案

ifc177

#架构实战营

架构实战营 模块四:课后作业

👈

架构实战营

架构实战营 模块四:学习总结

👈

架构实战营

【架构实战营】第 4 模块作业

swordman

架构实战营

利用Chrome的Heap Snapshot功能分析一个时间段内的内存占用率

Jerry Wang

JavaScript chrome

学生考试系统存储设计

王硕

架构训练营

Kafka-详细笔记

ninetyhe

分布式 高并发系统设计 消息系统 Kafk

面向数据是面向服务的基石_SOA_Boris Lublinsky_InfoQ精选文章