`
cuisuqiang
  • 浏览: 3960621 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3670369
社区版块
存档分类
最新评论

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

阅读更多

要在系统上增加几个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,真实环境上线调试。

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

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

 

请您到ITEYE看我的原创:http://cuisuqiang.iteye.com

或支持我的个人博客,地址:http://www.javacui.com

 

2
0
分享到:
评论
1 楼 cuisuqiang 2011-12-21  
今天再次因为包冲突方面郁闷了。因为公司将三个使用同样平台的系统合并到了一起,叫什么套装。这样的话,三个系统共有了web.xml和JAR包和一些配置文件,这样一旦出现问题,就要考虑其他连个项目。做软件得考虑松耦合问题吧,这样做也只有在这个地方才有,没事干了瞎折腾。
经过咨询其他两个项目才知道,虽然上头要求了进行项目合并,但是由于确实有包冲突等各项问题,所以大家尽量将文件上传到服务进行同步,然后根据自己的实际情况进行修改。例如,某系统使用了乾坤报表软件,可是其他两个系统没有使用,要是按照版本库上的进行软件发布,那么我们的系统就要加载乾坤报表的东西,这对于我们系统的效率是又很大影响的。
今天我对负责人要求,采取同样措施,同步文件,但是个性化修改,我们自己的东西不上传到服务器版本管理。

相关推荐

    ARCGIS 开发集锦 地理信息系统的二次开发

    在ARCGIS的二次开发中,一个常见的需求是通过ArcEngine的工具条添加图层要素。这涉及到如何在现有的地图界面上增加新的地理要素或图层。通常情况下,ArcEngine并没有直接提供这样的工具条来支持图层编辑,但开发者...

    分享我对JS插件开发的一些感想和心得

    开发轻量级插件的关键在于保持专注,只提供必要的功能,让使用者可以根据自己的需求进行二次开发。这不仅可以提高插件的适用性,还能降低维护成本。同时,这种实践过程对于提升个人技术能力,理解软件设计原则具有极...

    中南大学仿“滴滴物流”移动应用开发报告.pdf

    ### 相关知识点 #### 一、项目背景与目标 **标题**:“中南大学仿‘滴滴...该项目不仅展示了移动应用开发的基础知识和技术,还涉及到了服务器端开发、数据库管理和软件架构设计等多个方面,是一次综合性的实践锻炼。

    关于php mvc开发模式的感想

    需要重用的功能应该放在模型中,而一次性或较少使用的逻辑则可以在控制器中实现。 - **保持一致性**:虽然在某些情况下M与C之间可以有一定程度的跨界使用,但从整体项目的角度出发,保持一致性的编码风格是非常重要...

    《致敬护士队伍,携手战胜疫情》心得感想最新汇总【5篇】.docx

    ### 二、信息技术在疫情防控中的应用 1. **远程医疗服务**:面对疫情,远程医疗服务成为减少面对面接触的有效手段之一。通过视频会议软件和技术平台,医生可以远程诊断患者病情,提供咨询服务。 2. **智能监控与...

    个人博客系统实验报告

    本实验报告详细记录了个人博客系统的开发过程,从需求分析到系统测试,全面展示了从无到有构建一个博客平台的各个环节。报告采用JSP技术进行编写,旨在提供一个实践性的学习案例,帮助理解Web应用程序的开发流程。 ...

    PHP软件工程师简历.pdf

    如hrm人事管理系统、乐购商城、山东武警整形医院网站和新城金锣官网,这些项目涵盖了二次开发、电商应用、内容管理和企业宣传等多种类型,他在项目中不仅提升了技术技能,也深化了对企业运营和客户需求的理解。...

    想明白OLAP的请看演示(综合管理之决策支持演示全安装) 1-3

    又可以方便定义我们系统没有包含的各类客户业务单据,且这些单据可以任意集成在制药行业9.05版的各个模块中,在灵活应对客户多变的需求基础上,很大程度上解决代码级二次开发带来的开发效率、维护成本等问题;...

    想明白OLAP的请看演示(综合管理之决策支持演示全安装) 3-3

    又可以方便定义我们系统没有包含的各类客户业务单据,且这些单据可以任意集成在制药行业9.05版的各个模块中,在灵活应对客户多变的需求基础上,很大程度上解决代码级二次开发带来的开发效率、维护成本等问题;...

    想明白OLAP的请看演示(综合管理之决策支持演示全安装) 2-3

    又可以方便定义我们系统没有包含的各类客户业务单据,且这些单据可以任意集成在制药行业9.05版的各个模块中,在灵活应对客户多变的需求基础上,很大程度上解决代码级二次开发带来的开发效率、维护成本等问题;...

    2021年营销应聘面试题及答案.pdf

    解决方案可能包括:与供应商协商取消未开始生产的订单,推迟已生产物料的交付,尝试将物料用于其他产品,争取客户赔偿,或者在无法避免损失的情况下,考虑物料的二次利用或回收。 2. 选择做采购的原因 做采购可以...

    Korean Diary 汉化版

    - **源码**:与“源代码”同义,表明这个软件是可以看到原始编程语言编写的代码的,有助于学习和二次开发。 - **留言板类**:这可能是指《Korean Diary》具有类似留言簿的功能,用户可以留下自己的笔记、感想或者与...

    为了3D游戏粉丝的[(超级)街头霸王4]图形讲座(前篇)

    - **开发工具**:Dimps公司在开发过程中不仅致力于游戏本身,还投入精力使公司的程序库适应新一代游戏平台的需求(如PS3和Xbox 360)。为此,他们构建了一个名为“XG”的开发支持程序库,其中“X”代表了跨平台的...

    软件工程课程设计学生成绩信息管理系统精.doc

    综上所述,这个课程设计涵盖了软件工程的核心流程,从需求分析到系统设计,再到实现和测试,展示了软件开发的全貌,对于学习软件工程的学生来说是一次宝贵的实践经验。同时,通过这样的项目,学生能够深入理解数据库...

    数据库课程设计总结报告_0.docx

    一方面,团队成员意识到现有知识体系的局限性,需要不断学习新知识来应对实际开发中的各种问题;另一方面,也体验到了团队合作的重要性,只有通过有效沟通和协作才能顺利完成项目任务。此外,还意识到软件开发不仅是...

    含砷废水治理技术研究进展

    物化法产生的废渣处理不当容易造成二次污染,生化法则受到菌种特性和处理条件的限制。例如,化能自养菌依赖矿物反应能量,而化能异养菌需要添加营养源,导致出水COD超标。植物吸收法则需要考虑植物体内砷含量及其...

    booky:简单的图书清单应用程序,用于跟踪我当前正在阅读的图书并计划阅读

    7. **扩展性与定制化**:作为一个开源项目,Booky可能允许开发者进行二次开发,增加自定义插件或扩展功能,以适应更多用户需求。 在TypeScript的助力下,Booky的代码质量得到保证,减少了运行时错误,提高了整体的...

    基于文件的选课系统(java).docx

    参与这个项目的开发让我深刻体会到团队合作的重要性,同时也学习到了如何将理论知识应用于实际开发中。通过不断的实践和探索,我对Java编程有了更深的理解,也更加自信地面对未来的挑战。 #### 五、教材与主要参考...

    9-04长期出差报告.doc

    本报告旨在详尽地记录一次长时间的出差经历,包括出差的目的、地点、时间、达成的目标以及个人的感想和建议。这次出差的主要目标是针对特定的IT项目进行深入的沟通与合作。 一、出差目的地 本次出差的目的地是——...

    操作系统lab0实验报告1

    这些工具在软件开发中扮演着重要角色,需要时间和实践来熟悉和精通。实验者指出,尽管完成了所有测试,但对某些命令的理解还不够深入,需要进一步学习和练习。 最后,实验感想部分表达了对实验系统和学习过程的认识...

Global site tag (gtag.js) - Google Analytics