最近项目开发过程中遇到一个问题:使用一个基础平台提供应商的接口接入到该平台,通道总是无法连通。
2年前,我们已经已经接入到该基础平台了,由于某些业务原因,接入的系统没有正式投入运营。最近几天,又重新开始该业务,所以我就拿出原来的代码,开始做接入。
原来的代码在该基础平台V1.0的基础开发的,通道顺畅,并且已经实现了4,5个业务的介入。原来以为工作量不会太大,让人大跌眼镜,把该基础平台V2.0的相关类库部署好后,代码按照最新的文档调整好后,发现通道怎么也通不了。
通道的调试花了差不多2天的时间,代码反反复复的检查,和他们的技术支持也不停的沟通,真考验人的神经啊。最终可以确认的是:
1.我的代码、配置部署是没问题的,完全按照供应商的文档来编写的。
2.供应商的接口改动并不太大,只修改了1,2个接口。
最后还是供应商的技术支持人员提供了一个解决办法,很可笑的解决办法:
在对方接口的一个参数之前加上:String.valueOf(..)
加上之后,果真就通了。
个人认为,首先基础平台应该具备较稳定的接口定义。
当然,接口的升级是不可避免的,但是前期的设计要尽量规划好,尽量避免设计不足导致的接口频繁更新。
另一个突出的问题是:怎样保证接口升级后,功能比较完善?
尤其象这种原来已经接入代理商的系统,如果功能不够完善,或者接口测试不充分,就贸然上线,会给代理商的接入带来很大的麻烦。
这种问题究其原因:
1.研发人员或者测试人员的责任心不足。
研发人员的责任心非常重要,在代码的编写和测试上,无论怎样的尽善尽美都不为过,只有这样才能产出高品质的基础平台。如果对于工作应付了事,很可能会出问题。
2.研发流程是解决问题的关键。
完善严格的开发流程会在很大程度上避免类似问题的出现。有了完善的流程,还要认真的执行,严格的遵守,千万不能让流程流于形式。