U8EAI企业应用集成培训

上传人:新** 文档编号:584874427 上传时间:2024-09-01 格式:PPT 页数:32 大小:1.44MB
返回 下载 相关 举报
U8EAI企业应用集成培训_第1页
第1页 / 共32页
U8EAI企业应用集成培训_第2页
第2页 / 共32页
U8EAI企业应用集成培训_第3页
第3页 / 共32页
U8EAI企业应用集成培训_第4页
第4页 / 共32页
U8EAI企业应用集成培训_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《U8EAI企业应用集成培训》由会员分享,可在线阅读,更多相关《U8EAI企业应用集成培训(32页珍藏版)》请在金锄头文库上搜索。

1、U8EAI企业应用集成培训企业应用集成培训U8U8平台开发部平台开发部李静李静2008年年10月月2525日日背景介绍背景介绍U8EAIU8EAI产品简介产品简介U8EAIU8EAI产品应用领域产品应用领域U8EAIU8EAI产品特性产品特性U8EAIU8EAI产品基本结构产品基本结构U8EAIU8EAI数据交换接口规范数据交换接口规范U8EAIU8EAI应用集成开发基本流程应用集成开发基本流程最佳实践最佳实践挑战挑战 当今全球化时代,企业面临着新的挑战:社会化大生产的分工越来越细,企业的生产方式由大而全的自主式生产转变为专业化协作生产。企业面临越来越激烈的外部竞争环境带来的挑战以及内部管理和

2、运营成本上升带来的压力。应对策略应对策略企业迫切需要与供应商、合作伙伴、客户建立更紧密的协作关系,以共同应对风险和挑战,实现互惠共赢。 企业迫切需要能整合优化内部资源和业务流程,降低运营成本,提高运营效率和客户服务水平。对对IT系统的要求系统的要求打通 “信息孤岛”,实现企业内部各系统之间互连互通、信息共享融合和业务整合,以提高企业运营效率,降低成本。 背景介绍背景介绍 打通企业之间的“信息壁垒”,实现企业与供应商、伙伴、客户之间的信息交换和自动化业务协同,降低交易成本。 背景介绍背景介绍企业应用集成的关键问题企业应用集成的关键问题IT系统的开放性和扩展能力系统的开放性和扩展能力 为应对全球化

3、带来的挑战,企业需要有效整合内外资源,这要求企业的IT系统要具备足够的开放性和扩展能力,这种开放性和扩展能力首先体现在IT系统要具备能与外部系统进行信息交流的丰富的对外接口。标准和规范的遵循标准和规范的遵循 企业IT系统之间的集成除了相互的开放性以外,最重要的一点是要遵循一致的技术标准和规范,即必须说一种“语言”,才能进行有效“交谈”。当前比较流行的XML、SOAP/WebService、SOA等技术,就是为了解决系统之间的数据通讯和信息交换问题而出现的业界公认标准。信息之间差异的弥合信息之间差异的弥合 企业应用集成最重要的行为是信息的交换,由于没有统一的商业标准,系统之间的信息数据在结构上往

4、往存在差异,甚至在对相同信息的描述上也可能存在语义上的差异,比如:对于同样的原材料A,在供应商系统中记录的编码是001,而在制造商系统中记录的编码是002。企业应用集成必须要解决这样的信息差异问题。 背景介绍背景介绍U8企业应用集成(企业应用集成(EAI)产品是)产品是U8ERP与第三方系统进行业务与第三方系统进行业务数据交换的平台级工具产品,是数据交换的平台级工具产品,是U8ERP统一的对外开放接口。统一的对外开放接口。EAI产品包括一整套产品包括一整套U8ERP的标准业务数据交换接口,这些接的标准业务数据交换接口,这些接口涵盖基础档案、财务、供应链、生产制造、客户关系管理、口涵盖基础档案、

5、财务、供应链、生产制造、客户关系管理、HR等等ERP业务模块,具备统一的入口、一致的业务外观和相业务模块,具备统一的入口、一致的业务外观和相对完整的业务功能,能完成对完整的业务功能,能完成U8基础数据、凭证、业务单据的导基础数据、凭证、业务单据的导入导出及增、删、改等操作(少数不支持),是入导出及增、删、改等操作(少数不支持),是U8与外部系统与外部系统进行应用集成和业务整合的基本资源。进行应用集成和业务整合的基本资源。 为解决数据交换中系统之间数据格式和数据语义差异问题,为解决数据交换中系统之间数据格式和数据语义差异问题,EAI产品提供了可扩展的数据适配器和数据映射机制用来进行产品提供了可扩

6、展的数据适配器和数据映射机制用来进行内外数据的翻译和转换。内外数据的翻译和转换。为方便用户的应用和体验,为方便用户的应用和体验,EAI产品还提供了能直接进行产品还提供了能直接进行U8数数据导入导出的基本用户界面工具,此工具支持手工和自动导入据导入导出的基本用户界面工具,此工具支持手工和自动导入导出。导出。 U8EAI产品简介产品简介企业内部第三方业务系统与企业内部第三方业务系统与U8的整合的整合l财务整合:凭证上传典型案例:U8网络分销系统通过U8EAI接口向U8财务系统上传结算凭证。l业务整合:单据协同典型案例:U8连锁零售系统通过U8EAI接口与U8销售和库存系统进行业务协同。包括:零售部

7、门下载公司U8系统中的商品、客户档案、库存信息等;往U8系统上传每日结算的零售日报;库存不够了往U8发调拨申请单进行要货调拨等等业务。企业之间的企业之间的B2B业务协作业务协作l供应链协同:供应商远程接收订单。伙伴客户的采购系统通过供应商U8EAI远程接口往供应商U8销售系统提交订单。U8EAI在这两类应用领域中扮演的角色和职责主要是提供U8ERP对外的基本集成接口资源。U8EAI产品应用领域产品应用领域应用特性应用特性l内容完整内容完整涵盖了U8ERP的大部分基本档案和业务单据(含凭证),是U8ERP目前最完整、规范的对外接口。l功能丰富功能丰富支持手动、自动、远程和本地接口等多种数据交换方

8、式;支持数据映射、增量、过滤条件等多种数据交换规则。l接口统一接口统一对外提供了一个统一的服务代理接口,由此接口负责所有数据交换请求(调用)的分发处理,使外部系统对U8的接口依赖减小到最少,降低的系统耦合性。技术特性技术特性l采用采用XML作为数据交换格式作为数据交换格式XML提供了跨平台和低耦合特性,支持COM、.NET、JAVA三种平台。l采用采用Request/Response作为数据交换模式作为数据交换模式数据交换的交互模式采用Request/Response方式,并通过标准的Request和Response消息来承载交互数据信息。l支持本地和支持本地和HTTP远程调用远程调用本地调用

9、采用COM方式;远程调用采用XMLHTTP POST的方式。U8EAI产品特性产品特性U8ERP数据交换业务接口数据交换业务接口: U8ERP各业务模块提供的数据交换接口。EAI数据交换框架数据交换框架: 为管理和调用数据交换业务接口而提供的统一的基础框架,包括数据交换业务基本配置信息以及数据交换服务代理接口和适配器。其中数据交换服务代理接口数据交换服务代理接口负责处理数据交换请求;适配器适配器负责对不同格式和结构的数据信息进行适配转换;数据交换目录数据交换目录集中注册和管理U8产品的所有数据交换业务接口;数据交换元数据数据交换元数据描述了数据接口格式和数据类型定义 ;数据映射规则;数据映射规

10、则描述了数据适配过程中的内外数据的对照映射关系;EAI日志日志用来对数据交换过程进行跟踪和记录。EAI数据交换管理器数据交换管理器: 用来配置和管理数据交换业务。主要包括以数据交换解决方案为中心的各种数据交换要素的配置管理 。其中,解决方案管理解决方案管理主要对各种数据交换配置按照数据交换应用任务为单位进行分类集中管理;外部系统管理外部系统管理用来建立外部系统与U8帐套的集成关系;数据映射管理数据映射管理用来配置外部系统数据与U8数据的对照映射规则,以便在数据交换时进行数据适配和转换(解决数据信息差异问题);适配器管理适配器管理用来管理系统预置和自定义数据适配器、定义适配规则;EAI日志管理日

11、志管理用来查询和处理EAI日志。EAI导入导出工具:导入导出工具:为方便用户的应用和体验, EAI提供了面向最终用户的导入导出工具。能直接进行U8数据导入导出,支持多种格式,支持条件过滤和增量,支持手工和定时自动导入导出。 U8EAI产品基本结构产品基本结构U8EAI产品结构产品结构EAI导入导出工具导入导出工具手动导入导出工具nXML导入导出nEXCEL导入导出n其他格式导入导出导入导出设置条件过滤规则增量规则导入导出目标地址定时计划导入导出任务计划规划设计器任务计划执行引擎U8ERP数据交换业务接口数据交换业务接口基本档案接口财务接口供应链接口生产制造接口其它接口EAI数据交换框架数据交换

12、框架EAI数据交换代理服务-EAI Broker(支持多种协议)EAI数据交换目录EAI数据交换元数据数据映射规则EAI日志适配器框架专用适配器nEXCELnEDI通用适配器(XML)格式和数据适配规则EAI数据交换管理器数据交换管理器外部系统管理数据映射管理适配器管理EAI日志管理解决方案管理U8EAI数据交换接口规范数据交换接口规范EAI接口定义接口定义l本地本地COM接口接口类库:U8Distribute.DLLProgID:U8Distribute.iDistribute方法:String Process(String RequestXml)参数: RequestXml数据交换请求消息

13、,详见数据交换格式定义。 返回值数据交换Response消息,详见数据交换格式定义。l远程远程HTTP接口接口EAI远程数据交换采用XmlHttp POST的方式。接口为:POST上传:数据交换请求消息与本地调用一样,详见数据交换格式定义。 Response接收:数据交换响应消息与本地调用一样,详见数据交换格式定义。EAI数据交换格式数据交换格式 l数据交换消息总体格式数据交换消息总体格式EAI数据交换消息格式分为框架和内容两部分: 框架部分 内容部分 框架部分框架部分包含数据交换的控制信息,其中: U8EAI数据交换接口规范数据交换接口规范sender: 发送方,填外部系统注册码receiv

14、er: 接收方,填u8即可roottag:数据类型,根据EAIXMLTemplate目录中的数据交换模板文件填写proc:数据交换的操作,分为add/edit/delete/query内容部分内容部分指消息中携带的档案或单据等业务数据。U8EAI提供了一整套完整的基本档案和单据的数据交换模版(在EAIXMLTemplate目录下),模板中定义了消息内容部分的格式和字段。lRequset消息格式消息格式Request消息格式的框架部分同上所述,内容部分根据不同的操作有所不同:对于add/edit操作,Request消息的内容就是档案和单据内容,具体格式详见数据模板。对于delete/query操

15、作, Request消息的内容包含过滤条件,条件格式如下: U8EAI数据交换接口规范数据交换接口规范lResponse消息格式消息格式Response消息是EAI接口执行Request消息之后的返回结果,不同的操作有所不同:对于query操作, 返回的结果就是查询的数据,格式详见EAI数据模板。对于add/edit/delete操作,返回的结果包括单据体每一行数据的详细执行结果(由Item节点描述),如下: 凭证的add操作的Response格式比较特殊: voucher_id: 外部系统原始凭证号; u8voucher_id: U8生成的凭证号; succeed: 是否成功,0为成功,非零

16、为失败; accounting_period: 会计期间; voucher_type: 凭证类别第一步:第一步:EAI基本配置基本配置第二步:规划并准备数据第二步:规划并准备数据第三步:根据部署方式选择第三步:根据部署方式选择EAI接口类型接口类型第四步:调用第四步:调用EAI接口,发送数据接口,发送数据第五步:处理返回结果第五步:处理返回结果U8EAI应用集成开发流程应用集成开发流程第一步:第一步:EAI基本配置基本配置1、配置、配置EAI连接连接“开始”- “程序”-“用友ERP-U872”-“企业应用集成(EAI)”-“U8EAI接口设置”U8EAI应用集成开发流程应用集成开发流程2、外

17、部系统注册、外部系统注册切换到外部系统注册页签进行外部系统注册。外部系统注册的目的是为了建立外部系统与U8帐套的数据交换关系。U8EAI应用集成开发流程应用集成开发流程第二步:规划并准备数据第二步:规划并准备数据1、根据项目的需求,分析应用集成业务场景,确定需要与、根据项目的需求,分析应用集成业务场景,确定需要与U8进行数据交换的业务环节。进行数据交换的业务环节。2、对于项目中每一个数据交换环节,确定数据来源,并进、对于项目中每一个数据交换环节,确定数据来源,并进行数据适配,将原始数据转换为符合行数据适配,将原始数据转换为符合U8EAI标准数据交标准数据交换格式的数据(对于换格式的数据(对于a

18、dd/edit的数据必须符合的数据必须符合U8EAI的的数据模板格式)。数据模板格式)。3、对于数据交换过程中需要进行基本档案编码转换的(比、对于数据交换过程中需要进行基本档案编码转换的(比如:订单中存货的编码外部系统与如:订单中存货的编码外部系统与U8可能不一致),可能不一致),可以在可以在EAI的数据交换配置管理中配置档案编码的映射的数据交换配置管理中配置档案编码的映射关系。当然,也可以不使用关系。当然,也可以不使用EAI的数据映射功能,直接的数据映射功能,直接在外部数据转换为在外部数据转换为U8EAI标准格式的代码中处理。标准格式的代码中处理。U8EAI应用集成开发流程应用集成开发流程第

19、三步:根据部署方式选择第三步:根据部署方式选择EAI接口类型接口类型对于需要与对于需要与U8服务器分离部署的应用集成项目,应该服务器分离部署的应用集成项目,应该选择选择EAI的的HTTP远程接口。远程接口。对于可以和对于可以和U8服务器部署在一起的项目,则应选择调服务器部署在一起的项目,则应选择调用用EAI本地本地COM接口。接口。U8EAI应用集成开发流程应用集成开发流程第四步:调用第四步:调用EAI接口,发送数据接口,发送数据本地本地COM调用调用 VB代码:代码: Dim eaiBroker As Object Set eaiBroker = CreateObject(“U8Distri

20、bute.iDistribute”) 创建EAI服务代理接口对象 Dim responseXml As String responseXml = eaiBroker.Process(requestXml) 调用EAI服务代理的数据交换方法Process,传入Request交 换消息, 并获取EAI返回的Response消息。 . 处理返回结果 Set eaiBroker =Nothing 释放EAI服务代理接口对象 .Net代码:代码: 引用U8SOFTEAIU8Distribute.dll U8Distribute.iDistributeClass eaiBroker = new U8Dis

21、tribute.iDistributeClass(); /创建EAI服务代理接口对象 String responseXml = eaiBroker.Process(requestXml); /调用EAI服务代理的数据交换方法Process,传入Request交换消息, 并获取EAI返回的Response消息。 . /处理返回结果 System.Runtime.InteropServices.Marshal.FinalReleaseComObject(eaiBroker); /释放EAI服务代理接口对象U8EAI应用集成开发流程应用集成开发流程 JAVA代码:代码: 采用JNI、JCOM、JAC

22、OB技术调用EAI服务代理COM组件,下面以JACOB为例: import .Dispatch; import .Variant; class Test public static void main(String args) Dispatch eaiBroker = new Dispatch(U8Distribute.iDistribute); /创建EAI服务代理接口对象 String responseXml = Dispatch.call(eaiBroker, Process, new Variant(requestXml); /调用EAI服务代理的数据交换方法Process,传入Req

23、uest交换消息, 并获取EAI返回的Response消息。 . /处理返回结果 U8EAI应用集成开发流程应用集成开发流程HTTP远程调用远程调用 远程调用采用HTTP POST的方式上传Request消息。 VB代码:代码: Dim xmlhttp As Object Set xmlhttp = CreateObject(“MSXML2.XMLHTTP”) 创建XMLHTTP对象 Call xmlhttp.open(“POST”, “http:/u8appsrv/u8eai/import.asp”, False) 使用XMLHTTP对象打开网络连接,URL中的u8appsrv填U8应用服务

24、器 xmlhttp.send requestXml 发送Request消息 Dim responseXml As String responseXml = xmlhttp.responseText 获取返回Response消息 . 处理返回结果.Net代码:代码: 引用D:U8SOFTInteropInterop.MSXML2.dll MSXML2.XMLHTTPClass xmlHttp = new MSXML2.XMLHTTPClass(); xmlHttp.open(POST, http:/localhost/u8eai/import.asp, false, null, null); x

25、mlHttp.send(dom.OuterXml); String responseXml = xmlHttp.responseText; /处理返回结果 System.Runtime.InteropServices.Marshal.FinalReleaseComObject(xmlHttp); /COM释放U8EAI应用集成开发流程应用集成开发流程 JAVA 代码:代码: class Test public static void main(String args) URL url = new URL(http:/localhost/u8eai/import.asp); HttpURLCon

26、nection con = (HttpURLConnection)url.openConnection(); con.setConnectTimeout(3000000); con.setReadTimeout(3000000); con.setDoInput(true); con.setDoOutput(true); con.setAllowUserInteraction(false); con.setUseCaches(false); con.setRequestMethod(POST); con.setRequestProperty(Content-type,application/x-

27、www-form-urlencoded); /发送Request消息 OutputStream out = con.getOutputStream(); DataOutputStream dos = new DataOutputStream(this.out); dos.write(requestXml.getBytes(UTF-8);/获取Response消息InputStream in = con.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(in);StringBuilder s

28、b = new StringBuilder();String s = null;while (s = br.readLine() != null) sb.append(s);String responseXml = sb.toString(); U8EAI应用集成开发流程应用集成开发流程第五步:处理返回结果第五步:处理返回结果分析返回结果,处理返回结果就是处理分析返回结果,处理返回结果就是处理Response消息,消息, Response消息格式在消息格式在“EAI数据交换接口规范数据交换接口规范”中已经中已经详详 细介绍了。细介绍了。U8EAI应用集成开发流程应用集成开发流程最佳实践最佳实践

29、活用活用EAIEAI接口接口关于二次开发中关于二次开发中U8U8接口选择接口选择U8U8与外部系统集成最佳开发模式与外部系统集成最佳开发模式活用活用EAI接口接口EAI通用通用SQL查询接口查询接口 由于EAI接口返回的数据格式是固定的标准格式,很有可能返回的数据中没有用户所需要的字段;另外,对于U8中的业务数据,EAI接口也不是100%覆盖的。 针对以上情况,EAI提供了一个灵活的数据查询通用接口-EAI通用SQL查询接口,该接口支持向EAI数据交换代理传递SQL语句进行查询操作,可以查询当前U8帐套的所有数据,用户不用直接访问U8帐套库。查询返回的结果为.Net中的Dataset的XML格

30、式的数据。调用该接口只需给EAI数据交换服务代理传递特殊的Request消息即可: Request消息格式如下: 其中内容部分 节点为SQL查询语句。框架部分的roottag值必须固定为“SQLEXE” , proc的值用来标识Dataset的行节点,可以是任意字符串。 活用活用EAI接口接口Response消息格式如下: 1true采购1部2true销售1部根节点的proc的值用来标识Dataset的行节点,一般为表名。活用活用EAI接口接口使用条件过滤使用条件过滤查询单条数据的时候往往需要带上条件,可以采用EAI通用SQL查询,也可以采用EAI标准的条件查询格式: 注意控制部分的roott

31、ag要与内容根节点呼应。活用活用EAI接口接口关于内外格式适配问题关于内外格式适配问题外部系统通过EAI与U8进行数据交换,首先必须解决数据格式匹配问题,必须将外部系统数据格式变换为U8EAI标准数据格式,EAI当前的版本还没有实现完善的适配器机制,故目前常见的做法是直接在项目工程的二次开发代码中做转换,这种方式虽然很高效,但是不灵活,不能适应规则或需求变化(一旦有变化,则需要调整代码重新编译),推荐一个比较好的做法是将数据格式转换功能做成一个通用服务,采用XSLT作为转换引擎,XSLT脚本作为转换规则,这样,应对任何格式甚至业务规则的变化只需要调整XSLT脚本即可。 关于客户化开发中关于客户

32、化开发中U8接口选择接口选择要在客户化开发代码中调用要在客户化开发代码中调用U8的某项功能,目前有三种选择:的某项功能,目前有三种选择:直接访问U8数据库:优点是最直接,能够完全自我控制;缺点是最危险,需要对产品的实现机理和数据库表结构都非常了解。使用U8开发部提供的内部接口:优点是可以复用现有接口,不需要重复劳动,而且内部使用的接口一般都比较灵活;缺点是太灵活,不易用,粒度太细,依赖和耦合度太强,需要很多上下文条件,需要总部强有力的技术支持!使用U8对外公布的产品化的标准接口U8EAI与U8API(872新增加):优点是经过严格测试,编程模型统一,业务粒度适中,功能相对独立完整,耦合度和依赖

33、都不强。缺点是标准化后导致不灵活,另外功能覆盖度不是很全面(持续完善中!)。U8EAI与与U8API接口接口 U8EAI与U8API接口看起来比较类似,但它们的特性有差别。 U8API采用传统的编程模式,更靠近底层,业务逻辑粒度更细,而且还需要或依赖一些特定的上下文环境,比如:login、事务等;而U8EAI接口则是完全松耦合的,采用XML和请求/响应的消息模式,支持跨平台和远程访问,且业务粒度比较粗放。这些特性的差别决定了它们的应用领域不同,U8API更适合于U8内部的功能扩展和客户个性化二次开发,而U8EAI则适合外部系统与U8之间以业务数据交换为特征的应用集成开发。 U8与外部系统集成最

34、佳开发模式与外部系统集成最佳开发模式简单应用简单应用凭证上传(企业内部)凭证上传(企业内部)业务描述:企业资金管理系统将结算凭证上传到企业U8财务系统。可能需要的步骤:1、保证科目、客户、供应商等基本档案的一致 方法一:在EAI中配置相关基本档案的数据映射。 方法二:将外部系统的相关基本档案通过EAI接口同步到U8;或者,将U8的相关基本档案通过EAI接口导出,然后同步到外部系统。中间需要进行格式转换。2、将外部系统的凭证通过EAI接口传递给U8 凭证的格式必须符合U8EAI标准格式。开发模式:外部系统二次开发 + U8EAI接口订单提交(订单提交(B2BB2B)业务描述:企业订货系统自动向供

35、应商U8系统下达订单。可能需要的步骤:1、保证相关基本档案的一致 方法基本同上2、将销售订单通过EAI接口传递给U8 可能需要将对方系统的采购订单转换成U8EAI的标准销售订单格式。开发模式:外部系统二次开发 + U8EAI接口 U8与外部系统集成最佳开发模式与外部系统集成最佳开发模式复杂应用复杂应用企业内部子系统一体化应用集成企业内部子系统一体化应用集成 比如,制造企业的PDM + U8ERP + MES,商业零售企业的零售POS + U8ERP, 产销一体化企业的U8ERP + DRP。U8EAI在这种紧密集成的应用场景中的角色是高度专业化的,只作为U8对外开放的基本集成接口资源,不承担其

36、它职能。 开发模式:采用第三方集成平台工具产品进行综合性二次开发,U8EAI接口作为U8系统的基本集成资源。企业之间的业务协作企业之间的业务协作 采用水平一体化战略的企业与供应商、合作伙伴之间存在采购供应协作以及委外协作关系。这种B2B的应用场景不像企业内部集成那样紧密而耦合度高,互相之间的协作交流更多的是基于各个系统提供的能完成它们在协作中基本职能的集成门户进行,而不是单个的接口。这样,可以将U8EAI的分散独立的接口按照协作任务的需要进一步整合包装成为完成当前协作任务的U8集成门户,这样的整合封装,可以为企业提供更加专有的、有针对性的、更加面向企业实际应用的集成接口。 开发模式:在战略规划的指导下,明确各系统职责并进行集成门户封装,最后由第三方集成平台工具来完成桥接工作。 TEL: 010-62435316MAIL:Thanks!联系方式联系方式

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号