标题：DataExchange
概述
DataExchange是“Data”与“Exchange”，两个单词组成的复合名词，常用于数据交换领域。
UniEAP DataExchange是一款可以快捷打造数据中心（仓库）、数据迁移、数据同步、数据交换等领域的数据集成解决方案平台类产品。
为什么需要数据集成
随着信息技术应用的快速发展，大中型企业和机构纷纷建立起庞大而复杂的IT系统，企业对系统整合的需求持续增强。越来越多的中国企业在重视应用集成的同时，越发的将数据集成作为企业信息化的重要支撑系统之一。数据集成概述数据集成指的是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中，从而为企业提供全面的数据共享。在企业数据集成领域，已经有了很多成熟的框架可以利用，比如数据联邦逻辑集成方式、数据中心和数据仓库物理集成方式，这些技术在不同的着重点和应用上解决数据共享和整合的解决方案。通过数据集成，企业可以访问所有分散的数据，可以对核心信息资产进行准确一致的描述，并便捷地利用企业中的这些资产推进业务决策和运营过程。参考各个行业和业务系统应用场景对数据集成需求重点的不同，数据集成的应用领域可以概括为数据迁移、数据交换（同步）和数据整合。数据集成的驱动需求中国企业使用数据集成作为解决企业数据碎片、数据孤岛问题的方案，主要受三方面需求的驱动：来自相关政策和法规的要求。例如中国银行业的“1104工程”，旨在建立新一代银行监管信息系统体系。企业要遵从这些政策和法规，进行数据集中势在必然。实现差异化竞争的需要。例如以中国电信企业为代表，企业只有通过数据集成，在制定策略方针时才能获得全面有效的数据依据，从而在市场竞争中占领先机。企业并购带来的需求。例如以中国制造业企业为代表，并购方在实施并购前不但要获取被购方的详细数据信息作为参考，而且在并购后，还必须通过数据集成将其财务数据、运营数据、客户数据迁移到自己的系统中。所面临的数据集成问题从零起步的中国企业信息化建设，经过将近20年的不断摸索和经验积累，已进入深化应用的阶段。特别是在最近10年，通过升级原有系统已经不能满足中国企业飞速发展的业务需求，为了满足业务的发展需求，中国企业出现了大量的新建软件系统。新建软件系统可以快速的使用新技术解决企业的业务难题，而不必受兼顾原有系统的既有功能的制约。但是，中国企业众多的新建软件系统会导致数据源分散、异构数据库难以访问、数据接口复杂度增加等问题。美国企业目前更多的通过原有系统改造、升级或整合来实现业务需求，新建软件系统的比例则相对较小。所以，中国企业将面临比美国企业更加复杂的数据环境。
当前中国企业在构建数据集成系统中遇到的主要问题有：
数据环境复杂，由于缺乏统一的规划，各种软件系统和异构数据源之间无法实现数据的共享和互联互通，导致了数据的冗余、不完整。
数据的迁移和交换往往要跨多个网络域，甚至是物理隔离域，缺少集中的、系统的管理控制中心，操作过程复杂，降低了数据的可控性。
各种业务之间基于网状、分散、独立的互联模式下的数据交换难以保障数据的安全性，且系统维护管理成本过高。基础架构脆弱，缺乏标准的、一致的技术规范。需求变更导致的功能扩展与修改极其困难。
产品能做什么
UniEAP DataExchange是旨在解决政府、组织结构较复杂的企业内部和跨企业、跨机构构建数据集成过程中的数据交换问题为重心的通用数据集成产品。通过构建面向服务架构的集中式数据集成服务器，UniEAP DataExchange能够为企业在分级网络环境，跨网络域和物理隔离域的数据迁移、数据交换任务的定义、管理、监控以及异构数据源格式转换映射、元数据管理、资源管理提供完整的开发、管理、控制平台和解决方案。
产品典型应用场景
UniEAP  DataExchange为中国企业在复杂的数据环境下开发数据集成项目提供了全面的支持。在深入研究了中国企业在实施数据集成项目过程中可能遇到的问题的基础上开发了包括ETL过程定义、任务定义与监控、基于CWM标准的元数据管理、增量数据捕获、FTP、HTTP方式数据传输等数据集成核心功能在内的系统平台和功能组件。产品实现了在单个Web端管理控制台完成跨域复杂部署结构下的数据迁移、交换任务的定义、监控与调度。控制台与服务的松耦合关联使得在多个数据集成服务节点之间灵活切换登陆成为可能，能够对运行环境系统资源的统一集中式管理。
基于对不同行业用户数据集成项目应用场景特点的分析总结，归纳出UniEAP™ DataExchange产品的典型应用场景大致可以概括为以下三种：跨域分布异构数据交换在多个分级域之间（如省级、市级、县级单位之间，集团、集团所属院所以及院所所属厂之间）开发数据迁移、数据交换流程。场景主要特点是部署环境跨地域和网络域范围较大，各个域内数据访问相对独立，域间数据访问规则按所属级别严格控制。基于UniEAP DataExchange开发这种应用场景数据集成项目需要在各级单位域内部署独立的数据集成服务节点，开发人员通过统一管理控制台开发、协同控制各服务节点对应的任务，定义任务的调度，数据的抽取、传输、加载和访问规则。相比传统开发方式，UniEAP DataExchange能够以更加灵活便捷的方式满足客户需求。点对点数据交换该应用场景下用户一般需要实现对分布在不同域内两数据源之间点对点的业务数据交换过程。场景主要特点是数据传输环境复杂，对数据传输的安全性要求比较高，有数据传输专用的网络环境，局域网与专用网之间往往有物理隔离或网闸，有可能需要人工参与数据传输。UniEAP™ DataExchange提供了跨物理隔离或网闸隔离域之间数据传输的完整解决方案，提供可定制、安全的数据传输方案，在处理该应用场景所面临的问题方面游刃有余。域内数据集成该应用场景下用户一般需要实现组织内部多数据源到数据中心的数据整合过程。场景主要特点是数据源类型多样化(数据库、XML、Excel、Access等)、数据格式复杂。
产品价值体现
开发成本低通过图形化工具编排数据集成组件服务构建数据集成业务流程的方式使得开发过程更加直观，省去了大量的编程工作。易于整合复用UniEAP DataExchange中心端与数据采集端采用同样的服务交互模式，最大程度地保证了实时交互、增量数据抽取、在线监控、远程管理、在线升级，为整合复用企业内异构信息系统的数据资源提供了良好方法。部署方式灵活面向服务的组件化设计使得UniEAP™DataExchange系统部署方式灵活，可独立部署，也可无缝集成进应用整合平台中，可根据实际情况做弹性部署。开放的服务架构在业务逻辑与基本数据分离的情况下, 开放的服务体系架构以组件化的数据集成服务方式提供这些数据资产的透明访问。
产品特性
UniEAP DateExchange 基于ETL引擎、任务引擎、流程引擎以及面向服务数据集成架构实现了数据集成系统开发应用平台，产品关键特性主要有：    
分布异构业务数据库之间数据的迁移，基于网络环境和安全性实现多点部署和统一管理；图形化ETL定义工具，快速的定制开发数据抽取、转换（清洗）和加载任务；远程管理与监控，统一管理、调度，实现全局总控与系统自动化运转；错误处理与恢复，实现系统内自动识别与处理故障，减少人工参与；多种增量抽取方案，增加数据同步的高效性、降低网络传输的资源占用；系统自动更新，快速部署新功能与缺陷的快速修复，降低人工升级维护成本。
系统提供多种系统版本的安装，包括windows、Linux等，不依赖于系统软件，可以在任意的服务器上部署，无需安装到源数据库或目标数据库系统系统；
采用B/S/S模式，提供web管理界面以及服务接口，允许界面管理和接口方式管理，支持远程管理和监控；
支持分布式环境下的整体监控，提供节点网络拓扑管理；
支持基于数据库表、视图的数据同步，在不改变原有数据库系统结构，不侵入数据库系统的前提下，完成针对于表、视图的数据抽取、转换以及目标写入；
兼容主流数据库间的数据同步，包括Oracle、DB2、SQLServer、Sybase、Mysql等，同时能够针对不同的数据类型进行无编码方式自动转换，支持大字段；
支持XML文件、CSV等文件数据源的读取；
支持各种字段级的映射转换，如类型转换、字段拆分、字段合并、字符串处理、日期转换、算术运算、码表转换等，同时提供自定义转换接口实现特殊的数据转换处理；
通过日志、事务、故障处理等手段，保证系统运行的可靠性，以及业务过程的安全性，出现错误时，可以恢复运行，支持断点续传；
提供图形化映射工具，支持源到目标的字段细节映射，支持一对一，一对多，多对多的映射；
支持手动、自动调度任务执行，同时调度定义在无人值守的情况下，完成数据的准实时（秒级）同步、分发、上报；
提供多种增量数据捕获配置，Snapshot增量数据捕获可以通过映射工具进行配置，无需在源、目标数据系统中安装任何程序，在系统内即可高效率的完成增量数据的分析捕获；
支持多个无关联任务并行执行，并且可以在监控页面统一进行任务运行状态的查看、管理；
提供多种处理接口，支持在任务启动、完成、出错状态下触发相应的处理接口；支持日志的导出。
产品组成
UniEAP DateExchange采用面向服务的数据集成体系结构，以Web服务的形式构建数据迁移、交换等数据集成流程。为企业跨域的业务系统应用、业务流程等提供基于HTTP、SOAP和接口访问方式的便捷的功能服务和系统管理控制。根据所处的逻辑层次的不同，系统体系结构可以划分为任务引擎服务、流程引擎服务、组件服务、元数据服务和开发与管理工具。任务引擎服务通过构建基于EIP规范的服务模型封装了数据集成应用模型中的典型应用。在组件服务层面上系统以Web服务的形式提供了ETL引擎、传输、错误处理、监控等基础数据集成组件服务，为数据集成流程定义工具等平台中的其他依赖组件和商业流程的编排构建了支撑服务群支持。
系统平台以元数据服务为支撑，利用基于CWM、XMI、XML Schema规范的统一的元模型定义规范描述访问元数据定义，屏蔽了数据源中数据的异构性。提供了对关系数据库、文件和文档及应用程序中的结构化、半结构化和非结构化数据的元数据抽取支持，实现对元数据的预定、及时、动态、随需的访问。按物理部署结构DataExchange可以划分为以下三部分：管理控制台Web端管理控制台是基于RIA技术开发Web服务应用。提供了完整的系统开发、管理和控制页面。能够部署在Tomcat、WebSphere、Weblogic等多种应用服务器。管理控制台的核心功能包括：元数据管理，主题管理，任务管理三部分。
元数据管理
元数据是关于数据的数据，尤其对于ETL来说尤其重要。ETL中大量的数据源定义、映射规则、转换规则、装载策略等都属于元数据范畴，如何妥善地存储这些信息已经关系到ETL过程能否顺利完成而且影响到后期的使用和维护。
UniEAP  DataExchange元数据管理采用OMG CWM 1.0标准，支持元数据数据存取、元数据的版本控制、基于OMG XMI 1.0规范的元数据交换、基于Web Service的元数据访问和管理、元数据的分发与接收等功能。
主题管理
主题指的是为了满足指定目的数据交换需求而创建的关联节点之间各个数据抽取、传输、加载等任务的业务逻辑对象。主题管理基于消息服务器实现，可以实现多个数据交换平台直接的通信，提供基于发布、订阅的方式交换元数据。元数据标准基于XML Schema标准。
任务管理
任务指的是对应单个节点上数据交换业务逻辑定义。任务定义关联映射模板，以任务模板的形式保存在系统支撑库。任务管理提供基于Web端图形化界面方式定制任务。通过简单的输入，与映射模板关联，用户可以同时关联多个映射模板。任务监控提供基于任务的执行、暂停、停止等操作。能够监控任务各个步骤的执行情况，支持任务的错误恢复和数据断点续传功能。系统服务包含DataExchange系统服务的Web应用，以War包的形式提供，包括各种组件服务、ETL引擎、任务引擎、传输等关键系统模块，并以Web Service的方式提供组件功能服务。      
组件服务
组件服务为定义数据交换业务流程提供了基本的功能组件服务。包括ETL引擎、传输、错误处理、监控、元数据抽取等系统组件。ETL引擎负责执行映射模板定义的ETL过程，实现数据的抽取、转换、清洗、加载等功能。对于跨地域分布式环境下的数据交换过程，需要通过传输模块将各个数据源中抽取出来的数据以指定传输方式（HTTP、FTP、消息等）发送到目的端。UniEAP™DataExchange提供了稳定的数据传输功能，支持断点续传、错误处理和过程监控，为动态可视化监控任务的正常运行和错误情况下的处理、恢复运行提供了便捷的途径。
任务引擎服务
系统任务负责任务的执行与控制，控制消息流程的运行和监控。提供了数据上传、加载自定义任务、数据迁移、交换任务控制、监控和管理功能。
消息流程引擎服务
封装了UniEAP流程产品引擎功能的服务，提供流程引擎的管理控制、任务中流程流程的执行监控等功能。
元数据服务
为管理控制台元数据管理功能提供包括元数据抽取、导入、导出、存取等功能的完整服务。提供了对关系数据库、文件和文档及应用程序中的结构化、半结构化和非结构化数据的元数据抽取支持，实现对元数据的预定、及时、动态、随需的访问。映射工具UniEAP DataExchange映射工具是创建ETL流程模板的图形化定义工具。其设计旨在使数据集成开发人员能够简单快捷地定义ETL流程中数据抽取（Extract）、转换（Transform）、加载（Load）过程，设置相关属性和创建数据映射。
基于Eclipse平台开发的映射工具实现了对ETL过程的图形化定义，映射模板管理，元数据管理等功能。ETL数据流程定义过程中的复杂性主要集中在数据映射定义和数据转换过程定义两部分工作上。为了降低复杂度，映射工具针对这两部分工作提供了更加便捷的开发模式。工具中包含有三种类型的节点，分别是：输入节点、转换节点和输出节点，分别对应ETL三个处理步骤。每个节点定义都以树形结构直观地展现了输入和输出，方便用户以图形化拖拽方式以随需或按顺序自动映射数据。
ETL工具的主要功能包括：数据映射定义转换、清洗过程定义、增量数据抽取定义。 
数据映射定义
通过映射工具可以定义关系数据库之间、关系数据库与XML Schema之间以及XML Schema之间的数据格式转换映射，实现了关系数据库类型的结构化数据与XML类型的半结构化数据之间数据的抽取、转换、清洗和加载过程定义。当一个ETL过程没有定义任何转换时，映射工具提供了在输入节点和输出节点间进行自动化映射的操作，简化了映射的操作过程。
转换、清洗过程定义
数据转换根据元数据模型，将抽取出来的数据通过一系列的函数、方法转换成目标数据源所需要的格式。UniEAP DataExchange映射工具中以控件形式提供了诸如字符串拆分、合并、替换、大小写转换、截取、统计等等常用的转换控件。用户还可以根据需要通过实现自定义转换类并修改配置文件轻松添加自定义转换清洗控件。
数据转换是将源数据结构转换为目标数据的关键环节，其中包括数据格式转换、数据类型转换、数据汇总计算、数据拼接等功能节点。这些转换可以在不同的应用场景下虽需编排定制。转换过程可以定义为数据库内转换，也可以在数据流程中转换。数据清洗指的是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题而提供的脏数据数据处理功能。系统允许通过条件抽取、过滤、筛选等手段将有问题的数据剔除或转换掉。具体过程可根据实际情况调整相应的清洗策略。为了满足特殊转换清洗需求，系统还支持以接口扩展方式创建自定义转换节点，能够以修改XML文件配置的方式增减映射工具中的转换节点，方便用户实现产品对自定义数据转换、清洗功能的扩展。 
增量数据抽取定义
增量数据抽取即CDC（Change Data Capture）是指在指定时间段内对目标数据源已改变，新增或已删除数据的捕获过程。UniEAP™ DataExchange支持的ETL过程增量抽取方式主要有：
1.状态标志位方式：利用业务表中标志位字段来实现增量数据的捕获，用不同的状态表示不同的数据库操作，如1表示修改，2表示插入，-1表示删除，0表示无变化，抽取时只抽取被改变的数据，已抽取的记录将状态置为0。
2.时间戳方式：利用业务表中时间戳字段来实现增量数据的捕获，数据变化时修改时间戳字段数据，通过判断时间进行增量式抽取。时间戳、标志位方式增量捕获结合使用可以实现指定时间间隔内增量数据的按操作类型的抽取，实现源端、目的端数据源的数据同步。
3.触发器方式：针对每个要抽取的表建立触发器，抽取操作只针对临时表，这种方式实现简单，但针对于数据变化频率较高的业务场景会影响业务数据库运行效率。
4.数据快照（Snapshot）方式：SnapShot方式允许在不改变原有数据库结构，不侵入原始数据库结构，不影响事务数据库性能的同时完成增量数据抽取。这种方式通用性强，可维护性好，此方式增量抽取适用不能使用时间戳、标志位、触发器的系统，性能较高。
技术规范
基于J2EE规范基于OMG Common Warehouse Metamodel(CWM) Specification v1.1元模型规范的元数据定义。
基于OMG XML Metadata Interchange (XMI) v2.1 元数据交换规范开发的XML格式元数据描述。
符合W3C Schema 1.0规范的XML元数据定义。
基于W3C Web Services Description Language (WSDL) v2.0规范的Web服务描述。
更多内容可访问UniEAP官方网站[1]。