三化盖顶,让J2EE更敏捷

来源:互联网 发布:js dom查找 编辑:程序博客网 时间:2024/06/09 21:41

 

我常常在思考:这就是21世纪的J2EE开发现状,甚至有时会怀念VB、Delphi、PB等传统技术。
在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开发更轻松,为什么不呢?


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1531458


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我儿子不爱吃怎么办啊 孩子练字就是记不住怎么办 孩子不愿意和小朋友玩怎么办 丈夫去世了婆婆不喜欢儿媳妇怎么办 高考看不下去书怎么办 在东莞读书读不成高中怎么办 嗓子哑了怎么办土方法 小孩舌头太长太大讲话不清楚怎么办 一周岁不喝奶粉怎么办 一岁的宝宝不吃奶粉怎么办 小孩不爱吃饭怎么办吃什么药 小孩这几天不爱吃饭怎么办 宝宝这几天不爱吃饭怎么办 想看书看不进去怎么办 宝宝3岁不爱看书怎么办 4岁宝宝不爱看书怎么办 1岁宝宝不爱看书怎么办 孩子一看书就哭怎么办 我不想读大专了怎么办 一年级的小孩不爱学习怎么办 高中的孩子不爱学习怎么办 9个月宝宝肠胃不好怎么办 孩子高烧过后干呕不爱吃饭怎么办 母乳涨奶发烧了怎么办 涨奶发烧了怎么办啊 2岁宝贝不吃饭怎么办 4个月的婴儿厌食怎么办 2个月婴儿厌食怎么办 3个月宝宝厌奶怎么办 没胃口吃不下饭怎么办 小孩吃多了积食怎么办 孩子吃撑了难受怎么办 卵巢早衰月经量少怎么办 7岁孩吃饭少消瘦怎么办 宝宝3岁不吃饭怎么办 小孩吃多了吐了怎么办 6岁儿童越来越瘦怎么办 7岁儿童不吃饭怎么办 天热宝宝不好好吃饭怎么办 天热宝宝不爱吃饭怎么办 天热宝宝不想吃饭怎么办