U8EAI企业应用集成培训U8平台开发部李静2008年10月25日•背景介绍•U8EAI产品简介•U8EAI产品应用领域•U8EAI产品特性•U8EAI产品基本结构•U8EAI数据交换接口规范•U8EAI应用集成开发基本流程•最佳实践•挑战当今全球化时代,企业面临着新的挑战:社会化大生产的分工越来越细,企业的生产方式由大而全的自主式生产转变为专业化协作生产。企业面临越来越激烈的外部竞争环境带来的挑战以及内部管理和运营成本上升带来的压力。•应对策略企业迫切需要与供应商、合作伙伴、客户建立更紧密的协作关系,以共同应对风险和挑战,实现互惠共赢。企业迫切需要能整合优化内部资源和业务流程,降低运营成本,提高运营效率和客户服务水平。•对IT系统的要求打通“信息孤岛”,实现企业内部各系统之间互连互通、信息共享融合和业务整合,以提高企业运营效率,降低成本。背景介绍打通企业之间的“信息壁垒”,实现企业与供应商、伙伴、客户之间的信息交换和自动化业务协同,降低交易成本。背景介绍企业应用集成的关键问题•IT系统的开放性和扩展能力为应对全球化带来的挑战,企业需要有效整合内外资源,这要求企业的IT系统要具备足够的开放性和扩展能力,这种开放性和扩展能力首先体现在IT系统要具备能与外部系统进行信息交流的丰富的对外接口。•标准和规范的遵循企业IT系统之间的集成除了相互的开放性以外,最重要的一点是要遵循一致的技术标准和规范,即必须说一种“语言”,才能进行有效“交谈”。当前比较流行的XML、SOAP/WebService、SOA等技术,就是为了解决系统之间的数据通讯和信息交换问题而出现的业界公认标准。•信息之间差异的弥合企业应用集成最重要的行为是信息的交换,由于没有统一的商业标准,系统之间的信息数据在结构上往往存在差异,甚至在对相同信息的描述上也可能存在语义上的差异,比如:对于同样的原材料A,在供应商系统中记录的编码是001,而在制造商系统中记录的编码是002。企业应用集成必须要解决这样的信息差异问题。背景介绍U8企业应用集成(EAI)产品是U8ERP与第三方系统进行业务数据交换的平台级工具产品,是U8ERP统一的对外开放接口。EAI产品包括一整套U8ERP的标准业务数据交换接口,这些接口涵盖基础档案、财务、供应链、生产制造、客户关系管理、HR等ERP业务模块,具备统一的入口、一致的业务外观和相对完整的业务功能,能完成U8基础数据、凭证、业务单据的导入导出及增、删、改等操作(少数不支持),是U8与外部系统进行应用集成和业务整合的基本资源。为解决数据交换中系统之间数据格式和数据语义差异问题,EAI产品提供了可扩展的数据适配器和数据映射机制用来进行内外数据的翻译和转换。为方便用户的应用和体验,EAI产品还提供了能直接进行U8数据导入导出的基本用户界面工具,此工具支持手工和自动导入导出。U8EAI产品简介企业内部第三方业务系统与U8的整合财务整合:凭证上传典型案例:U8网络分销系统通过U8EAI接口向U8财务系统上传结算凭证。业务整合:单据协同典型案例:U8连锁零售系统通过U8EAI接口与U8销售和库存系统进行业务协同。包括:零售部门下载公司U8系统中的商品、客户档案、库存信息等;往U8系统上传每日结算的零售日报;库存不够了往U8发调拨申请单进行要货调拨等等业务。企业之间的B2B业务协作供应链协同:供应商远程接收订单。伙伴客户的采购系统通过供应商U8EAI远程接口往供应商U8销售系统提交订单。U8EAI在这两类应用领域中扮演的角色和职责主要是提供U8ERP对外的基本集成接口资源。U8EAI产品应用领域应用特性内容完整涵盖了U8ERP的大部分基本档案和业务单据(含凭证),是U8ERP目前最完整、规范的对外接口。功能丰富支持手动、自动、远程和本地接口等多种数据交换方式;支持数据映射、增量、过滤条件等多种数据交换规则。接口统一对外提供了一个统一的服务代理接口,由此接口负责所有数据交换请求(调用)的分发处理,使外部系统对U8的接口依赖减小到最少,降低的系统耦合性。技术特性采用XML作为数据交换格式XML提供了跨平台和低耦合特性,支持COM、.NET、JAVA三种平台。采用Request/Response作为数据交换模式数据交换的交互模式采用Request/Response方式,并通过标准的Request和Response消息来承载交互数据信息。支持本地和HTTP远程调用本地调用采用COM方式;远程调用采用XMLHTTPPOST的方式。U8EAI产品特性U8ERP数据交换业务接口:U8ERP各业务模块提供的数据交换接口。EAI数据交换框架:为管理和调用数据交换业务接口而提供的统一的基础框架,包括数据交换业务基本配置信息以及数据交换服务代理接口和适配器。其中数据交换服务代理接口负责处理数据交换请求;适配器负责对不同格式和结构的数据信息进行适配转换;数据交换目录集中注册和管理U8产品的所有数据交换业务接口;数据交换元数据描述了数据接口格式和数据类型定义;数据映射规则描述了数据适配过程中的内外数据的对照映射关系;EAI日志用来对数据交换过程进行跟踪和记录。EAI数据交换管理器:用来配置和管理数据交换业务。主要包括以数据交换解决方案为中心的各种数据交换要素的配置管理。其中,解决方案管理主要对各种数据交换配置按照数据交换应用任务为单位进行分类集中管理;外部系统管理用来建立外部系统与U8帐套的集成关系;数据映射管理用来配置外部系统数据与U8数据的对照映射规则,以便在数据交换时进行数据适配和转换(解决数据信息差异问题);适配器管理用来管理系统预置和自定义数据适配器、定义适配规则;EAI日志管理用来查询和处理EAI日志。EAI导入导出工具:为方便用户的应用和体验,EAI提供了面向最终用户的导入导出工具。能直接进行U8数据导入导出,支持多种格式,支持条件过滤和增量,支持手工和定时自动导入导出。U8EAI产品基本结构U8EAI产品结构EAI导入导出工具手动导入导出工具XML导入导出EXCEL导入导出其他格式导入导出导入导出设置条件过滤规则增量规则导入导出目标地址定时计划导入导出任务计划规划设计器任务计划执行引擎U8ERP数据交换业务接口基本档案接口财务接口供应链接口生产制造接口其它接口EAI数据交换框架EAI数据交换代理服务--EAIBroker(支持多种协议)EAI数据交换目录EAI数据交换元数据数据映射规则EAI日志适配器框架专用适配器EXCELEDI通用适配器(XML)格式和数据适配规则EAI数据交换管理器外部系统管理数据映射管理适配器管理EAI日志管理解决方案管理U8EAI数据交换接口规范EAI接口定义本地COM接口类库:U8Distribute.DLLProgID:U8Distribute.iDistribute方法:StringProcess(StringRequestXml)参数:RequestXml—数据交换请求消息,详见数据交换格式定义。返回值—数据交换Response消息,详见数据交换格式定义。远程HTTP接口EAI远程数据交换采用XmlHttpPOST的方式。接口为:POST上传:数据交换请求消息与本地调用一样,详见数据交换格式定义。Response接收:数据交换响应消息与本地调用一样,详见数据交换格式定义。EAI数据交换格式数据交换消息总体格式EAI数据交换消息格式分为框架和内容两部分:ufinterfacesender=“002”receiver=“u8”roottag=“department”proc=“Add”—框架部分department…/department—内容部分/ufinterface框架部分包含数据交换的控制信息,其中:U8EAI数据交换接口规范sender:发送方,填外部系统注册码receiver:接收方,填u8即可roottag:数据类型,根据EAI\XML\Template目录中的数据交换模板文件填写proc:数据交换的操作,分为add/edit/delete/query内容部分指消息中携带的档案或单据等业务数据。U8EAI提供了一整套完整的基本档案和单据的数据交换模版(在EAI\XML\Template目录下),模板中定义了消息内容部分的格式和字段。Requset消息格式Request消息格式的框架部分同上所述,内容部分根据不同的操作有所不同:对于add/edit操作,Request消息的内容就是档案和单据内容,具体格式详见数据模板。对于delete/query操作,Request消息的内容包含过滤条件,条件格式如下:ufinterfacesender=“002”receiver=u8roottag=“department”proc=“Query”departmentfielddisplay=“部门编码name=“cDepCodeoperation==value=“3logic=//department/ufinterfaceU8EAI数据交换接口规范Response消息格式Response消息是EAI接口执行Request消息之后的返回结果,不同的操作有所不同:对于query操作,返回的结果就是查询的数据,格式详见EAI数据模板。对于add/edit/delete操作,返回的结果包括单据体每一行数据的详细执行结果(由Item节点描述),如下:ufinterfaceroottag=returndocid=823482692proc=add!--key:单据表体行数据的编号,比如:销售订单表体的存货编码succeed:成功或失败号,0为成功,其他值为失败dsc:成功或失败的文字描述--itemkey=001succeed=“0dsc=/itemkey=002succeed=“0dsc=//ufinterface凭证的add操作的Response格式比较特殊:ufinterfaceroottag=voucheraddreturndocid=proc=additemaccounting_period=10voucher_type=记voucher_id=888u8voucher_id=1138entry_id=succeed=0dsc=凭证已成功保存u8accounting_period=10/item/ufinterfacevoucher_id:外部系统原始凭证号;u8voucher_id:U8生成的凭证号;succeed:是否成功,0为成功,非零为失败;accounting_period:会计期间;voucher_type:凭证类别第一步:EAI基本配置第二步:规划并准备数据第三步:根据部署方式选择EAI接口类型第四步:调用EAI接口,发送数据第五步:处理返回结果U8EAI应用集成开发流程第一步:EAI基本配置1、配置EAI连接“开始”-“程序”-》“用友ERP-U872”-》“企业应用集成(EAI)”-》“U8EAI接口设置”U8EAI应用集成开发流程2、外部系统注册切换到外部系统注册页签进行外部系统注册。外部系统注册的目的是为了建立外部系统与U8帐套的数据交换关系。U8EAI应用集成开发流程第二步:规划并准备数据1、根据项目的需求,分析应用集成业务场景,确定需要与U8进行数据交换的业务环节。2、对于项目中每一个数据交换环节,确定数据来源,并进行数据适配,将原始数据转换为符合U8EAI标准数据交换格式的数据(对于add/edit的数据必须符合U8EAI的数据模板格式)。3、对于数据交换过程中需要进行基本档案编码转换的(比如:订单中存货的编码外部系统与U8可能不一致),可以在EAI的数据交换配置管理中配置档案编码的映射关系。当然,也可以不使用EAI的数据映射功能,直接在外部数据转换为U8EAI标准格式的代码中处理。U8EAI应用集成开发流程第三步:根据部署方式选择EAI接口类型•对于需要与U8服务器分离部署的应用集成项目,