频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

如何让J2EE开发更敏捷

作者: 张勇 出处:Csdn博客 2007-03-27 09:39    砖    好    评论   进入论坛
阅读提示:本文作者阐述了一种“轻量级”开发的理念,以及如何实现该理念的Apusic Platform平台,它包括应用服务器和Studio开发平台。

【引自张勇的博客】我常常在思考:这就是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开发更轻松,为什么不呢?

【责任编辑:火凤凰 TEL:(010)68476606-8007】


专题
金蝶 Apusic OperaMasks 全国巡演
Java实用开发全集
J2EE实用技巧大全
Java类的基础教程专题
Java发展动态专题
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看81120次)
·UML类图详解 (查看72587次)
·C++是垃圾语言?! (查看42719次)
·C#技术开发指南 (查看40290次)
·UML统一建模语言 (查看39225次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (431个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (578个好)
·.NET开发手册 (282个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (200个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。