二次开发中增加新需求的开发感想_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 二次开发中增加新需求的开发感想

二次开发中增加新需求的开发感想

 2011/12/21 9:09:54  cuisuqiang  http://cuisuqiang.iteye.com  我要评论(0)
  • 摘要:要在系统上增加几个Webservice接口调用的功能,也许对于经常使用Webservice的人来说没什么困难,可是我可是一直没有接触那个东西了。更困难的是,这个系统之前没有Webservice调用功能,也没有相应的java包,这个系统现在已经有二百多个java包了,一旦引起包冲突,那就更难办了。其实每件事都有个过程,不管你做过没有。每件事都有个结果,不管你成功没有。下面总结一下实现这个需求的一个过程:1,首先确定业务需求。将A系统中某数据传递到B系统
  • 标签:开发

要在系统上增加几个Webservice接口调用的功能,也许对于经常使用Webservice的人来说没什么困难,可是我可是一直没有接触那个东西了。更困难的是,这个系统之前没有Webservice调用功能,也没有相应的java包,这个系统现在已经有二百多个java包了,一旦引起包冲突,那就更难办了

其实每件事都有个过程,不管你做过没有。每件事都有个结果,不管你成功没有。

下面总结一下实现这个需求的一个过程:

1,首先确定业务需求。

将A系统中某数据传递到B系统,传递中有两个参数目录路径和发布单位是B系统提供树展示的数据,然后A系统展示并由客户选择,最后组装XML数据传递到B系统。其中会调用两套系统的接口。

2,技术实现,先做Demo。

之前也是玩过,不过是以前了,再说这东西都更新了老多了。我首先拿axis1做Demo,但是发现B系统接口是用axis2实现的,Demo调用好像有点问题。我又拿axis2做Demo,然后以A系统框架模式增加到项目中。最担心的问题还是出现了,包冲突。由于将来还要考虑更新,而大量的删除和增加包可能对原有系统造成影响,所以这个问题还是要认真去面对的。但是并不能发现包冲突的原因,为了赶时间先实现,我尽量少增加包,并删除重复包,最后在开发环境上是可以跑起来了。

3,将Demo和业务结合增加到系统中。

只有Helloworld是不行,需要应用到实际。在能够实现树的展示,Webservice调用等各项技术Demo和增加到项目中后,根据业务需求,设计需求实现的简便方式。包括XML组装与解析,配置文件读取,树的展示和数据取值,Webservice调用等的组合实现。系统中其他地方也会使用到该接口,所以我设计了通用调用方式,只要给我指定的实体设置值,传递给方法后就不用关心实现,只要接受参数判断是否成功,然后处理自己的业务就可以了。

4,初步联调测试,模拟真实环境。

在双方约定后布置开发使用的模拟环境,使用Linux,weblogic,Oracle等各项真实生产环境使用的版本。然后将各自程序打包部署调用看是否成功,如果有问题,双方都在,可以及时商讨和解决。这个过程我还是花了好长时间的,因为在tomcat上跑的程序,到weblogic上后又出现了包冲突,到apache官方bug库中查报错信息,是因为和weblogic.jar包引起的,要配置weblogic的启动顺序。可是我们的系统里面的许多标签实现都是基于该包的,其他未知情况就更多了,所以我不敢贸然增加这样的配置。

我咨询了接口提供者,以他们提供的调用方式进行调用,发现不会出现问题,于是我马上更改实现方式,由于XML组装解析和Webservice调用等功能都是我给包装好的,所以更改调用方式对于我的改动并不是那么大。

5,根据联调结果,适当调整。

比如我在测试时发现问题并更改了实现方式,那么我回去后代码的一些优化,检查还是必须的。另外,测试中也发现了一些业务上的不同意见,那么这是需要继续沟通和修改的。

6,真实环境上线调试。

无论你在你机器上实现是多么完美,无论你在测试环境运行是多么良好,真实环境,他有时候就是不给你面子

所以我们要制作更新包,首先在自己的测试环境测试更新是否能成功,然后到生产环境进行更新,更新是要备份的这个大家都是知道的,不再啰嗦。如果生产环境更新后可以正常运行,那么恭喜你了。

?

?

?

?

发表评论
用户名: 匿名