去年你曾预言J2EE正在迎来一次划时代的变革,关键词是EJB,对此你能再做一次阐述吗? J2EE可以说是这几年发展非常快速的一个应用开发平台,这和Java这种灵活、方便、开放、跨平台的语言具有不可分隔的联系。Java是一个讲求实用的语言,所有对应用开发有用的特性都被吸收进来,成为Java平台的一部分,而那些花稍但无实际作用的特性被摒弃。Java的类库丰富、开发社区完善等特色标志着它还将在相当长的时期内保持旺盛的生命力。2 M3 n: Q7 j4 w% z' L
J2EE可以说是在Java平台中应用最为广泛的技术,而且正在逐步走向成熟。JCP组织在总结了过去J2EE实践中的经验和教训,在将来的Java EE 5.0规范中将对J2EE技术做一个相当大的调整,其中最受影响的就是EJB规范。过去EJB给人的感觉过重,而且开发过程复杂,不易维护,因此在实际项目中使用EJB的很少。在EJB3中,EJB的开发方法将彻底改变,不再使用Home, Remote接口等概念,而采取轻量级的开发模式,以Java 5.0中引进的annotation作为EJB描述工具,特别是实体Bean的角色将被重新定位,使其单纯担负起O/R Mapping的作用。所有这些举措都是为了使EJB的开发过程更加简单、效率更高、维护更方便。+ |' b# d2 }+ b) Y1 J6 i1 F
在Web开发方面,Java EE 5增加了新的JSF规范,这是一个类似于struts之类的web开发框架,但比它们更方便。JSF基于事件及UI组件模型的开发方式颠覆了传统的web开发习惯,结合开发工具的支持,将使其更接近于一个真正的MVC编程环境。使用JSF开发表现层现在看起来更象swing编程,基于UI组件的模型能够把web界面定制的很多工作独立出来,厂商可以针对具体的目标定制更多更好用的组件。而我们作为国产中间件厂商,比国外厂商理应更了解国内客户的需求,因此我们的应用开发平台Apusic Studio将成为以JSF为基础的一个强大的web应用开发平台。& r/ `& u& ~, T. T$ f7 f& ]
现在很多应用已经转移到所谓的轻量级J2EE方案上去了,比如Spring,已经红了快两年了。现在才推出Java EE 5.0是不是来得太晚些了?怎样预期Java EE对于整个产业的影响?
8 l, D6 a6 r5 Z# k7 [1 o% N4 i 在我们主办的“Java俱乐部”地面活动上,也有技术爱好者问及我这个问题,当时我回答到“非官方和官方互相促进,Java EE 5.0来得并不晚”。# Q$ s+ N4 [. w( _) p: Z* k
开源社区(往往是非官方标准)代表的经常是理想主义者,而商业公司(往往是官方标准)代表的经常是现实主义者。两者之间有相互竞争的地方,但从长远来看,更多的是一种是相互补充、相互促进的过程。' M7 z8 k" t2 X2 F& r
Spring及Hibernate等开源框架,已经对Java EE的技术发展趋势产生了非常重大的影响。或者说Java EE的发展,也借鉴并吸取了这些开源框架的一些优秀的思想。从技术层面来看,这反而会使Java EE具有一定的后发优势;同时,这些新技术在业界的广泛使用,总是需要一定的周期,并且,采用Java EE构建业务系统的最终用户,也总是希望能够获得诸多厂商的官方支持与商业标准。因此,从这些方面来看,Java EE 5.0 来得其实并不晚。至于Java EE对于整个产业的影响,可能是J2EE这个概念自诞生以来比较重量级的一次震撼。它所带来的影响是深远的(更多的表现在对J2EE开发过程的影响),但用户自1.4平台向5.0平台之上的迁移,却是平缓的。9 b. w0 P7 m7 v6 v9 b* w2 s6 l
让我们把话题再回到你的心血杰作Apusic Platform产品家族上,有人曾说,国产中间件的出路是专注于某个产品、用单一化的差异优势竞争。以前同样有人讲APUSIC产品线单一,但现在我听说你们马上要推出消息中间件和开发平台,在这里你能否对这两种产品作一点介绍?$ H, r" ]/ z' j
过去我们的产品线是比较单一,仅有一个应用服务器产品,这次我们推出了Apusic MQ和Apusic Studio这两个产品,使产品线有了很大的扩充,形成一个相对比较完整的Apusic Platform产品家族。在这个产品家族中Apusic Studio将扮演一个非常重要的角色。我们知道,各厂商的应用服务器产品都是大同小异的,用户主要根据性能、易用性、售后服务等指标来进行选择。但是仅有应用服务器产品是不够的,还需要一个好的开发工具来支持。过去我们就深受缺少开发工具的困扰,很多用户其实很喜欢Apusic应用服务器,觉得用起来很不错,但开发起来太麻烦,甚至有人先在其他平台上开发,等开发完了再移植过来,这种困扰多少打击了一部分开发人员的积极性。
4 T6 B# i: x5 s. W4 \ 在Apusic Studio立项会议上,我们一开始是想为JBuilder、Eclipse等写一些插件,利用第三方开发工具来支持Apusic的开发,但我们最终抛弃了这一想法,决定搞一个和Apusic应用服务器紧密结合的,更接近于应用开发的平台。金蝶集团具有十几年的应用开发历史,积累了大量的经验和教训,在这样的基础上,我们更应该秉承“帮助客户成功”的集团宗旨,不仅向用户提供一个方便、高效的开发工具,更重要的是要在产品中和用户分享金蝶的应用开发经验,以开发思想、开发模式、开发工具、应用组件等全方位的开发平台提供给客户。
. E& B" c {2 o Apusic Studio以Eclipse为基础,不仅具有大多数J2EE开发工具所应当具有的功能,还提供了以XP方法为代表的轻量级开发方面的工具,另外,我们还提供了一些现成的组件,以帮助用户快速构建应用系统。我们知道,在J2EE规范中,将一个应用的开发分解成若干个角色,包括开发、配置、部署、管理等,但实际上,部署、配置、管理等阶段,都是开发过程中必不可少的一个阶段。那么,怎么把这些阶段有机的集成在一起呢?Apusic Studio就是这样一个统一的开发平台,它基于Eclipse技术,通过与Apusic应用服务器的紧密集成,给开发人员提供了一个轻量级的J2EE开发平台。; C. s7 l% }6 g* r% I7 h9 h i
最后一个问题说点轻松的,国内很多程序员都曾看过你那篇创下点击几十万的牛帖《程序员的几个基本原则》,那么现实生活中你真是这样生活的吗?比如写累了休息时疯狂打暴力游戏? |