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

发布于:2009 年 12 月 16 日 05:14

资深架构师 杨波,正在以案例项目驱动,原理+编程技术+工具结合落地微服务和云原生架构,立即查看 >>

现今大多数的 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

阅读数:1447 发布于:2009 年 12 月 16 日 05:14

更多 SOA、设计模式、DevOps 相关课程,可下载【 极客时间 】App 免费领取 >

评论

发布
暂无评论
  • 文章: 在 SOA 中整合企业数据

    Boris Lublinsky指出了在SOA实现中企业数据整合的重要性,以及需要解决的数据存取问题。给出了三种旨在使SOA实现支持企业数据的设计模式,并且分析了它们的优缺点。

    2008 年 2 月 4 日

  • JBoss Enterprise SOA Platform 4.3 和 JBoss Operations Network 2.1 发布了

    2008 年 10 月 19 日

  • 数据库即服务是个坏主意吗?

    数据管理代表云平台主要的战略资产,因为最流行的数据服务很可能会占有最大的平台市场份额。在本周的一个帖子里,Arnon Rotem-gal-Oz认为“数据库即服务”是个坏主意。你会将你的企业数据托管到DaaS吗?

    2008 年 8 月 25 日

  • 可扩展架构案例(一):电商平台架构是如何演变的?

    这一讲,我会针对最近十几年电商平台的架构变化过程,具体说明为了支持业务的快速发展,架构是如何一步步演进的。

    2020 年 2 月 28 日

  • ESB 综述 2:ESB 使用案例

    这是Info探讨企业服务总线(ESB)系列的第二部分。本文的焦点是公司部署这个技术要求的使用案例,如协议桥接、安全仲裁和服务虚拟化。本文参考了分析师的评说、调查研究结果以及本系列第一部分的评论。

    2007 年 6 月 25 日

  • 传统的可扩展架构模式:分层架构和 SOA

    为了帮助你在实践中更好的进行可扩展架构设计,我将分别介绍几种可扩展架构模式,指出每种架构模式的关键点和优缺点。

    2018 年 7 月 12 日

  • SOA 与云计算有多大关联?

    在最近的ebizQ的云QCamp大会上有一个分会场讨论了云计算的当前状态以及它与SOA之间的关系等话题。与会成员达成的共识是云能够加强SOA所承诺的那些优势,并促使其为业务提供更坚实的基础。

    2009 年 9 月 4 日

  • 盘点可供中小企业参考的商业大数据平台

    对中小企业,拿一个开源的软件搭建大数据平台,无论人才储备还是服务器成本,似乎都难以承受。所幸,还有商业大数据平台可选择。

    2019 年 1 月 3 日

  • 第 194 讲 | 刘俊强:2019 年云计算趋势对技术人员的影响

    学会有条理的梳理工作、对数据安全敏感、持续学习等良好的工作习惯,相信面对云计算带来的挑战也将游刃有余。

    2019 年 3 月 27 日

  • OMG 发布 SoaML 草案

    OMG发布了SoaML草案,它是针对于服务的UML Profile和元模型规范。SoaML(建模语言)是对UML 2的一个标准扩展,其目的是为了简化服务的建模。

    2009 年 1 月 16 日