WTX 解决方案中的基本概念
WTX 提供了集成开发环境和运行时环境来实现数据集成解决方案。图 1 显示了用户使用 WTX 集成环境在实现两个 EIS 之间的端到端的数据转换的一种应用模式。用户通过 Map Designer 开发 Data Map 解决方案,然后部署到 WTX Runtime 环境中,Data Map 通过资源适配器连接两端的 EIS,EIS A的业务数据通过资源适配器 A 流入数据转换引擎,经过 Data Map 定义的数据转换组件处理后,成为符合 EIS B 数据模型的业务数据,通过资源适配器 B 向 EIS B 输出。
图 1. WTX集成解决方案
在这个例子中,涉及到 WTX 系统中的一些基本概念,例如 Data Map,资源适配器等。WTX 提供的数据集成解决方案中的这些基本概念作为用户进行数据建模、业务建模的基础,通过理解并应用这些概念以及组件,用户可以在产品提供的集成环境中开发、部署、运行、维护自己的解决方案。下文将对上述 WTX 关键概念进行阐释。
对业务对象的数据建模 - Type Tree
在各种各样的业务领域进行数据集成,前提是需要构造或者导入各种系统的元数据模型,或者业务对象(Business Object, BO),它包含了一种业务实体的结构、语法、语义,这样一系列相关的 BO 在 WTX 中被实现和封装为可视化的、树状结构的 Type Tree。一旦定义完毕,Type Tree 就可以在后面的数据转换设计中作为数据接口,在数据转换处理过程中和相应的数据源进行数据交互。在 WTX 中,定义 Type Tree 的方式通常有以下几种:
-
用 Type Designer 从设计一个完整的 Type Tree,包括定义业务对象的属性、层次结构、字符集、语法、合法性校验规则、对象嵌套、属性继承等,最终生成的 Type Tree 经过编译后生成后缀为 mtt 的文件,在后面的 Data Map 设计时使用。
-
通过 WTX 提供的面向特定应用的 Importer 直接导入业务对象,这通常用于外部元数据已经存在的情况下,例如使用 COBOL Copybook 从 COBOL 记录结构生成 Type Tree,或者通过 Database Interface Designer 从数据库中导入元数据从而生成 Type Tree,另外对于像 SAP、PeopleSoft、Siebel 等应用系统,WTX 也提供了相应的自动化导入工具来实现 Type Tree 的自动导入和生成。
-
WTX 提供了基于业界标准的预定义 Type Tree 库用以支持电子商务、医疗、保险以及金融标准,包括 EDIFACT、HIPAA、SWIFT、ISO 15022 等,用户可以直接使用这些标准 Type Tree 从而加速业务建模和开发部署。
-
用户使用 Type Tree Maker 来定制特定的 importer 来实现元数据定义的自动导入。这种方式为用户提供了上述三种方式外的更加灵活的可定制的方案来实现用户特定数据的业务对象自动提取功能。
定义数据转换逻辑 – Map
Map 是 WTX 数据集成解决方案中最为核心的组件,它提供了对源数据端和目的数据端的数据连接定义、外部数据源数据接口的指定、以及数据转换规则的定义,通过编译、部署和加载 Map,WTX 的数据转换引擎在运行时环境中根据 Map 的定义连接到外部数据源,获取源业务对象的数据并根据数据转换规则对源业务对象的数据进行加工转换后,将结果按照目的业务对象的格式输出到目的数据源,从而完成一次数据转换。
Map 中的外部数据源连接和数据接口的指定是通过 Card 组件实现的,一个 Map 可以包含若干 Input Card 和若干 Output Card。一个 Input Card 代表着一个源数据端,一个 Output Card 代表一个目的数据端。源数据端和目的数据端可以是文件系统、数据库、消息中间件、HTTP、FTP、Email系统或者 SAP、Siebel 等企业信息系统等,对于每种数据连接,WTX 都提供了相应的资源适配器(Resource Adapter)来进行适配和连接,当然用户同样可以应用 WTX 提供的开放适配器接口来开发自己的适配器,这样可以直接与新的或者用户特定的数据源进行集成。
在 Card 中,用户通过指定资源适配器来定义该数据的来源或者去向,再通过指定 Type Tree 中定义的业务对象来定义和这些外部数据源进行交互的数据接口。由于 Type Tree 通过数据抽象很好的屏蔽了外部数据格式对系统的影响,Type Tree 中的业务对象接管了与数据内容和格式相关的工作,这样 Map 可以直接操作业务对象来进行相应的数据转换,通过这样的一种方式,WTX 提供了一种灵活的资源独立的解决方案。在 Card 的配置中包含两部分,Schema 属性集合用于指定 Card 的 Type Tree 数据类型,规则属性集合则用于指定 Card 的执行属性,包括与 Card 关联的数据源类型、连接数据源的 Command 字符串等。其中 Command 字符串通过一些特定格式的命令选项来指定数据源的连接信息、登录信息、执行日志设置等运行时参数,在实际运行过程中,Map 将根据 Command 中的参数连接数据源并与之进行数据交互。
在定义了输入输出数据源连接以及相应的数据格式之后,用户可以定义数据转换规则来实现源端到目的端的数据转换。转换规则允许用户对输入数据进行赋值、查找、合并、排序、提取以及各种复杂的运算,将结果输出到输出端。Map 可以实现一对一、一对多、多对一以及多对多的数据转换,转换规则允许对多个输入端的数据进行合并运算并输出到任意输出端;对于一些常规的或者复杂的计算,WTX 提供了丰富的内置函数库供用户在转换规则中调用;在转换规则中也可以直接调用资源适配器去对输入输出之外的数据源进行操作来获取中间数据参与数据转换。所有这些对规则的定制都可以通过 Map Designer 来进行可视化的配置,不需要用户进行手工编程,这样大大简化了开发的复杂度,加速了开发的进程。
图 2 中的 Map 包含两个 Input Card 和两个 Output Card,每个 Card 关联相应的 Type Tree以及相应的资源适配器,中间通过转换规则(Mapping Rules)实现从输入端到输出端的数据转换。
图 2. Map 构成图示
业务流程建模 - System
将业务逻辑相关联的一组 Map 组合在一起构成了一个 System,System 也可以嵌套其他的System 来实现更加复杂的业务逻辑。通过构建 System,用户可以对业务流程进行建模。WTX 提供了 Integration Flow Designer 来对 System 进行可视化的配置,可以对每个 Map 进行优先级设置、事件触发、日志审计、多线程调度等配置,同时可以通过对各个 Map 的设置来优化整个 System 的性能表现。
|