银行数据交换平台开发总结(原创)

      银行数据交换平台简单来说就是基金公司与银行进行数据交换的过程,主要有划款指令、余额查询和流水查询等等,基金公司不能直接与银行进行连接,而是通过深圳证券通信有限公司的数据交换中枢进行联通,银行提供相应的报文格式(XML格式),(深圳证券通信有限公司以下简称深证通)提供C++的API函数供基金公司和银行调用,基金公司和银行通过调用API函数再经过前置机实现互通的过程。这样出去的数据不需经过加密和解密进行操作。

      开发时间:2013年6月1日-2013年9月15日。

      首先项目经理提供给我的资料非常少,只提供了银行的报文格式(EXCEL文档格式)和深证通的API函数文档及DLL文件,程序设计一切未进行交代。当初在接到这个项目时首先做的事是把C++的API函数转成C#能识别的函数,由于API函数是非托管的所以不能直接进行引用,必须进行转换,在函数转换的过程中遇到一些麻烦,这些函数有结构体和回调函数的定义(稍后会贴出转换的函数),查找了非常多的资料再请教了一些同事,经过一个周末未休息,再三的努力终于把函数转换成功了,这为整个程序的开发起到了关键作用。函数转换成功后撰写了相应的DEMO程序,写完DEMO程序后跟项目经理申请两台电脑进行测试,由于基金公司管理比较严格,申请电脑花费了四五天的时间,等申请电脑下来后部署测试环境,由于现在只是测试转换的函数,所以只能模拟基金公司与银行的数据交换,经过几天时间的测试,发现当前的DEMO程序一切OK。

       经过这段时间的精心准备,并把相应的结果汇报给了项目经理。获得同意后开始正式程序的设计,根据项目经理的口头对需求进行了描述,就正式开始了程序的设计,经过大慨十多天的时间的编码,这时大慨到了七月份了,并跟经理汇报了相应的项目进度并提出跟银行进行联调测试,这时项目经理如一梦惊人开始与银行进行联系,经过一段时间的等待后开始了与银行的联调测试,测试了一段时间都未通,后经银行的技术人员确认他们使用的测试环境是专线而我们使用的环境是互联网,再经过几天的时间公司技术人员的努力建立专线,再申请跟银行进行了测试,再经过一段时间的测试银行终于有数据返回到前置机了。

      这时由于基金公司的改革,提出了项目经理-开发经理-开发人员的模式,逐渐另外一个开发经理介入到我这个项目中,他三番五次询问我的项目进度,后来干脆要求我编写项目的概要设计和详细设计文档(注:项目经理从未看过前段时间项目的开发进度,只关心最终的结果),由于这时测试进度非常慢,所以利用这点闲余时间编写了项目概要设计和详细设计文档,开发经理对我提出了五六次修改意见,修改完发送给了项目经理和开发经理,这时项目经理都未曾阅读我编写的文档,开发经理把我编写的相应的文档提交了公司领导进行了阅读,他们给出的建议是当前的设计模式不好。(当前是通过跟银行报文建立一样的字段的数据库,业务系统相应的数据插入到我建立的表中,并有相应的状态,而程序是通过多线程轮询的模式,一旦有一条新数据就会自动组成相应的报文,通过程序发送到深证通,再由深证通把数据推送到银行,银行处理完数据后再返回相应的处理数据XML报文格式的数据)这样的一种模式开发经理看后跟项目经理和公司领导讨论后觉得这种方式不妥,可能需要再设计。

      再经过一段时间的讨论,同时我也利用这段时间把项目的帮助文档进行了编写,想再为这个项目再争取一下,最后开发经理的意见是还是改一种模式,改一种模式虽然问题不是很大,但是在项目的进度上肯定有了很大程度的拖延,在开发项目之前项目经理就说了项目要在九月份初上线,可现在已经到八月份中旬了,被他们这样一整项目按时上线遥不可及了。最终没办法根据开发经理的要求重新编写了项目的概要设计文档,开发经理也提出了几次意见,修改后再提交给了公司项目评审(项目评审主要是公司的项目经理和公司领导),根据他们提出的意见再对概要设计文档进行了修改,文档通过后才进行编码的工作。这次使用的WCF开发架构,后台是通过桌面应用程序进行管理(CS结构),通过WCF服务发布WebServices接口供业务系统调用,再经过一段时间的开发,项目基本已经全部完成了,这时开发经理又提出了要把后台改成WEB版的后台去管理,本人不是没有能力去开发WEB版的后台程序,由于基金公司分工比较明确,CS和BS是分开进行开发的,所以这块程序交给BS项目组去开发。当初以为这样也没有多大的问题最起码WCF服务这端是我开发的,WCF服务端程序写好后,编写了一个调用WenServices的测试程序,接着跟银行进行联调测试,由于银行的服务器每天都会重启,基本要测试的话每天都要跟银行进行联系才可以,这个项目的联系一直是项目经理在跟银行联系,没放开给我去联系,前段时间也是通过邮件进行联系,通过邮件跟银行联系,效率非常低下,这时跟开发经理进行了沟通,这样与银行进行沟通非常不妥,公司的意思是不能总是打电话给银行,否则银行会很烦也不愿意跟我们沟通,作为开发人员的我很无语,多次在这个问题上跟开发经理反映,最终他调了另外一个人来推进项目的测试工作,经过他的推进,测试工作工作有了很好的提高,再经过一段时间把程序的调整,整个程序全部通了,所有发过去的报文都有返回数据了,这时时间已经到了九月中旬了,公司准备启动一个全新的项目,所有的C#开发人员全部投入带这个项目中了,这个开发经理要求我把这个项目交给其他人员进行后期的维护和再调试,没办法,依依不舍地把自己辛辛苦苦搞了三个多月的项目交给了别人,心里有很多的不爽,到时候功劳全部归于别人了,但是没有办法公司这样安排,最后编写了详细的工作交接文档,交接人员相当不重视,最终还是印证了我的预言,交接过去很长一段时间还来问我当初为什么是这样设计的,相当幼稚的问题,心里相当的不爽,唉,一个失败项目的经历。

     最后,请各位帮忙分析失败的原因,也希望各位引以为戒。

转载于:https://www.cnblogs.com/jara/p/3372164.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息交换平台 实施技术红皮书 NC-UAP 6.0 目 录 第一章 总体概述 1 1. 信息交换平台总体结构 1 2. 信息交换平台功能特点 1 3. 信息交换平台V50版新增功能 2 4. 信息交换平台V55版新增功能 3 5. 信息交换平台V60版新增功能 3 第二章 实施简介及相关注意点 4 1. 实施方法简介 4 外系统数据导入的一般步骤 4 信息交换平台服务器端文件目录结构 5 2. Servlet的URL地址参数与XML交换文档头属性的关系 6 3. 向NC系统发送数据方式 7 手动界面发送 7 后台预警发送 8 自定义程序发送 11 4. 回执及异常出错信息 12 回执格式 12 异常和错误编码 14 查询及回执格式样例 14 5. 信息交换平台总体参数设置 23 外部系统默认帐套 24 单篇最大传输上限 24 导入过程是否记录中间文件 25 回执文件后台备份 25 回执和导出文件编码格式 25 单据导入规则设置 26 设置客户端IP范围 26 6. 单据流水号和单据并发控制 26 单据流水号的概念和作用 26 单据并发控制 27 7. 日志查看 27 8. 翻译器配置 30 第三章 单据交换规则定义 32 1. 校验文件全局配置 32 2. 表记录的配置 34 3. 字段属性项的配置 34 第四章 基于信息交换平台的单据集成开发 44 1. 注册单据相关信息 44 2. 生成&配置交换规则定义文件 45 3. 辅助信息项设置 48 4. 插件代码维护 49 第五章 单据集成示例 51 1. 问题描述 51 2. 设计 51 3. 具体开发指导 51 3.1 单据插件信息注册 51 3.2 单据转换规则定义 51 3.3 插件代码编写和部署 52 3.4 修改单据转换规则 52 3.5 手动加载测试 53 第六章 安全 54 1. 加密类编写 54 2. 加密类注册 56 第七章 扩展 57 第八章 JMS及大文件传输模式 59 1信息交换平台异步通信解决方案 59 1.1信息交换平台现状及存在的问题 59 1.2需求分析 59 1.3 JMS简介 60 1.3 JMS Client消息交互图 62 1.5解决方案 62 2.JMS传输模式 64 3. JMS Client For NC6.0 65 4 大文件传输模式 85 附录 86 1发送结果错误码 86 2 K系统自定义项目档案样本defdoc.xml 89 常见问题 90

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值