在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成为一种轻量级的模型。目前,我们正试图将apusic jsf以开源的形式反馈给国内的广大人员,并期望围绕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开发更轻松,为什么不呢?
新闻热点
疑难解答
图片精选