《用友NCV5-外部交换平台技术红皮书》由会员分享,可在线阅读,更多相关《用友NCV5-外部交换平台技术红皮书(66页珍藏版)》请在金锄头文库上搜索。
1、 外部交换平台 实施技术红皮书 NC-UAP 5.0 用友 NC-UAP 2010-07-28 目 录 第一章第一章 1 总体概述总体概述 1. .1 外部交换平台总体结构 2. .1 外部交换平台功能特点 3. .2 外部交换平台V50 版新增功能 第二章第二章 4 实施简介及相关注意点实施简介及相关注意点 1. .4 实施方法简介 1.1 外系统数据导入的一般步骤.4 1.2 外部交换平台服务器端文件目录结构.5 2. 7 Servlet的URL地址参数与XML交换文档头属性的关系 3. .8 向NC系统发送数据方式 3.1 手动界面发送.8 3.2 后台预警发送.9 3.3 自定义程序发
2、送.11 4. .12 回执及异常出错信息 4.1 回执格式.12 4.2 异常和错误编码.13 5. .13 外部交换平台总体参数设置 5.1 单据导入方式.14 5.2 单篇最大传输上限.14 5.3 导入过程是否记录中间文件.15 5.4 外部系统默认帐套.15 5.5 设置客户端IP范围.15 5.6 接收公司匹配规则.15 5.7 回执文件后台备份.16 5.8 回执和导出文件编码格式.16 6. .16 单据流水号和单据并发控制 6.1 单据流水号的概念和作用.16 6.2 单据并发控制.17 第三章第三章 18 单据交换规则定义单据交换规则定义 1. .18 基础篇简单单据配置
3、1.1 表头记录的配置.20 1.2 表体记录的配置.21 1.3 字段属性项的配置.22 2. .30 高级篇复杂字段配置 2.1 .30 VO记录的配置规则 2.2 简单数组记录的配置规则.32 2.3 .34 VO数组记录的配置规则 第 2 页 第 3 页 2.4 简单集合记录的配置规则.36 2.5 .38 VO集合记录的配置规则 第四章第四章 44 基于外部交换平台的单据集成开发基于外部交换平台的单据集成开发 1. .44 注册单据相关信息 2. .47 生成配置交换规则定义文件 3. .50 辅助信息项设置 4. .51 插件代码维护 第五章第五章 单据集成示例单据集成示例53 1
4、. .53 问题描述 2. .53 设计 3. .53 具体开发指导 3.1 单据插件信息注册.53 3.2 单据转换规则定义.54 3.3 插件代码编写和部署.54 3.4 修改单据转换规则.55 3.5 手动加载测试.55 附录附录.60 1. .60 发送结果错误码 2. 63 K系统自定义项目档案样本defdoc.xml 第一章第一章 总体概述 总体概述 1. 外部交换平台总体结构外部交换平台总体结构 外部交换平台 外系统自动发 送数据 手动加载数据 自动加载代理 NC基础数据 模块 Servlet 接收外系统 的文档 XML 处理器 解析数 据并翻 译转换 NC财务 业务模块 NC供
5、应链 业务模块 日志和中间文 件整理服务 基础数据对 照表 外部系统注册 外系统接收代 理 XML数据包 XML数据包 XML数据包 XML数据包 数据高速缓存 NC 业 务 模 块 适 配 器 辅助信息配 置 转换规则定义 图 1.1.1 外部交换平台总体结构图 外部数据交换平台主要用于外部系统和 NC 系统进行集成。利用外部数据交 换平台,可以将外系统的基本档案和业务数据发送到 NC 系统中,并进行相关的 业务操作,如审批、弃审,也可以通过发送 XML 格式的查询条件导出 NC 系统 的数据(需业务插件支持) ,导出的数据可以附着在回执文件中,也可以直接向 外部系统回发 HTTP 请求。
6、2. 外部交换平台功能特点外部交换平台功能特点 采用 XML 格式作为统一的数据交换标准, 为数据访问提供简便、 统一的 模式。XML 格式在数据表达和描述方面有着很大的优势,逐渐成为业界 的标准,采用 XML 格式作为交换标准格式可以很好的保护企业投资。 面向服务的架构。这使得第三方系统可以随时随地向 NC 系统发送相关 的业务数据, NC 内部的预警服务及工作流引擎使得 NC 系统可以在合适 第 1 页 灵活配置。数据转换的规则可灵活定义,独立于应用集成和业务逻辑, 也就是说根据不同的外部数据结构, 直接通过修改交换规则文件的定义, 即可达到各种异构数据无缝集成的目的。 自由扩充。对于标准
7、产品不支持的业务单据,如果有集成需求,外部交 换平台提供了向导式的二次开发工具,集成了所有与二次开发相关的功 能及配置,支持动态部署,可以在用户环境上进行快速有效的开发。 3. 外部交换平台外部交换平台V50 版新增功能版新增功能 与外部交换平台 V3 序列产品相比,V50 版外部交换平台在功能上得到了进 一步的完善,在易用性上也有了很大改进。 1) 单据交换规则的定义更加丰富和灵活。可以为某一单据模型中的某一字 段定义路径,也可以为一个集合中的实体元素定义路径,甚至可以为某 个字段定义 XML 结构查询的公式。这些都得益于对 XPath 功能的模拟, 使得 XML 文件间结构转换的能力更强,
8、但这个交换规则的学习成本可能 比较大,后续版本需要图形化和简洁化。 2) 为基于外部交换平台的自定义单据的集成提供了一个快速开发工具。这 个工具以向导方式将集成一个自定义单据所要做的工作贯穿起来,包 括:单据信息注册、校验文件生成、样本数据导出、辅助信息格式配置、 业务插件类代码生成和编写,甚至还包括业务插件类代码的实时编译和 部署,样本数据的导入测试和结果展示等。 3) 启用 NCV50 新缓存机制。这不但使得外部系统设置、辅助信息设置和基 础数据对照表的设置能够实时地作用于外部数据导入过程中,而且对于 基本档案数据的访问也实现了实时性,效率得到了更高的优化。 4) 基础数据对照导入功能更加
9、丰富。 基础数据对照在 V35 版根据基本档案 自动增加的基础上,新增了基础数据对照的 XML 文件增加和 EXCEL 文件增加的功能。 5) 外部交换平台总体参数配置功能更加丰富和完整。这部分配置主要包括 单据导入方式、接收公司匹配规则、导入过程是否记录中间文件、回执 和导出文件编码格式、设置客户端 IP 范围等,这些功能的可配置性极 大地提高了外部交换平台的灵活性和可扩展性。 6) 对单据导入过程中的并发程度进行控制。对于某一单据类型,一共给出 了四种并发控制程度,实施人员可根据具体情况设置合理的并发控制级 别,避免单据并发导入引发的错误。 7) 外系统数据实现后台异步发送。借助预警平台的
10、定时触发功能,系统可 以自动将保存在服务端某个目录下的外系统数据导入 NC 系统中,实现 了异步驻留的数据发送方式。 8) 对数据导入过程中的异常进行了重新划分,对于错误信息进行了编码。 前者带来的好处就是错误提示信息更加明确化,后者主要用于第三方系 统程序内部识别导入过程中是否出现错误以及具体的错误信息。 第 2 页 9) 进一步约束外部交换平台导入单据的语义。对每个单据需要定义一个组 织字段,用于确保往某个接收方,比如说 A 公司做加载数据时,导入的 数据能真正进入 A 公司,这个组织字段一般是公司或者主体账簿。为单 据定义组织字段之后,如果数据里相应组织字段的值不为空,则要求其 值与接受
11、方保持一致,如果数据里相应组织字段的值为空,则取接受方 的内容为组织字段的值。 10) 易用性改进。 【手动加载界面】对文件目录、回执目录、目标 URL 地址、 加载成功转移目录的配置增加记忆功能,就是说以相同公司相同用户登 陆时,上述各项的配置内容默认显示为最后一次用户设置的值,避免用 户每次都需要重新设置。 【交换规则定义】增加了查找、定位字段的功 能,单据交换规则树上的右击菜单也更加简练明确,同时为字段的导入 导出公式定义增加新版本的公式编辑器,定义公式更加方便简洁。 上述功能我们在接下来的内容中会具体提到。 第 3 页 第二章第二章 实施简介及相关注意点 实施简介及相关注意点 NC 外
12、部交换平台的主要功能就是将不同外系统的数据导入 NC 系统。由于不 同系统之间对于相同单据的数据在表示上千差万别, 需要外部交换平台对单据的 XML 格式的外系统数据进行格式转换和数值翻译,然后将转换后生成的 XML 格式 的NC标准数据实例化为NC系统对应单据的数据对象, 并调用业务模块的接口 (服 务)进行保存或者更新。 NC 系统在后台有一个 Servlet 伺候服务,等待并处理客户端的 POST 方法请 求(外部交换平台提供界面客户端和预警客户端,对于同步集成方式,外系统可 以自定义发送客户端) 。客户端往根据 Servlet 的 URL 建立的连接的输出流中写 待发送数据文件的内容,
13、而后台服务端则从请求的输入流中读取数据文件内容, 然后再进行后续处理。关于客户端发送数据的具体内容请参考 2.3 节。 2.1 节介绍了要将某个外系统的某种单据类型的数据文件导入至 NC 系统的 最简单方法。其余小节介绍了在实施数据导入过程中容易混淆而需要注意的地 方,或者是一些常用的工具等。 1. 实施方法简介实施方法简介 1.1 外系统数据导入的一般步骤 外系统根据单据类型将相同单据类型的数据组织在一个 XML 文件中, 然后将 其发送到 NC 系统的某个账套下的某个公司或集团中(对于有账簿信息的单据而 言,比如会计科目或者凭证,则是某个公司的某个账簿之下) 。一般来说,如果 需要发送某种
14、单据类型的数据至 NC 系统中,需要如下几步: 一、注册外部系统。如果不存在可用的外系统的话,请在“外部系统信息注 册”界面中注册一个外部系统。 二、准备外系统数据。这份数据可能是外系统直接输出的,也可能是二次开 发人员通过写程序从第三方系统数据库中抓出来的, 或者由 Excel 格式或其他格 式文件转换过来的。写这份数据时,可以参考 NC 安装盘附带的 XML 模板,XML 文件头或者说文档头的属性项请参照 2.2 节详细说明。 三、配置辅助信息(可选) 。如果要导入的单据数据需要辅助信息配置,在 “辅助信息配置”界面根据外部系统、单据类型、接收公司及主体帐簿(如果带 的话)为此次文件发送配
15、置辅助信息。 四、设置基础数据对照(可选) 。如果要导入的单据数据需要作基础数据对 照(对于需要参照基本档案的字段,如果其值不能按名称或者编码自动翻译过来 第 4 页 的话,在导入过程中系统会自动提示必须为该值做基础数据对照) ,在“基础数 据对照”界面根据需要参照的外部系统、需要参照的基本档案、公司(取当前登 陆公司)及主体帐簿(如果带的话)为需要对照的值做基础数据对照。 六、配置 Servlet 的 URL 地址。将要发送至的帐套编码作为 account 属性值 写入要发送到的 Servlet 的 URL 中(或者写入 XML 文件的头中) ,将接收公司和 主体帐簿(如果带的话)的代码拼成
16、接收方(接收公司编码接收主体账簿编码) 作为 receiver 属性写入要发送到的 Servlet 的 URL 中(或者 XML 文件的头中) 。 详细说明请参见 2.2 节。 最后,就可以利用客户端触发该单据类型的数据文件的发送了。 NC 外部交换平台内置了常用单据类型数据的导入功能,对于这些单据类型, 如果外系统数据遵照了这些单据类型的交换规则定义(即如果外系统的数据严格 按照 NC 安装盘附带的相应单据的 XML 模板生成), 那么按上述步骤相对比较简单 地就可以导入数据。但是如果外系统数据未能遵照单据类型的交换规则定义,则 需要修改该单据类型的交换规则定义。 做法就是将该单据的普通交换规则定义文 件另存为另存为特定该外部系统的交换规则定义文件, 并根据单据交换规则定义规范修 改该特定交换规则定义文件,具体需要参见第三章单据交换规则定义,然后再 行导入。对于非系统内置或者自定义的单据的导入,需要基于外部数据交换平台 做二次开发,这部分内容可参见第四章。 1.2 外部交换平台服务器端文件目录结构 外部交换平台服务端的目录结构安排如图 2.1.