业务管理业务数据通讯模块概要设计文档.docx
《业务管理业务数据通讯模块概要设计文档.docx》由会员分享,可在线阅读,更多相关《业务管理业务数据通讯模块概要设计文档.docx(18页珍藏版)》请在冰豆网上搜索。
业务管理业务数据通讯模块概要设计文档
(业务管理)业务数据通讯模块概要设计文档
业务数据通讯模块概要设计文档
杭州方欣计算机工程有限公司
2009年7月
引言3
概述4
1、背景介绍4
2、通讯需求4
采用TCP/IP协议4
传递报文4
同步或异步传输4
文本或文件传输4
3、通讯示意图4
第壹章通讯业务基本规则6
1、通讯中涉及到的数据范围及数据流向:
6
2、总公司FTP服务器规范说明:
6
3、分公司端和总公司端通讯报文:
6
3.1、用途6
3.2、格式6
第二章客户端交易过程流程图7
第三章服务端交易过程9
第四章通讯关联业务描述9
壹、基础资料传输交易9
二、基础资料传输流程图10
三、开票信息传输交易10
四、开票信息传输流程图10
第五章通讯报文格式描述12
分公司和总公司通讯报文12
1、基础资料传输交易12
2、基础资料传输状态查询交易14
3、开票信息传输交易14
4、开票信息传输状态查询交易15
5、网络状态查询17
第六章附录17
壹、交易存储过程返回代码说明:
17
引言
〖阅读指南〗
。
〖阅读对象〗
〖名词解释〗
【注意】
联系人
【警告】
无。
概述
1、背景介绍
于某大型企业的信息化应用中,分公司的业务系统需要和总公司的系统进行数据通讯和传输,每天总公司需要获得分公司的业务数据,如产品销售情况,同时更新分公司相应的基础资料信息。
数据通讯必须要遵守标准协议和约定,所以分公司数据通讯客户端和总公司的数据通讯模块服务器端之间要有统壹的业务接口。
以便通讯服务器端于接收客户端数据后,可把数据传递给总公司管理系统,总公司管理系统把处理的结果返回给通讯服务器端,通过服务器端再把应答消息返回给分公司数据通讯客户端。
2、通讯需求
采用TCP/IP协议
采用标准的TCP/IP协议。
通讯服务端是TCP/IP的服务端,是通讯连接和关闭的被动方。
传递报文
通讯报文、业务报文格式由总公司已拟订好,通讯服务器端于接收客户端的业务报文后,根据报文内容进行后续处理,处理后生成处理结果,再把此结果信息返回给分公司客户端。
同步或异步传输
传输能够使用同步或异步模式。
如果是同步模式,服务器端把业务处理完毕后才能返回消息给客户端;如果是异步模式,则服务器端接收完数据后就先把应答消息头返回给客户端,再传递业务数据处理。
文本或文件传输
可支持文本传输,同时也支持文件的传输。
文件的传输通过FTP进行传输。
3、通讯示意图
第壹章通讯业务基本规则
1、通讯中涉及到的数据范围及数据流向:
注:
为了说明方便,通讯端客户端指分公司,通讯端服务端指总公司。
数据流向说明:
开票数据:
分公司-〉总公司-〉分公司(说明:
客户端发起交易生成数据,传送到服务端,服务端经过数据处理后返回日志,客户端获取日志后根据日志内容修改数据库)
基础数据:
总公司-〉分公司:
(说明:
客户端发起交易但不生成数据,由服务端生成数据,客户端获取数据后根据数据内容修改数据库)
数据覆盖原则:
以总公司为准进行覆盖。
数据范围及数据流向表
交易名称
数据流向
落地机制
数据覆盖机制
基础资料传输交易
总公司-〉分公司
允许部分落地,无法落地的信息记入错误日志表
以总公司为准进行覆盖;
服务端返回数据项中:
总公司没有分公司有,采取删除原则。
开票信息传输交易
分公司-〉总公司-〉分公司
允许部分落地,无法落地的信息记入错误日志表
日志返回成功的结果回写开票表的传送标记字段,不成功的结果则不操作
2、总公司FTP服务器规范说明:
总公司FTP服务器根据不同分公司建立用户,用户名和密码均为分公司编码,于总公司FTP上建立壹个目录做为根目录,然后以分公司编码做为子目录名,客户端和服务端生成的数据文件上传到该分公司编码的子目录下,命名方式以YYYYMMDD-业务名称XX.xml,总公司返回日志文件名称为YYYYMMDD-业务名称YZXX.xml。
3、分公司端和总公司端通讯报文:
3.1、用途
通讯中,任何方发送或接收的第壹个内容必须是专用报文。
发送方利用专用报文告诉接收方:
本次通讯的目的、方式、内容;接收方必须接收到专用报文后才能确定后续应该如何操作。
3.2、格式
专用报文长度必须是512字节。
如果不足512字节,则必须用空格补充。
下表说明专用报文的组成结构:
序号
名称
长度
(字节)
说明
1
应答码
4
如果本字段为“9999”,则表示是客户端向服务器发送的请求;如果本字段为“0000”,则表示服务器向客户端返回成功信息;如果本字段为“0001”,则表示客户端接收数据超时;如果本字段为“0002”,则表示接收服务器向客户端返回失败信息。
如果本字段为“5555”,则表示客户端向服务器发送断开连接的请求。
2
同步或异步
1
0:
同步;1:
异步
3
文件名
50
本字段于服务器端passMessage调用时起作用。
4
文件传输标识
10
本字段于服务器向客户端传输文件时的标识,值为”0”则代表通过本系统传输,值为”1”则代表通过FTP服务器传输。
本字段不够长度的用空格补全.
5
业务报文长度
10
如果本字段为0,则表示专用报文后不需传输业务报文;如果不为0,则表示专用报文后紧跟着传输的是本字段所规定长度的业务报文。
6
数据文件长度
10
如果本字段为0,则表示于传输业务报文之后不需要再传输数据文件;如果本字段不为0,则表示业务报文后紧跟着传输的是数据文件的内容。
7
消息鉴别码
10
服务器端于接收到数据后要对该数据进行消息鉴别码的判断,如果不壹样,说明数据被篡改.不再作业务处理,告诉业务业务处理失败应答.(暂不用算法实现,用10个A填充);
第二章客户端交易过程流程图
流程说明:
主要为俩个交易:
基础资料交易、开票信息交易
基础资料交易
[1]客户端向服务器端发送网络状态查询报文,监测能否接受服务器应答而决定是否进行后续操作。
[2]客户端向通讯服务器端发送传输交易业务报文。
[3]通讯服务器端的业务模块进行业务关联数据操作,生成该分公司的基础资料。
[4]通讯服务器端业务模块把生成的处理结果上传至总公司FTP服务器。
[5]客户端向通讯服务器端发送查询交易业务报文。
[6]通讯服务器业务模块检查该次业务数据操作是否完成,且返回查询结果报文。
[7]服务器端向客户端返回处理结果消息及基础资料文件。
[8]客户端根据服务器端返回结果决定是否进行后续操作,成功则去FTP服务器上下载处结果文件。
[9]客户端做数据验证且做更新本地基础资料数据操作,产生日志,日志本地保存,且上传至总公司FTP服务器。
开票信息交易
[1]客户端向服务器端发送网络状态查询报文,监测能否接受服务器应答而决定是否进行后续操作。
[2]客户端生成开票数据文件,且把生成的数据文件上传至向总公司FTP服务器。
[3]客户端向通讯服务器端发送传输交易业务报文。
[4]通讯服务器端的业务模块收到开票数据文件,然后进行业务关联数据操作。
[5]客户端向通讯服务器端发送查询交易业务报文。
[6]通讯服务器业务模块检查该次业务数据操作是否完成,且返回查询结果报文。
[7]服务器端向客户端返回处理结果消息。
[8]客户端根据服务器端返回结果决定是否进行后续操作,成功则去FTP服务器上下载处结果文件。
[9]客户端做数据验证且做更新本地开票数据操作,对于总公司已成功接收的开票数据打上已传输标识,且产生日志,日志本地保存,且上传至总公司FTP服务器。
第三章服务端交易过程
流程说明:
[1]通讯服务器端接受客户端的传输交易报文,读取客户端上传文件,经过基本验证后返回应答报文。
[2]通讯服务器端的业务模块进行业务数据操作,且生成返回处理结果。
[3]业务模块生成处理结果且上传至总公司FTP服务器。
[4]通讯服务器端接受客户端的传输交易报文,经过基本验证后返回应答报文。
[5]客户端根据应答报文内容决定是否进行后续操作,成功则去FTP服务器上下载处结果文件。
[6]客户端做数据验证且入库操作,产生日志,日志本地保存,且上传至总公司FTP服务器。
注:
服务端程序功能已经实现,会根据报文内容处理服务端的事务。
因此服务端程序功能不需要于本需求中实现。
第四章通讯关联业务描述
壹、基础资料传输交易
分公司通过这个交易,准确地获取到公司的俩个方面的基本信息。
其中包括:
1、分公司的基本信息。
分公司基本信息以总公司为准,每次更新总公司下发的最新信息。
2、产品列表信息。
产品列表以总公司为准:
1)更新已经存于的产品列表信息。
2)停用或者删除(未存于开票信息)没有下发确于分公司已经存于的产品列表信息。
二、基础资料传输流程图
三、开票信息传输交易
分公司端通过这个交易,将某段时间内的业务销售开票信息(包括销售单和退货单)传送到总公司。
根据业务表[YW_BILLINFO]的传送标记字段[CSBJ],查询出需要未上传的票据信息CSBJ=0。
根据报文格式生产上传的XML文件。
最后根据报文格式生成数据文件上传总公司FTP服务器,再由开票信息传输交易报送到总公司端,总公司端经过验证后数据部分落地后返回日志且上传总公司FTP服务器,分公司端下载日志后分析内容,如果有错则分公司端修改数据后重新传送。
四、开票信息传输流程图
第五章通讯报文格式描述
分公司和总公司通讯报文
交易名称
实时性要求
交易代码
基础资料传输交易
同步、实时
76
基础资料传输状态查询交易
同步、实时
77
开票信息传输交易
同步、实时
80
开票信息传输状态查询交易
同步、实时
81
网络状态查询
同步、实时
88
1、基础资料传输交易
交易涉及到的内容:
1、分公司的基本信息。
分公司基本信息以总公司为准,每次更新总公司下发的最新信息。
2、产品列表信息。
产品列表以总公司为准:
1)更新已经存于的产品列表信息。
2)停用或者删除(未存于开票信息)没有下发确于分公司已经存于的产品列表信息。
1.1报文格式
分公司向总公司发送报文:
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--基础资料传输交易
“交易类型”--76
“交易验证信息”--基础资料传输交易
“所属区域码”
“分公司编码”
“传输日期”--格式(YYYY-MM-DD)
“批次号”--从0开始递增
总公司向分公司返回报文:
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--基础资料传输交易
“交易类型”--76
“交易验证信息”--基础资料传输交易
“返回码”--错误码详见(错误列表)
“返回码信息”
1.2总公司向分公司返回的基础资料信息(文件)
1、作用:
总公司接到分公司的基础资料信息传输交易请求成功后,生成基础资料信息文件(俩个文件),然后用分公司编码作用户名,分公司编码为密码的口令登录总公司端FTP服务器,总公司端的目录结构以分公司编码做为目录,且上传至总公司FTP服务器供客户端下载。
2、命名规范:
①YYYYMMDD-DWXX-批次号.xml(分公司的基本信息文件)
②YYYYMMDD-CPLBXX-批次号.xml(产品列表信息文件)
3、文件格式:
①YYYYMMDD-DWXX-批次号.xml(分公司的基本信息文件)
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--基础资料传输交易
“交易类型”--76
“交易验证信息”--基础资料传输交易
-分公司信息,多条,实际上只有壹条
分公司编码
“分公司所属区域码”
“分公司名称”
“分公司简称”
“地址”“邮编”
“法人代表联系电话”
“法人代表姓名”
“法人代表(传真)”
“财务负责人姓名”
“财务负责人(联系电话)”
“财务负责人(传真)”
“业务负责人(姓名)”
“业务负责人(联系电话)”
“业务负责人(传真)”
“于职人数”
“离退休人数”
“临时人数”
“是否开展项目业务”
“公司授权”
“数据库同步标志”
“最近同步日期”
“备注”
“电子邮件”
“传真号码”
“3位码”
②YYYYMMDD-CPLBXX-批次号.xml(产品列表信息文件)
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--基础资料传输交易
“交易类型”--76
“交易验证信息”--基础资料传输交易
--产品列表信息,多条
“产品ID”
“产品系列”
“产品名称”
“单位”
“单价”
“折扣率”
“是否特价”
“是否为默认显示”
“是否为主营产品”
“状态”
2、基础资料传输状态查询交易
分公司向总公司通讯报文:
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--基础资料传输状态查询交易
“交易类型”--77
“交易验证信息”--基础资料传输状态查询交易
“所属区域码”
“分公司编码”
“传输日期”--格式(YYYY-MM-DD)
“批次号”
总公司向分公司通讯报文:
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--基础资料传输状态查询交易
“交易类型”--77
“交易验证信息”--基础资料传输状态查询交易
“返回码”--错误码详见(错误列表)
“返回码信息”
“基础资料信息文件名称”--(多个文件名称间用“,”分隔)
“基础资料信息文件大小”--(多个文件大小间用“,”分隔)
3、开票信息传输交易
3.1报文格式
分公司向总公司发送报文:
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--开票信息传输交易
“交易类型”--80
“交易验证信息”--开票信息传输交易
“所属区域码”
“分公司编码”
“交易时间”--格式(YYYY-MM-DD)
“批次号”--从0开始递增
“开票信息文件名称”
“开票信息文件大小”
总公司向分公司返回报文:
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--开票信息传输交易
“交易类型”--80
“交易验证信息”--开票信息传输交易
“返回码”--错误码详见(错误列表)
“返回码信息”
3.2分公司向总公司提供开票信息(文件)
1、作用:
分公司日常业务中,发生业务数据,销售单或退货单,每天下班后,定时将业务开票数据传送到总公司,由总公司进行业务数据入库。
2、命名规范:
YYYYMMDD-KPXX-批次号.xml
3、文件格式:
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--开票信息传输交易
“交易类型”--80
“交易验证信息”--开票信息传输交易
--开票信息,多条
“票据种类编码”--(3位)
“票据号码”--(10位)
“分公司编码”--(6位)
“所属区域码”--(6位)
“开票日期”--格式为(YYYY-MM-DD)
“票据开具状态”--(1位:
1正常,2错票,3废票)
“客户全称”--(最大60字节)
“票据合计金额”--NUMBER(16,4)
“收款方式”--(1位:
0现金,1转支)
“开票员用户编码”--(最大20位)
“开票员用户名称”--(最大30字节)
“备注”
--票面明细,多条
“产品编码”--(最大20位)
“单位”--(最大20位)
“单价”--NUMBER(16,4)
“数量”--NUMBER(16,4)
“金额”--NUMBER(16,4)
“备注”
4、开票信息传输状态查询交易
4.1报文格式
分公司向总公司通讯报文:
xmlversion="1.0"encoding="GBK"?
>
“交易名称”--开票信息传输状态查询交易
“交易类型”--81
“交易验证信息”--开票信息传输状态查询交易
“所属区域码”
“分公司编码”
“交易时间”
“批次号”
“票据信息文件名称”
“票据信息文件大小”
总公司向分公司通讯报文:
xmlversion="1.0"encoding="GBK"?
>
“交易名