返回列表 发帖

袁红岗:面向Enterprise 2.0的AJAX企业应用观

作者: 高昂,  出处:程序员

  摘要: 随着Enterprise 2.0概念逐步升温,IBM、BEA、Oracle等众多国际软件厂商业相继推出了带有Web特性的企业级软件产品。下文内容是《程序员》杂志采访OperaMasks创始人袁红岗的对话。

      随着Enterprise 2.0概念逐步升温,一些企业开始将互联网技术与企业软件技术结合起来。IBM、BEA、Oracle等众多国际软件厂商业相继推出了带有Web特性的企业级软件产品。带着对面向企业级的应用开发问题,记者杂志采访了金蝶中间件有限公司首席架构师、OperaMasks创始人袁红岗。

  记者:Web技术早就已经在企业当中有很深入的应用了,而Web 2.0的技术被引入以后,是否会给企业软件带来新的活力?采用Web 2.0技术在哪些方面能够帮助企业提高其业务敏捷性?

  袁红岗:Web应用进入企业内部的时间并不算长,因为在企业内部实现Web应用的难度要比客户端应用大,但是Web 2.0的普及拉近了Web应用与企业内部应用间的距离。Web 2.0是一种Web应用的开发方式,本质上是把以前的开发模式转移到新的开发框架之下开发,所以说Web 2.0的引入并不会降低原有业务的复杂性,只是在表现层加入了新的元素和表现方式。

  企业级Web 2.0针对应用于企业的Web开发提供了新的工具和实现方式,但自始至终,对于企业内部业务的处理逻辑不会变化,我们可以在面向企业的业务开发中利用RIA、AJAX、REST、Mash-up、Syndication这些新的技术或概念,但是决不能依赖这些,将其认为是解决企业Web开发的救命稻草。

  记者:今天我们看到很多企业应用中开始大量采用Web 2.0技术,譬如Ajax、REST等等,这种现象是否意味着企业软件与Web技术正在逐步融合?在传统企业Web应用开发中占据主流的Java语言的地位是否会随之降低?

  袁红岗:传统的Web技术与新兴的Web 2.0技术相结合,给企业软件应用注入了新鲜的血液,但是Web技术并无法完全替代传统的企业应用。由于企业应用中业务复杂的特性,已有的企业应用解决方案还将会继续存在一段相当长的时间。比方说IBM,BEA这样业界领先的公司在企业级Web 2.0应用方面都非常有优势。

  尽管受到新兴技术的冲击,但是Java语言自身的生命力还是非常强的。在面向企业级的开发应用中,Java有其自身的优势,比如Java对事务处理具有强大的控制能力,并且Java在部署复杂的分布式数据库环境下大有用武之地,同时Java开发拥有众多成熟的第三方类库提供支持,这些特点都决定了Java在企业开发中仍然占据一定的优势。

  记者:就目前企业应用的实际情况来看,JSF在面向企业应用的开发中仍没有得到广泛的推广和使用,而金蝶偏偏仍然在从事相关的研究与开发,请您谈谈您对JSF发展的看法。

  袁红岗: 其实Java展现层相关的框架并不算少,但是大部分框架从工具、文档、到周边设施等等都很不成熟。JSF技术实际上代表着一种思想框架或思维方式,JSF与底层协议关联性较小,是一种更高层次的页面表达形式,可以生成HTML、WML或者其它Web描述型语言。

  JSF规范从设计之初就一直强调对开发工具的依赖。JSF整套的解决方案包含开发环境,组件库以及相关的周边工具。目前,JSF配套的开发工具正逐渐丰富起来,各大厂商都为其提供了开发支持,包括Oracle JDeveloper,Sun Java Studio Creator等等。

  JSF本身发展的时间并不太长,从JSF标准发布以来大概只有两年多的时间,按照技术普及的时间过程来看,新技术和标准从了解到应用需要经历一个过程,JSF也不例外。单就技术应用情况来看,国外Java社区对JSF的热情要比国内社区高出许多,JSF是Sun的官方标准,得到了包括IBM、BEA在内的众多产商支持,同时JSF与具体表现技术无关,完全可以适应RIA技术的变化。不可否认,JSF为面向企业的应用开发带来了诸多便利,简化应用开发相应的复杂性,只要进一步加大推广力度,增加JSF的成功案例,相信会为JSF发展与普及带来新的契机。

  记者:如何评价Ajax最近这样火热?如何评价微软准备大张旗鼓宣传的SilverLight和RIA倡导者Adobe公司的Flex,技术之间是否会形成竞争关系?

  袁红岗:Ajax只是一种实现方式,能在适当的场合有效发挥作用即可。其实实现RIA的技术非常多,技术本身并不存在竞争关系,每个开发者心目中都有自己认为最好的技术,所以技术之间对于用户的区别只是各自的适应范围不同,用户的选择将决定技术的生存能力和生命力。

  Ajax本身是一项过渡技术,但是Ajax的设计思想为Web应用开发带来了新颖的思路。随着技术的不断发展,Ajax可能在未来几年内被新的技术所取代,但是Ajax为用户带来富客户端体验的思想是不会改变的,而且不论是技术如何更新换代,一切开发方式都需落脚到为用户服务的思路是永远不会变化的。

  尽管Ajax逐步向企业内部应用普及,但是目前使用Ajax实现复杂业务逻辑表现还比较困难,并且传统BS或现有工具在实时交互性方面还有缺陷,然而JSF与具体的表现层技术无关,JSF的底层设计决定了技术所具有的优势,在实现企业内部应用中,JSF结合Ajax的请求、应答,可以在减少数据传输量的同时,避免页面刷新,为用户提供更好的体验,保证系统的敏捷性和高效性。

  记者:在企业内部高速网络的环境之下,实现富客户端表现的Ajax应用前景如何?是否会替代目前以后的企业网应用解决方案。换言之,您认为Ajax技术在企业当中的应用空间有多大?

  袁红岗:在互联网应用中,业务处理的复杂性往往较低,而对于大量用户并发访问的承受能力则要求较高。HTTP本身是无状态协议,Ajax的出现弥补了HTTP通讯协议与用户交互方面的缺陷。在企业内部应用中,某些特定业务的处理逻辑相当复杂,程序对于事务的控制能力要求较高,Ajax具备优异的富客户端表现,以前很难去用B/S结构实现的交互功能,在Ajax进入企业Web开发之后成为可能。Ajax本身具有的这些特性非常适合应用在企业内部业务复杂的环境之中,在企业级应用方面的前景还是非常看好的。

  记者:如果在客户端技术使用Ajax的话,并使用服务器端JSF响应客户端Ajax的处理,那么JSF自身的事件处理机制是不是没有得到充分的发挥?请问Apusic的解决方案在Ajax与JSF的结合方面是如何处理的?

  袁红岗:JSF本身是一个优秀的开发框架,但是目前还缺少成熟且丰富的组件库,并且需要有良好的开发工具提供支持。就Apusic的解决方案来说,其JSF引擎在容器级别为Ajax提供支持,Ajax与JSF引擎的事件分发在相互配合方面不会出现问题。简单来说,JSF引擎为每个标准组件都实现了相应的Ajax Render,其Ajax Render会在单击事件中加入JavaScript的Ajax提交代码,向服务器提交Ajax请求。通过这种方式,任何一个包含标准JSF组件的Web应用,都可以通过只更改配置来实现Web应用的Ajax嵌入。

  记者:Enterprise Web 2.0的概念正在日渐火热,针对于企业级Web 2.0的技术发展趋势,您有哪些看法?

  袁红岗:企业级Web 2.0的最终目的是更加面向业务,让技术与业务结合更紧密。目前企业级Web 2.0的发展势头迅猛,这是是众多技术融合的结果。由于企业内部应用对实时交互性有着较高的要求,而Ajax正好可以弥补传统Web应用在这方面的缺陷,所以Ajax等Web 2.0技术逐步进入企业级应用也是今后发展的必然趋势。就技术发展曲线来看,企业级Web 2.0技术会在未来一段时间内达到一个高峰,这个高峰将以Ajax等Web 2.0特有技术在企业内部的广泛应用为标志。

返回列表