袁红岗:谈JSF的未来之路
JSF正向你我走来
有些人对它感到陌生,有些人并不看好它,有些人则对它抱以期望的目光,有些狂热者甚至预言:它是未来的Java Web主导者。2006年,Sun把JSF从幕后推到了前台,那么,JSF的命运如何呢?真的会像人们所说的那样,成为各种Web开源框架的终结者吗?
Web开源框架风烟四起,让我们看到了Java Web世界竞争惨烈。无论框架时代是否已经来临,但开发者们已经感到麻木和疲惫,人们在框架的海洋里穿行着,不免有些劳累,不知哪种框架才是应用开发中的唯一选择……经历过Java开发的人员都会客观地对.NET的组件、良好的集成工具、快速的开发效率报以羡幕的目光。于是,有很多开发人员都提出:为什么Java不能开发出和.net具备同样的功能产品,来改变Java Web世界的混乱格局呢?
那么,作为JCP组织中国成员和国内领先的Java中间件厂商,金蝶中间件对JSF又是如何思考的呢?就此,IT168记者独家专访了在Java界有着广泛声誉的金蝶中间件首席科学家袁红岗先生,请他畅谈JSF未来的发展。
袁红岗简介
袁红岗很早就开始了Java技术的研究,并预见到了Java技术对互联网时代的深远影响,率领当时的金蝶中央研究院开始了J2EE架构的核心——J2EE应用服务器的研究和开发,成功开发出国内首家拥有完全自主知识产权、并第一个通过国际J2EE认证的金蝶Apusic应用服务器,并成为国际JCP组织中国代表。
袁红岗具有敏锐的技术触觉,有多年的软件开发经验,对应用软件的技术发展趋势有着准确的判断力,是国内第一个J2EE应用服务器的缔造者,也是国内业界深入理解J2EE技术体系的程序员和标志性人物。2004年,被公推为“影响中国软件开发的20人”之一。
(图为袁红岗作为JCP中国成员参加世界Java大会)
记者:最近我们IT168也做了很多关于JSF的报道,有人称JSF是一种过时的技术,也有些人称JSF是“早晨八九点钟的太阳”,我想请问一下袁总,你怎么看待JSF这种技术和它的未来前景?
袁红岗:JSF这项技术不仅没有过时,相反,Sun最近刚刚把JSF纳入新一代Java EE5.0规范。只不过JSF一直没有真正用起来,业界也相对缺少基于JSF的成功案例,因此,有些开发者有这些看法也是正常的。
如果从框架的角度说,JSF是一个优秀的开发框架,主要缺少的是一个成熟且丰富的组件库,并且需要得到良好的开发工具的支持。如果这两点能够有效解决,JSF的前景的确是阳光灿烂。
记者:刚才你谈到了开发工具,JSF是一个对开发工具依赖很强的技术,不知道金蝶Apusic是否也推出自已的开发工具?
袁红岗:的确,只有开发工具对JSF进行广泛且深入的支持,才能说明JSF的成功。在JSF规范中有这样一句话“JSF is designed to be tooled”。换言之,JSF规范从设计初就强调对开发工具的依赖。
目前,业界JSF开发工具正在迅速丰富起来,包括Orcale JDeveloper,Sun Java Studio Creator等等。金蝶中间件也同样提供了基于Eclipse的集成开发环境:Apusic Stutio,通过该工具,能够给JSF的开发带来良好的支持,包括:语法加亮、代码辅助、断点调式、可视化的设计等等。
记者:那么作为一个后来者,Apusic Stutio与其它JSF开发工具又有哪些不同呢?
袁红岗:一个好的开发工具应该从组件和布局这些方面入手,从易用、简化上下功夫,比如大家公认微软的开发工具就很成功。Apusic的开发工具也是看到微软的成功,准备借鉴微软的开发工具模式,这样JSF才有成功可能。
实际上,JSF在概念上和.NET有很多相似之处,Apusic Studio就是专门为JSF设计的。我们已经推出了具备许多创新特性的JSF引擎,正在努力打造业界最优秀的JSF开方工具,这就是我们的Apusic Studio。
记者:现在开源框架可以说是百家争鸣,JSF与众多开源框架相比,又有哪些优势呢?
袁红岗:如今的开源框架都是建立在J2EE本身的基础上的,建立在HTTP、HTML底层协议的基础上。而JSF实际上跟底层协议无关,它是一种更高层次的页面表达方式,它实际上生成不一定是HTML,也可以生成WML,或者其它描述型语言。
举个最简单的例子,假如有一天,HTML这种标记型语言被一种新描述语言代替的话,其它众多开源框架可能都会在一夜之间被抛弃,而JSF技术却不会。这就是因为它是一种更高层面的框架支持技术,它支持HTML、却不依赖HTML。
记者:现在业界说Ajax和JSF融合是一个完美的框架组合,不知你怎么看待这种说法?
袁红岗:目前JSF+Ajax这种思路,很多公司都有,包括我们金蝶在内。诚然,Ajax是一种客户端技术,JSF是服务器端技术;很多人抱有一种观点,认为这两者之间风马牛不相及。事实上,抱有这种观点的人,是对JSF技术不够了解,这两者之间可以非常完美的结合。
目前,很多JSF在实现对Ajax的支持上,是通过组件级别的形式予以支持,但Apusic JSF引擎则创新性的提出了容器级别对Ajax进行支持。任何常规的JSF应用,在Apusic应用服务器上,只需要增加一个配置参数,就能够将这些应用变成Ajax Enabled的应用,这是非常激动人心的特性。我们刚才谈到,JSF最大的问题是相对缺乏成功案例,为了推动JSF在业界的推广与发展,我们已经把这些核心技术提交给JCP组织。
甚至于,我们还主动开源出来,出资成立了operamasks.org开源组织,把我们的核心技术以开源形式提供给业界,反馈给社会。在核心技术的把握上,Apusic越来越成熟,也越来越自信。当JSF遭遇Ajax,将会产生强大的化学反应,我对JSF的未来充满信心。
------解决方案--------------------jsf是王道,我已经用了块1年了,love it!
---