了解 Rational Data Architect (RDA) 的卓越功能,及其在使用 Rational®
Software Development Platform 进行软件开发的生命周期中的位置和用法。在当今的面向服务体系结构 (SOA)
领域,数据是一个关键的组件。本文将介绍 RDA 如何解决 SOA 中数据的重要性问题,以及如何在企业环境中使用 RDA。
软件开发的方式一直在不断变化,过去的单内核架构使用传统的基于过程的编程方式。过程编程之后是客户端服务器计算时代。在这个时代中,数据和客户端以及业务逻辑之间存在着明显的差异,编程人员开始将数据视为单独的实体,但更多地是从应用程序级别考虑。接下来是电子商务时代,该时代为用更安全的方式操纵数据铺平了道路。
在当今的 SOA 时代,数据被当作企业级的服务,并且数据变得越来越重要。每个业务一致性服务必须具有数据模型。一些出色产品(如
DB2® 9)能够将数据当作 XML 内容,极大地增强了数据的功能,这也是 SOA 环境中的 Web 服务必须具备的。
Rational Data Architect 是 IBM Software Development Platform 的一个旗舰产品。它是
IBM Information Management 软件组合的一部分,并且支持 SOA 开发和实现。RDA 支持许多行业标准的数据库服务器,包括
DB2、Informix® Dynamic Server、Sybase、Oracle、SQL Server 和 Cloudscape™。它支持
System z™ 和 System i™ 平台上的 DB2。
RDA 基于 Eclipse,并且与 SDP 中的其他产品一样,具有标准化的用户界面。它还能够与用于需求管理的 Rational
RequisitePro® 和用于版本控制和团队协作的 ClearCase® 集成。
在很多开发项目中,应用程序架构比数据更重要。在很多情况下,行业标准工具并不用于项目的数据架构部分。Rational Data
Architect 能够帮助数据架构师消除应用程序架构和信息架构之间的差异,并确保数据在整个解决方案架构中无缝地保持一致。
RDA 能够在统一建模语言(UML)与逻辑数据模型之间进行相互转换。正确使用数据建模工具有助于避免在后续阶段重构应用程序。Rational
Data Architect 是一个端到端工具,可用于数据建模、转换、DDL 脚本生成,以及构建、调试和管理数据库对象(如 SQL
存储过程和功能)。
在 SOA 环境中,数据是成功实现的关键因素,因为整个过程都与通过消息调用服务有关,而数据就封装在这些消息中。服务和数据模型之间的消息传递紧密相关。数据模型必须具有服务所需的足够的详细信息。如果服务必须执行复杂的查询或者存储过程才能获得所需的数据,则会影响到服务的性能,进而导致服务质量下降。
与 Rational Software Development Platform 产品套件类似,IBM Information
Management 软件包含一个产品集,这些产品处理 SOA 环境中的信息层。通过下图中演示的 IBM SOA Foundation
很容易理解。
图 1. IBM SOA Foundation
SOA 生命周期由四个阶段组成
下面将介绍其中的每个阶段。
建模
此阶段通常处理从客户收集的需求。这些需求包括业务过程模型、功能需求以及将需求转换为各种领域的架构,包括应用程序、信息和基础设施。在这个领域中,Rational
Data Architect 可以帮助研究现有的信息模型,或者根据业务过程模型和功能需求构建新的模型。
此阶段中使用的其他 SDP 工具包括 Rational RequisitePro、WebSphere® Business
Modeler 和 Rational Software Architect。Rational Data Architect 已经与
RSx(Rational Systems Developer、Rational Software Architect 和 Modeler)紧密无缝地集成,它可以执行逻辑数据模型与
UML 之间的相互转换。该功能可以帮助确保标识的每个应用程序组件或服务都具有底层数据组件。ClearCase 是 Rational
SDP 中的一个产品,用于配置管理。可以将其与 Rational Data Architect 集成,以进行数据模型版本控制和团队开发。
组装
此阶段涉及到服务、组件、底层物理数据模型和数据库对象的开发。RDA 支持多种数据库服务器,如 DB2(包括 System i
和 System z)、Informix 和 Cloudscape。RDA 具有向导、编辑器以及 DB2 的调试程序,可以帮助开发
SQL 语句、存储过程和用户自定义函数。
部署
此阶段对在前一阶段中组装的组件进行部署。此阶段通常使用 WebSphere 栈。
管理
主要通过 WebSphere Business Monitor 这类产品对部署的服务和业务过程进行管理和监视。计算服务级别特征,以确保在运行时环境中流畅地运行应用程序。
让我们看一下 Rational Data Architect 的一些功能,这些功能使它更像是信息架构开发的加速器。RDA 能够在以下领域提供帮助:
在大多数情况下,开发环境并不是一个全新的环境,因为新的开发可以利用一些现有的资产和数据库。通常,由于开发时间的压力,可能未创建文档,或者即使创建了文档,该文档也可能与生产的物理数据模型不同步。RDA
可以帮助处理此类情况。可以使用标准的 JDBC 连接将 RDA 连接到现有的数据库。Database Explorer 实时地发现现有的物理数据模型,而无需对现有数据库进行完整的逆向工程
图 2. 发现现有数据库
发现了现有数据库之后,用户可以对作为物理数据模型的一部分的对象进行分析。该功能有助于标识正在开发的目标应用程序所需的信息。使用该功能,还可以在企业级别实现数据优化。
图 3. 发现的 PDM
就像 UML 模型是应用程序架构的抽象一样,数据模型表示信息模型的抽象。在信息工程中,根据从概念到操作数据存储的不同详细级别,可以将数据模型分为以下几个类别。RDA
支持创建和使用以下模型:
域模型:域模型主要包含域类型,域类型可以用在应用程序模型的多个位置。例如,用于货币和性别字段,这类字段具有预定义的数据类型或值。它主要用于逻辑数据模型。
词汇表模型:该模型用于确保数据模型在命名数据实体时使用预定义的命名约定。在大多数组织中,这些数据模型处于企业级别。
逻辑数据模型: 逻辑数据模型代表企业实体、实体属性(数据),以及它们之间的关系。它们是独立于数据库的实体关系模型,这些模型独立于目标。下面是实体可以具有的关系:
- 泛化(Generalization)
- 标识外键关系
- 非标识强制外键关系
- 非标识一对一外键关系
- 非标识可选的外键关系
- 多对多关系
在 SOA 场景中,理想情况下这些逻辑实体将映射到一个服务组件,该服务组件实现原子服务或复合服务。逻辑数据模型主要由包和实体组成。实体表示实际的对象,它具有约束条件并且关联到另一个实体,如图
4 所示。
图 4. 逻辑数据模型
物理数据模型:物理数据模型是数据库特定的,代表数据库模式。它们由逻辑数据模型转换而来,其中实体和关系转换为表、列、主键、外键以及约束。
图 5. 物理数据模型
RDA 帮助架构师对开发的模型进行标准化。它检查命名约定、语法以及标准化级别。预定义规则可用于验证模型和数据库。还可以将这些规则扩展到可用的标准集之外。该功能有助于在整个企业中进行标准化。
图 6. 模型标准化
该功能主要用于比较模型、数据库,以及模型和数据库中的对象。它还有助于实现逻辑数据模型和物理模型的同步。既可以生成报告,也可以对模型进行联机同步。
图 7. 模型同步
该功能有助于在 TO-BE 和 AS-IS 系统之间进行数据转换。在这些系统中对数据库进行比较,以确定将数据迁移到目标系统所需的数据转换复杂度。它有助于对列进行比较,有助于确定源对象和目标对象之间的关系。它还有助于确定源和目标之间的关系类型,比如聚合、转换和算术运算。还有助于生成数据迁移映射,以执行依赖性分析,而且还有助于优化目标系统数据模型。通过交互式
GUI 或智能发现构建关系时使用了多种技术。还可以将现有映射进行组合,构建复合映射。
图 8. 相关
该功能有助于生成远程模式和联合模式之间的映射。可以使用转换函数和映射组生成 WebSphere Federation Server
的代码。
Rational Data Architect 提供开发 DB2 对象(比如存储过程和用户自定义函数)所需的 IDE。此 IDE
还具有调试这些对象的功能。除了这些功能之外, RDA 还支持使用 SQL 生成器编译和编辑 DML 语句。
图 9. DB2 开发
由于 Rational Data Architect 基于 Eclipse 框架,它使用标准工具(如 CVS)提供对团队支持。
本文介绍了 Rational Data Architect 的基础知识以及它如何适合 IBM SOA Foundation。请参阅以下参考资料,深化您的知识并学习如何在您的环境中实现它。
学习
获得产品和技术
讨论
|