知识大全 JAVA开放源码项目与工具在企业应用开发中的运用

Posted 项目

篇首语:青春是有限的,智慧是无穷的,趁短的青春,去学习无穷的智慧。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JAVA开放源码项目与工具在企业应用开发中的运用相关的知识,希望对你有一定的参考价值。

JAVA开放源码项目与工具在企业应用开发中的运用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  近两年 开放源码项目发展日益壮大 出现了很多有着广阔用户群体的项目与产品 它们在企业应用开发中正在发挥着越来越大的作用 本文以基于J EE架构的企业应用开发为例 探讨了如何在项目中深入运用JAVA开发源码项目与工具      一 企业应用开发目前面临的主要问题  企业应用是指服务于商业目的 处理企业业务信息 数据的软件系统 虽然随着dot 热潮逐渐冷却 企业开始谨慎考虑自己在应用系统开发方面的投入 但是毕竟企业的业务流程需要专门的信息系统处理 从而提高自动化程度 减少中间环节 加快信息处理速度 因此 目前国内的企业应用项目开发还是日益火爆 尤其在电子政务 CRM SCM等领域更是如此     但是 不论企业应用开发是采用自行开发或者委托系统集成商进行开发 都存在着下面一些情况     大部分项目超时或者超出预算   项目在部署以后BUG很多 而且修改的周期比较长   对于系统集成商来说 下面的情况更是比较普遍     没有统一的FRAMEWORK 每个项目都会重新设计ARCHITECTURE   项目开发过程的自动化程度和重复步骤不是很多 人为引入的BUG很多      二 开放源码项目现状  开放源码运动在 年代开始日益发展 目前已经成为软件业内不可低估的一股势力 比较著名的有Linux Apache Tomcat MySQL等 目前 开放源码的潮流已经超出了操作系统 数据库管理系统和WEB服务器等系统开发领域 开发在企业应用开发中寻找新的领地 尤其是对于企业应用开发的框架和CASE工具 开放源码项目都有很优秀的解决方案     国外开放源码项目的集中地有以及 其中 前者为大家奉献了著名的Apache Tomcat Struts Axis 而后者是最著名的开源项目中心 同时 国内自 年代末开始也有很多人投入到开源项目的开发 比较集中的网址是 共创软件联盟 () 等等 他们除了提供各种CASE工具以外 还有一些项目是专注于特定领域的解决方案开发 如CRM等      三 JAVA开发源码项目与工具的应用  对于目前企业应用开发竞争日益激烈 需求变更频繁 各个系统集成商都面临巨大的生存压力 其中有两个方面表现尤其突出     没有统一的软件开发过程或者照搬重量级的软件开发过程 例如RUP等 但是往往由于时间等压力的影响 并不能切实执行   大部分企业仍然没有摆脱手工作坊期间的做法 每个项目或者产品由于管理人员或者团队的不同 重新设计系统框架 浪费大量的时间在结构验证与调整上   企业应用系统的开发中 需求的变更是项目中唯一不变的东西 而且 为了保持开发的一致性和利益最大化 系统集成商需要与客户保持长期的合作 因此 采取演进式敏捷软件开发 可以更好的保证项目质量 在所有的敏捷软件开发方法中 XP是目前应用最为广泛的一种 它是一种高度动态的过程 它通过非常短的迭代周期来应对需求的变化 沟通 简单 反馈和勇气是它的四大核心价值 同时 它集中了业界的很多最佳实践 目前已经有 条之多 XP强调通过严格执行全部的最佳实践来获得 极限 效果     同时 出于复用和效率的考虑 尤其是对于系统集成商 企业应用系统应该具有自己的框架和结构 拥有具有良好性能 经过项目验证的系统框架 结合有效的软件开发过程 系统集成商可以快速 成功地开发企业应用系统     为了更好的开发成功的系统 系统集成商们可以试着从以下两个方面着手解决问题     结合开源工具的支持 在组织内部实施 敏捷软件开发方法   为核心业务领域建立灵活 有效的Framework   由于目前很多企业应用是采用基于J EE技术的网络应用程序开发 因此 下面主要介绍基于JAVA的开源项目 工具的应用     开源工具与XP   XP的 条最佳实践 对于所有的企业应用开发商而言 由于组织和文化的不同 不可能全部应用 但是 下面几个实践是有条件逐步实施的     代码规范 CODE STANDARD   测试驱动开发 TEST DRIVEN DEVELOPMENT   日构建 DAILY BUILDING   持续集成 CONTINUOUS INTEGRATION   小步发布 SMALL RELEASE   每日晨会 DAILY MEETING   每周 小时工作 HOURS A WEEK   其中 CODE STANDARD和TDD是CONTINUOUS INTEGRATION DAILY BUILDING和SMALL RELEASE的基础 而DAILY MEETING和 HOURS A WORK是单独的实践过程 可以与其他的实践想结合 增强项目小组的沟通 激发士气     需要说明的是以上最佳实践并非XP所独有 而是被最多的软件开发方法所应用 其中 日构建 就在微软的软件开发方法中正式出现过     代码规范   虽然大部分的企业在一定程度上推行代码标准与规范 而且对于使用JAVA的应用程序开发 也有SUN的推荐编码规范 但是 实际的情况并不理想     主要的原因在于 一方面 开发人员的习惯势力很大 另一方面 代码审查的力度不够 如果能够借助工具 从一定程度上帮助进行代码标准的执行情况检查 那么代码审查就可以着重检查程序的逻辑和性能等方面     开源产品CheckStyle () 可以帮助开发组织解决代码标准审查的问题     目前的最新版本为 它提供了两种运行方式 一种是命令行 一种是与Ant结合(Ant自 以后提供的OPTIONAL TASKS中有对于CheckStyle的支持) 同时 SourceFe中有对于JBuilder等流行IDE的插件支持 可以定义Global Project级别上的属性文件 但是 目前只是支持 版本     在 x版本之前 CheckStyle的配置信息写在Property File中 而在 x之后 配置信息为XML文件 配置更加灵活 的发布版本中提供了针对Sun Code Conventions的特定Check File 可以参考使用     建议执行情况     手动执行 开发人员在IDE中手动触发CheckStyle检查或者代码审查时由审查者手动执行   自动执行 将CheckStyle与源码控制系统(CVS)结合 在源码Checkin的时候进行规则判断 如果不符合 则不允许代码进入系统   测试驱动开发   测试先行或者测试驱动是XP的基本实践之一 同时测试在软件开发中的重要作用正越来越得到人们的重视 审查和测试作为系统确认和验证的有效方式 是项目质量保证的重要措施     下面按照一般的测试分类 介绍各个领域内的开源测试工具     单元测试 JUnit ()   JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework) 用于Java开发人员编写单元测试之用 下面介绍的开源测试工具 很多都是对于JUnit的扩展     它目前的版本为 为编写单元测试提供了主要的接口 目前主流的IDE都提供了对于JUnit的支持     XP强调测试先行 尤其重视单元测试 系统集成商需要通过软件开发过程的执行 来强化JUnit的使用     目前很多商业测试软件都提供了与JUnit的联合使用 例如获得 和 年Jolt测试类工具亚军和生产率大奖的Jtest (ParaSoft公司产品 内置 余条编码规范 提供Java代码静态和动态检查 同时还可以自动生成简单的测试用例等等)就可以导入和导出JUnit的测试用例     集成与功能测试 HttpUnit () & Cactus ()   HttpUnit是一套通过HTTP连接测试Web应用程序的Java类 在结合JUnit的情况下 HttpUnit可以作为一种创建测试程序的强大工具用来保证Web应用程序正常的端对端功能     虽然JUnit自身就可以通过编写单一类的测试程序对服务器端Java代码进行测试 不过 有了HttpUnit的帮助 JUnit就可以扩展为模拟Web浏览器 Web服务器的工作方式对整个Web程序结构进行测试     Cactus为我们提供了一种测试SERVLET等WEB组件的有效手段 它是JUnit的一个扩展 但是它又和JUnit有一些不同 Cactus的测试分为三种不同的测试类别 JspTestCase ServletTestCase FilterTestCase 而不是像JUnit就一种TestCase Cactus的测试代码有服务器端和客户端两个部分 他们协同工作     一般意义上 可以采用Cactus作集成测试 而使用HttpUnit做功能测试     虽然在集成与功能测试方面 有很多优秀的开源工具 但是在实际应用过程中 还是采用商业测试软件的比较多 对于复杂应用更是如此 这是因为集成与功能测试大部分还是由专门的测试人员进行 而他们对于已有的商业软件 例如Rational Robot E Test Suite WinRunner等都比较熟悉 同时商业软件也提供了更为强大的功能     压力与性能测试 JMeter ()   由于企业应用越来越复杂 用户数量也是越来越多 系统的性能参数以及众多的非功能性需求在开发中获得了越来越多的重视 因此 很多压力与性能测试工具也开始出现 这其中有一定影响的是Apache Sofare Foundation的JMeter     JMeter是 %的JAVA桌面应用 用来测试系统的负载与性能 它最开始设计是用来测试WEB应用 后来加以扩展 可以测试Http FTP 支持JDBC的关系型数据库的性能与压力 同时 JMeter提供一定的定制功能 系统集成商可以自行开发针对EJB CORBA或者SOAP的插件     压力与性能测试方面 由于测试比较复杂 实际企业应用测试中 也是采用商业测试软件比较多 例如LoadRunner JProbe Suite以及与JBuilder 同步发布的OptimizerIT     日构建   在软件开发 cha138/Article/program/Java/ky/201311/28003

相关参考

知识大全 Eclipse插件开发中的Java项目模型

Eclipse插件开发中的Java项目模型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jav

知识大全 java数据库设计中的14个技巧

  下述十四个技巧是许多人在大量的数据库分析与设计实践中逐步总结出来的对于这些经验的运用读者不能生帮硬套死记硬背而要消化理解实事求是灵活掌握并逐步做到在应用中发展在发展中应用原始单据与实体之间的关系 

知识大全 editplus能够编译java嘛? 如何设置

  先要将JAVA的运行环境安装并且调试好  首先从菜单工具(Tools)>配置用户工具进入用户工具设置  在类别里展开工具树形菜单>用户工具选择组和工具项目中的Group点击面板右边的组

知识大全 通用数据转换工具应用

  应用概述  通用数据转换工具在油气藏地质及开发工程国家重点实验室项目(PLN)油藏经营管理系统中作为其数据转换的功能模块之一运用于大港油田历史数据转换到新的油藏经营管理数据库中通用数据转换工具作为

知识大全 现在企业流行的java框架技术

  我将简短分析被用于支持这些框架的企业开发环境或工具箱例如BorlandJBuilderEclipse以及BEAWorkbench请记住市场上有许多有关这些开发框架的图书;然而在任何一篇文章中要对它

知识大全 java源码分析之HashMap

java源码分析之HashMap  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Java集合类

知识大全 struts+newxy,开发效率提高十倍

  在java的web开发领域较麻烦的是数据库操纵如果有工具能像delphi开发数据库运用系统那样高效它一定会受到开发者的欢迎  经过五个方面的比较newxy+strutsWEB开发与deiphi桌面

知识大全 十四种Java开发工具点评

十四种Java开发工具点评  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在计算机开发语言的历史

知识大全 基于Java并且开放源代码的可扩展开发平台

基于Java并且开放源代码的可扩展开发平台  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ecl

知识大全 java源码分析之LinkedHashMap

java源码分析之LinkedHashMap  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs