Jdon架构访谈:一个开源人的孤独告白
来源:天极网 更新时间:2008-03-11

 
  说起开源,很多人言必称Linux,但开源远不止Linux。在开发领域开源项目的发展非常迅速,Eclipse、Spring、Struts、Hibernate等等,这些开源项目现在基本成为行业标准。正是基于如此,很多专家看好开源,希望能由此发展出中国的软件标准。2005年的中国软件技术大会上,Jdon,一个完全由中国人创建的开源架构,受到与会者的高度关注,他的创始人是上海解道公司架构师彭晨阳。近日yesky记者采访了他,请他谈谈Jdon以及开源软件的发展。

  yesky:您是什么时候开始做jdon的呢?

  彭晨阳:大概是2003年 当时是想做一个增删改查的快速开发工具,主要是感觉在B/S结构下,客户端和服务器来来回回流程比较琐碎,加上J2EE是一个多层结构,一个数据的增删改查CRUD要经过很多工序,比较累。所以,开始主要在界面和页面控制也就是表现层方面下些功夫,抽象出一个简单的模型,因为当时表现层框架是Struts,所以,Jdon也是在Struts基础上的再一次简化抽象,主要是通过配置来简化一个数据的CRUD流程。到今天来看,这个思路是走对了,因为认为Struts太重观点,以及最近这方面国外新的配置简化MVC框架也出来了,如最近TheServerSide网站上登载的XX Framework等,Struts太重观点。

  yesky:目前主要的技术流派是Spring等,jdon与他的区别在那里,有哪些长处呢?

  彭晨阳:Jdon主要是和Spring相竞争的,和Struts以及Hibernate可以很好地组合在一起。J2EE开发中,除了界面显示 以及数据操作外,还有一个更重要的部分:业务逻辑。jdon spring之类框架是负责业务逻辑的,也就是管理普通JavaBeans,或称POJOs

  yesky:Spring目前的推广很好,国内也有很多公司采用Spring架构,目前jdon的推广怎么样?

  彭晨阳:这无法和Spring相比,目前只靠jdon.com和网友互相介绍,Spring的创建者也是一个非常有影响力的人

  yesky:您对jdon的将来有什么计划没有?

  彭晨阳:有,我希望能将它做成一个MDA(MDA: Model Driven Architecture)工具,Jdon框架虽然类似Spring,但是不同于Spring,它是以快速开发为主要发展方向的,而Spring是以灵活性为主要特点,过分灵活就可能意味着复杂。

  在Spring刚热不久,国外开始追捧Ruby on Rails这样模型驱动开发框架,因为它快速简单。

  yesky:Ruby在中国并不热,只有少数外企刚开始研究它

  彭晨阳:是的,因为它是另外一种类似PHP的语言,属于动态类型语言,和静态类型语言Java有本质不同,这两种风格语言轮流唱戏,但是新的语言有新的风险,Java是成熟的。

 yesky:jdon在这方面有进展没有?

  彭晨阳:Jdon虽然受限于静态类型语言Java,但是可以学习RoR的特点,目前国外也有这方面Java性质的开发框架正在进行中,而Jdon框架1.4版本已经初步具备模型驱动开发的一些快速特点,使用Jdon框架1.4开发一个新的系统,一般都是从领域建模开始,整个系统开发都是围绕Model的调整和补充,这从Jdon框架的应用系统JiveJdon 3.0源码可以看出来。

  使用Jdon框架1.4开发,没有以前那种在层与层之间选择的痛苦,到底是将这个功能放在Struts的Action实现;还是在Service实现呢?
虽然使用Jdon框架,也是Model + Service的结构,但是Service设计完全是服务于Model的,Service好像是Model的一个装配车间,虽然Service运行时是在表现层和Model之间,也就是说,是在Model之前,但是在设计编码时,却是在Model之后的。

  yesky:在www.jdon.com网站上最新发布的应用是JiveJdon 3.0,您能谈谈它吗?

  彭晨阳:JiveJdon 3.0是JF的有一个应用,JiveJdon 3.0和JiveJdon 2.5完全不同,JiveJdon 2.5基本是原来开源Jive架构上一点功能增加,通过JiveJdon2.5运行后研究后,我们发现Jive运行速度很快,这是得益于它的精确缓存机制,但是Jive的这种缓存机制无法重用在其他项目中,因此我通过刻苦研究,将其抽象到JF中,另外,Jive的安全机制实现很琐碎,我将之用AOP实现,可以说JiveJdon3.0是完全重写的论坛程序,不久就应用在Jdon网站上,通过实际运行情况向大家证明JF的可靠性和快速性。

  yesky:除了jivejdon外,jf还有那些应用?

  彭晨阳:还有一些企业内部应用,如商品购物;电子政务等,都是一些小中型应用,这也反映其定位。更重要的是JF可以无缝升级到大型分布式架构EJB/EJB3,所以用户使用了JF后,不用担心以后小系统变大变复杂后如何办?不必更改软件,只需增加服务器,就可以实现几十台服务器联合集群运行,应付巨量访问和数据处理

  yesky:除了您外,还有多少人参与jdon?是专职还是兼职?

  彭晨阳:还有5人左右,主要是做些文档翻译工作,这在http://jdon.dev.java.net/可以看到,但是由于我精力有限,大家交流也不多,开源工作很难弄。目前我是专职做,他们是兼职。

  yesky:在jdon在推广中,感到最困难的问题是什么?

  彭晨阳:国人的不信任,因为中国软件疲弱已久,所以,国人没有信心,有人甚至认为JiveJdon 3.0在架构先进上不如现在Jive 5.0(沿着老的设计,只是功能增加)。我很难说服他相信国人的软件,更何况是开源,他们以为是小儿玩玩的。因为他们不相信,要让他们相信,就非常难,而且,国人中一些所谓高手又都是崇洋分子,翻译国外文章多了,就根本不相信你这套,属于过分方舟子了。 当然,我这套也是跟着国外先进设计体系走,不是另外搞一套,具体产品上有些区别

  yesky:的确,我也有这种感觉更相信国外的软件技术,觉得国内缺少优秀的开发架构。

  彭晨阳:更主要的是,国内缺乏公正公平的评价机制,如你们这样的媒体。所以,我相当于吃螃蟹的,迟早为这个市场的打开做先驱啊,我相信我不会给民族软件丢脸的,做个炮灰总是有资格的。
  yesky:国家公布了支持软件发展的政策,您认为国内开源架构最需要的是那些支持?比如像jdon这样的开源项目。

  彭晨阳:其实,国内有很多政策,什么创业基金,什么高科技基金,但是因为申报手续烦琐,象我们这些全身心搞产品的人根本无精力来申报,政府出台的政策是好的,但是如果把享受政策的申报过程当做象项目开发一样的事情来做,就有些适得其反了。

  像上海市政府有对重大科技项目支持等,但是我了注意一下,都是支持那些能够做政府攻关的公司,而象我们这些贫困的开源项目则无法问津,希望政府能主动出击,真正有创意的项目在民间,需要政府放下架子来找。所以,国内开源架构需要一个评审基金机构,公开评审,然后给予一定资金支持,象Apache那样运行,这些最好是通过网络进行。

  yesky:这是目前国内技术行业普遍存在的问题,现在国家政策政策的主题是鼓励创新,所以我认为您还是有机会的。

  彭晨阳:是啊,我想下面就做这些工作,你如果知道这些,告诉我,找这些政策也比较痛苦。

  yesky:到目前为止,您认为jdon最成功的地方在那里?

  彭晨阳:谈成功,只能谈设计了,Jdon设计上成功处是将Java EE的快速开发和软件灵活性有机统一在一起。也就是最快的速度实现最大化的松耦合,这是一对矛盾。当然,Jdon还有进一步完全发展余地,如发展到MDA,这样就能够快速生成高质量的运行代码。

  yesky:能否说说目前为止jdon最成功的应用实践

  彭晨阳:最成功的应用实践应该是JiveJdon 3.0运行,这是指日可待的事情,Jdon网站的论坛马上就会被替代。当然大规模商用案例还没有,但是我期待那天,从而能证明中国人也能做好的服务器端软件。

  Jdon框架有不少人下载,也有应用的,但是他们也没有全部告诉我,所以挺难统计,只能通过我自己的应用来证明了
 
  yesky:theserverside网站发布了jdon的消息,您看了老外的评论有何感想?

  彭晨阳:老外有鼓励也有怀疑,主要是文档,我现在写了100多页的中文开发文档,但是没有英文文档,对于老外是无法理解的,但是我们精力不够。所以,中国软件要冲向世界,语言关也非常重要,这点和印度比就差了。如果国家出现这方面扶持,比如帮助翻译等,就更好了。

  yesky:估计这个比申报还难

  彭晨阳:主要我做jdon是兴趣,所以也就不管那么多了,能以匹夫之力,做点事总比没有做好。我想人一辈子,做些自己感兴趣的事情,也不枉一生啊,人家国外很多科学发现都是在这种状况下促成的。

  yesky:很多开源架构都做成eclipse插件,jdon目前有没有这样的计划?

  彭晨阳:Jdon配置很简单,而且比Spring简单多,属于Autowiring,所以,可以不用插件,如果一个框架需要插件辅助才能快速开发,那么怎么算是快速开发工具呢?

  yesky:你不认为这样做能更快地推广吗?

  彭晨阳:这个很难回答,基于Jdon开发,可以看看JiveJdon 3.0源码,配置文件只有简单几行,和web.xml一样,其他都是正常Java编码,所以我认为不需要插件啊,以前我也认为需要,但是通过几个项目下来,发现很少时间在和Jdon框架打交道,更多时间是在建模Model的反复修改,以及业务代码的编写。

  jdon是一个强迫性很少的框架,不象有些框架规矩特别多,所以需要开发个插件引导你走这些规矩。

  yesky:下一步您认为需要尽快解决的问题是什么?

  彭晨阳:基本技术问题都解决了,尽快是实现最成功的运行,就是将JiveJdon3.0正式版本拿出来上架运行,下一步就是申报....

  jdon网站日流量也比较大,所以通过JiveJdon 3.0成熟运行,说明Jdon的质量和稳定性。如果能获得商业支持,可以把它做大,做成一个企业软件开发中国标准。