SOA中的数据之将数据转换成信息(一)

当前位置:数据服务 > 数据服务文档   发表日期:2010年8月9日

数据和数据管理是几乎所有企业软件解决方案的关键因素。SOA也不例外。有效的数据建模和管理是成功实现SOA的基础。要将数据提高一个层次,需要把数据转换成信息;要将信息提高一个层次,需要把信息转换成知识。

本文通过SOA参考架构(SOA RA)的定义介绍了在SOA中从数据到信息的转换方法,它构成了完整SOA转换方案的一部分,并且还讲述了一个企业SOA的实现。这个系列的第二部分描述了在SOA中从信息到知识的转换方法,这是对完整SOA转换方案的一个扩展,并且还描述了一个企业SOA RA的很有价值的扩充。

为什么使用数据?

数据是普遍存在的(data是复数;datum是单数,尽管“data”能够同时使用单数和复数)。大部分 IT工作的核心就是收集、分发和管理数据,并且当需要数据的时候、在需要数据的地方、以要求的方式为需要数据的人(拥有正确的权限)提供数据。有些人可能会想起在IT(“信息技术”)这一术语出现之前,多数的企业把他们的“计算机部门”及其工作称为DP或“数据处理”。

在过去、现在和可预见的将来,数据是所有技术浪潮中一个不变的常量。同样的数据,过去由(很可能仍然是)大型机处理,现在也很可能已经由一个或多个的客户机-服务器、CORBA/DCOM、 Java EE、.NET、 Web services、SOA和Web 2.0来完成。随着时间的流逝,数据的存储、格式和传输可能已经改变,数据的处理方式可能已经改变,但是“数据”依然保留(而且还在增加)。其实,所有工业技术浪潮有着一个相同点:它们都是新的或者改良的数据处理方法。数据就是基础。如果您您也认为数据是企业解决方案的基础,则由此得出结论:数据(以及数据建模/管理)也是SOA(与Web 2.0)的企业架构需要优先考虑的事情。

数据是什么?

让我们先看一下字典中“数据”的定义,然后对其进行补充。就本文而言,数据是基本的、最小的,或者拥有一些结构、关系和状态的“信息”片断的底层集合,但不包括行为。例如,一个包含街道地址、城市等数据列的地址表是数据。就像一个用户表中的地址定义。数据是结构和状态,但没有行为。数据是构成信息的原始的构建材料。数据是信息的前提。

信息是什么?

让我们再看一下信息的定义,然后对其进行补充。就本文而言,信息是数据的集合,是提供附加的形式、基本关系、语法和语义上下文的基本逻辑——也就是说,它是状态和核心模型行为。例如,确保ZIP码有效并与城市一致。信息是数据的扩展,它向和域(语法和语义)上下文一致的行为模型提供映射或关联数据、定义逻辑的能力。信息基于数据,需要数据。换句话说,信息表示封装了状态(数据)和行为(逻辑)的实体(主体,对象)。可以认为信息类似于面向对象编程中的模型类的实例,这个实例包含用于保持状态的数据成员(实例变量)和提供(模型)行为的方法。

SOA中数据的价值

各种组织对于定义和细化自身SOA参考架构(SOA RA)有着不同的动机、出发点和优先次序,向SOA转换时可能会发生变化。规划设计SOA RA的完整方法应该包括数据服务(data services)层。本文采用数据服务层这一术语包含数据和信息访问服务。

如果在SOA RA中没有企业数据服务层,则其后的业务项目将被迫开发成特定于每一个应用程序的专用“点”或者一次性解决方案。几乎没有通用性,几乎没有共享的服务定义、重用和一致性,规范的数据模型的定义也会变得难懂。如果认识到SOA的优点,则会逐渐认识到它的众多优势。我们很可能都看到过这样的统计信息:企业应用程序软件开发的50%到80%的项目资源消耗在数据集成任务上。这一“事实”应该足以确定在任何SOA实现中数据服务层是必不可少的一部分。企业软件解决方案的主要设计目标是数据处理,结合这一概念, SOA 中数据的价值应该非常明显。

图1展示了BEA的SOA参考架构较高层次上的概念,它说明了位于上面的几个层。注意,数据服务层位于第一个区域,这表明它在SOA RA中的重要性。

SOA参考架构的层次
图1:SOA参考架构的层次

数据、数据模型和数据管理是SOA成功的基础。实际上,BEA对数据服务如此高度地重视,以至于我们不仅提供 AquaLogic Data Services Platform 产品,还把数据服务当作许多 BEA Consulting 服务产品的基础,其中包括一个Data Services Consulting Service,该服务着重于SOA数据和信息层的规划、设计和开发。

关于数据访问和连通性服务的注释

访问数据资源的数据访问服务通常被总称为企业信息系统(EIS),也叫数据库和文件系统。它们可以是遗留系统、记录系统,包装好的商业应用程序、用户、伙伴、第三方应用程序和服务,以及Web services。它们的共同之处是向其他应用程序提供数据和/或信息(在本文中的意思是行为)。因此,这些应用程序在通过数据访问层被访问时就是数据的另一种形式或另一个数据源。在一个更高的抽象层上,数据服务与消费应用程序看上去一样,这是SOA RA的数据服务层的主要目标(标准化/一致性)之一。公开的接口与一个或多个数据库、表、后台、遗留系统、快速收缩的系统和/或外部系统交互,这是数据服务层封装的一个实现细节。

连通性服务以基于标准的方式将应用程序和数据库公开为应用程序服务。

将数据转换成信息

假设您的组织正计划向 SOA转换。 SOA RA的所有层和所有方面(见图1)的研究和规划已经开始,您的任务是数据服务层的实现。现在该怎么办?想想下面的几个步骤:

1.盘点现有的数据和系统访问资源

2.确定依赖关系矩阵

3.建立基线度量/SLA

4.设置资源优先级

5.执行数据建模

6.创建逻辑建模

7.设置信息规则

8.建立应用程序规范

图2是SOA RA数据服务的一组可能的内部抽象层示例,这里将采用我们的9个步骤来映射这些需求和性能。

数据服务层——内部层抽象
图2:数据服务层——内部层抽象

SOA中的数据之将数据转换成信息(二)

站点新闻
数据服务文档
互联网资讯