技巧应用:怎样提高J2EE项目的开发速度

j2ee|技巧|速度|项目

在J2EE技术体系中,往往被灌输了太多容器的概念,什么EJB容器、Servlet容器等等,而开发过程也在开发、配置、部署之间迭代与反复;如此一来常会出现令人尴尬的状况:往往花几分钟时间去改一个Bug、却要再花双倍或者更多时间去部署和测试,开发工程师们不得不中断思路,看着服务器如蜗牛般启动,并在开发工具和部署工具之间来回切换。

事实上,配置也好、部署也罢,都是开发过程中一个必不可少的阶段。如何通过集成式的开发环境将这些开发阶段有机集成在一起,是摆在我们面前的迫切需要。在本文中,我将阐述一种“轻量级”开发的理念,以及如何实现该理念的Apusic Platform平台,它包括应用服务器和Studio开发平台。

技术模型简单化

J2EE发展到今天,一种普遍的看法是:开源社区的蓬勃发展给J2EE官方标准带来很大的冲击,甚至于部分开发者对Java EE 5.0的权威性都产生了质疑,并对Java EE 5.0 是否能够占据主流开发平台地位产生了顾虑。

事实上,我认为,开源社区与J2EE之间更多的是一种相辅相承的关系。开源代表的经常是理想主义,而商业公司代表的经常是现实主义,两者之间有相互竞争的地方,但从长远来看,更多的是一种是相互补充、相互促进的过程。

在Apusic Platform的实现上,一方面对各种开源技术予以非常大的支持,包括Struts、Hibernate、Spring等;不仅提供一系列的示例样板,以演示如何在Apusic应用服务器上使用这些开源组件,甚至还提供这些开源框架的商业支持,以更好地推动这些开源技术在国内的推广与使用。

Java EE中最引人注目的恐怕是EJB 3和JSF了,EJB 3克服了EJB 2.x版本的很多不足与缺陷,使EJB技术真正成为企业应用的主要计算模型,为EJB的全面普及奠定了理论上的基础。而JSF则是Java EE试图解决Web应用开发的主要解决方案。我们即将推出的Apusic JSF则融合了JSF与Ajax技术,克服了常规JSF实现的弊端,使JSF成为一种轻量级的Web开发模型。目前,我们正试图将Apusic JSF以开源的形式反馈给国内的广大Web开发人员,并期望围绕Apusic JSF形成一个丰富的Web UI组件市场,从而彻底解决目前Web应用开发的主要不足。

开发过程一体化

以一个简单的Web应用开发为例,在Apusic Studio中,可以通过jsp编辑器提供的语法加亮、代码辅助、断点调试等功能,非常方便的辅助开发人员快速完成web页面的开发;还可以通过可视化的配置界面,完成繁琐的web/ejb/ear等配置信息。

当要运行某一个页面时,只需点击一下右键“quot;在Apusic应用服务器上调试”,Apusic Studio就会自动帮助我们做这样一系列动作:首先判断应用服务器是否已经运行(倘若没有运行就会自动新建一个启动配置项,设置好类路径启动应用服务器),然后判断应用是否已经部署(倘若没有部署就会自动部署应用),最后自动打开浏览器,运行指定的jsp页面,甚至于Apusic Studio还能够感应到应用发生的变化,在应用需要重新部署时自动部署。

业务组件实用化

回顾J2EE技术体系,甚至于诸多流行的开源框架,我们不难看出,它们所解决的问题无一例外的都集中在软件模型本身:譬如OR Mapping、AOP、MVC等。而现实中的应用系统的开发者,希望能通过某种业务开始平台或者某些通用的业务组件,屏蔽这些底层的实现技术,从而使他们聚焦于业务本身。

但是,由于业务组件缺乏相应的规范与标准,导致它们的实用性与可用性不高。这一方面来源自业务系统本身的需求复杂度与可变性,另外一方面则缺少一个类似于JCP的组织,去制定并发展这些业务组件的规范与标准。

Apusic Platform试图提供另外一种选择:通过一种可插拔可替换的机制,打造实用程度较高的业务组件,譬如组织架构、权限模型、报表打印等。这些业务组件,融合了金蝶公司及其合作伙伴多年的应用开发智慧结晶,能够给业务系统开发人员带来实实在在的方便。

轻量级的两层含义

何谓轻量级?在我看来,轻量级包含两层含义。一是运行期的轻量级:在完成相同的运算任务下消耗最少的系统资源;二是开发期的轻量级,指开发过程的敏捷以及快速响应能力。

运行期的轻量级可以说在以微内核体系为核心、代码量仅为同类软件20%的Apusic应用服务器上得到了极佳验证:无论是启动速度,还是运行期所消耗的系统资源,Apusic都大幅度领先,也许业界唯一能够与之比较的只有Tomcat了。但Tomcat仅仅是一个Web容器,而Apusic应用服务器则是全面实现J2EE 1.4规范的企业级产品(今年5月份已经全面实现Java EE 5.0规范),至于而运行期的健壮性与稳定性,Apusic在各项指标上与国外同类软件不相上下。

开发期的轻量级,我们可以通过与Apusic应用服务器紧密集成的开发工具Apusic Studio获得开发过程的敏捷性。无论是编码、配置、部署与测试,还是后期的监控与性能调优,我们都可以通过Apusic Studio获得一体化的支持。

让J2EE开发更轻松

开发过程一体化,使开发人员无需再考虑部署、配置等琐碎过程,也不需中断思路忍受服务器反复启动的煎熬;技术模型简单化,通过优秀简单的技术解决现实中复杂的问题;业务组件实用化,能够摆脱某些具体实现细节,聚焦于业务逻辑本身。

以上的理念,我称之为类似武侠小说中高手练功到一定层次的“三化盖顶”,它很大程度上解放了J2EE,让我们拥有开发过程中的敏捷与愉悦。

敏捷快速,让J2EE开发更轻松,为什么不呢?

时间: 2024-11-05 12:31:14

技巧应用:怎样提高J2EE项目的开发速度的相关文章

J2EE项目中开发团队的组建

j2ee|项目 J2EE这种应用模型允许不同的开发人员同时进行开发的各个元素.这里阐述一下对不同层次的设计人员,开发人员的技术要求.对以下几个分类进行描述.  设计师组建团队  表现逻辑层的团队角色  业务逻辑层等团队角色  数据库访问层的团队角色  团队的组成可以根据人员的数量和系统的范围大小.例如,不一定所有的角色都要分配,有些人可以担当不能的角色.  设计师       在基于组件的应用系统开发中,一个或几个人必须对这个系统的整体需求有全面的了解,比如系统的控制流程,和其他的接口等等.有些

手把手教你使J2EE项目开发自动化

j2ee|项目     编者语:在这本书中,Pragmatic Project Automation, Mike Clark 为你提供了无所不有的方法来自动化你的软件项目:用Ant来一步式构建(one-step builds),用CruiseControl 按计划时间来持续构建(scheduling continuous builds),按一下按钮就可以发布软件,轻易地安装和布署应用,通过email,RSS,你的手机,甚至是熔岩灯(lava lamps)来监控构建和程序运行.方法包含示例使初学者

j2ee框架-j2ee项目如何模块化或者说,接口化开发?

问题描述 j2ee项目如何模块化或者说,接口化开发? 本人最近在边学边做一个j2ee的项目,主要目的是为Android客户端服务.使用的框架是SpringMVC + Spring +Hibernate.在这样的框架下,虽然MVC的概念比较清晰,但是我们开发的时候该如何来实现分块开发呢?比如,这个项目中有好几个功能模块:""查询天灾所有力量英雄"","查询近卫所有力量英雄"等等,这些功能模块分别是由不同的程序员开发的,最终应该要整合到一个项目中来部

请问现在j2ee大部分都用于什么项目的开发?

问题描述 j2ee最适合开发什么? 解决方案 解决方案二:做网站开发啊解决方案三:企业应用解决方案四:http://baike.baidu.com/view/1507.htm解决方案五:一般就是企业级J2EE应用吧,像SSH.C/S,诸如跨国公司网站.门户网站.仓库管理系统啊或者CRM什么的,一般是前台,后台一般还是用C或着C++架构.

J2EE项目危机【翻译】 -避免这10项J2EE危机来确保你的企业JAVA项目成功

j2ee|项目   在我作为开发者.高级开发者.架构师的经历中,我遇到过好的.差的甚至是丑陋的企业级JAVA项目.当我问自己,是什么使一个项目成功而使另外的失败,我发现很难得到一个完美的答案,就好像很难用成功来定义所有的软件项目.J2EE项目也不例外.因此,项目被分为不同级别的成功或失败.在这篇文章里,我主要想为您--读者朋友--揭示影响企业级JAVA项目的最大的10项危险. 一些危险只是简单的延迟项目进度,一些却是错误的征兆,而还有一些使项目彻底没有成功的希望.尽管如此,如果具有良好的准备,征

J2EE项目10大风险

j2ee|项目 在过去这段时期里,我担任过程序员.高级设计师以及架构设计师等工作,见识过很优秀的企业级Java项目,也见识过不好的,甚至很"丑陋"的项目.有时候我会自己问自己,为什么一个项目可以取得成功,而另一个却走向失败?很难定义出某种规则或标准来表明各个不同的项目应该如何成功,J2EE项目也并不例外.但与此相反的是,我们可以从各个角度和层次上去考察项目失败的原因,如果很好地避开了这些风险,项目就可以取得成功.在本文中,我将提出排名前10位的企业级Java项目风险,供读者参考. 在各

应用Rational工具简化基于J2EE项目(四)分析和工具的进展

j2ee|项目 第 4 部分 :分析和工具的进展 Steven Franklin软件设计师和过程专家2004 年 4 月 在这个展示了 RUP 和其他 Rational 工具使用的样例项目的接下来的阶段,用例通过添加文档和可跟踪性到需求被细化,并且使用的工具和技术被评估和选择. 这个第 4 部分文章的重点在于 ASDI 项目的细化阶段,尤其是在用例分析方面(细化我们的用例以对工作状态(SOW)添加可跟踪性,并且标准化和生成用例文档)并选择合适的工具和技术. 第 4 部分快照 在第 4 部分演示的

一个J2EE项目的最小工具集

j2ee|项目 Java世界的工具从来就乱花迷眼,但花哨的工具未必适合自己的团队.又一个项目快要结束之际,洗净铅华的总结出一些最必要的,能提供最大辅力加持的工具.参见<死亡中旅>2nd 第x章--最小工具集. 1.支持重构,TDD, Debug J2EE应用和Flying Error提示的IDE    a.重构:即使团队用的最多的只是Rename,Move,Extract Method等有限几个最基本的功能,但J2EE结构里牵一发动全身的事情太多了,重构会帮你把事情擦干净,形成依赖后,已不习惯

将J2EE项目迁移到IBM Lotus Expeditor V6.1

简介:使用 IBM Lotus Expeditor Toolkit 将 J2EE 项目迁移到 IBM Lotus Expeditor V6.1,然后 把迁移后的项目部署在 Lotus Expeditor 运行时上.本文讲解迁移 J2EE 项目所需的步骤以及 Lotus Expeditor 不支持的 J2EE 特性. IBM Lotus Expeditor 这种 IBM 产品支持用熟悉的编程模型将 J2EE 应用程序迁移到客户机上.IBM Lotus Expeditor Toolkit 使开发人员