在 QCon 2010 北京大会有关《基于浏览器的应用开发》的主题演讲中,来自Adobe 的企业解决方案专家董龙飞向与会者作了名为《基于Adobe 开发平台的企业级RIA 应用》的报告,介绍了如何基于Adobe Flash 平台技术和企业级产品LiveCycle 帮助企业创建极具吸引力的富互联网应用程序(RIA) 协作平台及向导式表单,并延伸既有后端系统价值,提升内部流程/信件管理效率。会场反响热烈,听众提问踊跃,纷纷对Adobe 的新技术表现出浓厚的兴趣。InfoQ 在会议间隙对董龙飞作了专访,以了解更多企业级RIA 应用的细节。以下是部分问答精要:
InfoQ:请做一下自我介绍。
我 2005 年加入 Adobe 公司,现任 Adobe Flash 平台的传教士(Evangilist)。之前,我在 Adobe 负责企业端产品的技术销售工作,比如 LiveCycle 产品和 RIA 解决方案的推广。 我致力于企业 RIA 应用开发技术,比如 Flex 和 LiveCycle Data Service 等等。我和妻子一起撰写了《Flex 大师之路》,并翻译了《Flex CookBook》一书。
InfoQ:作为一名企业解决方案的专家,您认为企业目前对 RIA 应用的迫切需求体现在哪些方面?
RIA 技术的应用已经形成一种必然的潮流,无论是在基于浏览器的 Web 自服务系统,还是 3G 时代的移动应用系统。RIA 技术可以带给企业用户的最大优势当然是提供最佳的用户体验。Rich Internet Application 的 Rich 不仅仅是指丰富的用户体验,对于企业应用来说,还包含了大规模的数据处理,这些数据来自企业各种后端系统。对于企业来说,需要一种技术能够把后端已经存在的服务和数据整合起来,来为用户提供新的产品和服务。RIA 技术能够帮助企业解决这方面的问题。从架构模式来看,RIA 技术天然地符合了 MVC 的架构模式,从企业应用的架构角度,使用 RIA 技术能够帮助企业应用开发者真正的实现企业应用展示和后端业务与数据的分离。 另外,对于企业应用的开发者来说,RIA 技术能够极大的提高应用系统的开发效率,并能够提供针对企业业务变化的快速响应。
InfoQ:目前企业在实施 RIA 方案面临的困难有哪些?比如与现有系统如何集成?
企业在实施 RIA 方案是存在两类问题,第一是如何实现丰富的用户体验,第二点就像您所说的,如何与现有系统集成。与实现传统的企业应用方案不同,在实施 RIA 方案时,用户体验设计师、美术设计师和交互式设计师在项目中占有非常重要的地位。我见过的很多企业应用集成商的开发团队中,这些设计师往往处于从属地位,甚至由一些开发者兼任。在实施 RIA 项目的时候,需要更新这样的团队架构。另外,从技术上来说,设计者和开发者需要一个更好的工作流程,保证设计者的美术作品能够更加容易,并且可靠的反映在开发者的工作中。Adobe 刚刚发布的 CS5 中包含的 Flash Catalyst 就是这样一款产品,为设计者和开发者搭建一个桥梁。 第二个需要解决的就是与现有系统的集成。这里面通常存在两个问题,第一个问题就是异构问题,RIA 技术的根本还在于实现企业应用的展示层,而展示层的数据都来源于企业现有的后端系统和业务。这些业务和数据往往是异构架构的,比如有的基于 Java 技术,有的基于 PHP,有的基于.NET。尽管 RIA 技术保证了整体企业系统架构本身符合的 MVC 模式,但仍然需要能够把这些异构系统的业务逻辑,或者数据安全的暴露给展示层。这是 Adobe 提供的开源的 BlazeDS,以及具有更高性能的 LiveCycle Data Service 产品的目的之一。另外一方面,企业应用往往需要处理大量的数据,LCDS 和 BlazeDS 也为如何处理这些高性能数据提供了很好的解决方案。
InfoQ:以用户为中心的理念体现在哪些方面?
以用户为中心的理念是企业 RIA 应用的重要特征,也是企业应用开发技术的发展趋势。经过多年 IT 建设的发展,许多企业已经构建了非常健壮的后端业务和数据系统,但是很多情况下,并没有达到系统建设的预期目标。尤其是对于哪些面向消费者和企业内部员工的应用系统。其中主要原因就是忽略了以用户为中心的理念。这也是 RIA 技术能够帮助企业解决的最大问题。 以用户为中心的理念包含了许多方面,对于企业应用来说,主要包含三个方面。
第一点当然是提供更好的用户体验,通过提供更好的用户体验,企业才能够最大程度维持用户的忠诚度,这也是面向消费者的企业应用的主要目标。这种用户体验不仅仅是漂亮的应用外观,符合用户习惯的操作模式,更快的运行速度,还包括其他很多方面,比如更多的业务渠道。比如诸如网络银行之类的子服务系统,企业不仅仅需要能够为用户提供传统浏览器中的应用系统,同样的应用系统如果还能够在移动设备,平板电脑,甚至运行与用户的客户端桌面,都能够极大的改善用户体验。实际上,企业 RIA 应用领域需要建立一套可行的方案来管理和评估系统的用户体验。
第二点是提供更好的基于业务的协同。社会化网络是计算机技术发展的重要方向。对于企业 RIA 应用也应该为使用者提供基于网络的协同工作和交互能力,RIA 提供的基于网络的协同处理能力是区别于传统企业应用开发技术的重要方面。
以用户为中心理念的第三重要体现是效率,用户不仅仅关注于漂亮的应用界面,更关注的是如何利用最少的时间完成要处理的事务。而对于企业来说,也需要提高开发效率,能够保证更快的推出新的产品和服务,更快速的响应业务变化。
InfoQ:Adobe 相关技术在效率、协作、用户体验三点上存在哪些技术优势?
Adobe 的 Flash 平台技术是企业级 RIA 应用的领先解决方案。Flash 平台产品和企业级 LiveCycle 产品为企业 RIA 应用开发者提供了非常多的极具价值的工具。 以用户体验为例,企业 RIA 应用开法中面临的一个主要问题就是设计者和开发者之间的工作协同和流程问题。绝大多数设计者使用的也都是 Adobe 的创意软件产品,比如 Photoshop,illustrator 等。在传统的开发流程中,设计者往往需要撰写大量的文档来描述应用的美术和交互设计,然后把这些静态图片和文字交付给开发者,开发者通过样式和皮肤这样的技术来应用在最终的系统中。一方面,开发者和设计者存在很大的沟通障碍,通过文档描述很难让开发者能够切实的了解设计者最终希望达到的效果,另一方面,开发者需要做大量的编码才能够实现设计者的意图。这就直接导致了设计者的设计无法准确的体现在最终的应用上,许多 RIA 应用无法达到预期效果。Adobe 最新推出的 Flash Catalyst 旨在为开发人员和设计人员建立起沟通的桥梁,程序开发人员可以导入设计师在 Photoshop、IIIustrator 和 Fireworks 中设计的用户界面,并将它们转化成真正的交互式 Flex UI 组件,而不改变它们原先的“皮肤”、外观和整体风格。设计师仍然用 Adobe 的各种产品来完成自己的大部分工作,但是能通过 Catalyst 来定义 UI 组件了,就像开发人员通过编程来完成这一工作一样。它给开发人员和设计人员提供了一种交流协作的平台。
Adobe 最新推出的 FlashBuilder4 中的一个重要的思想就是帮助企业应用开发者实现数据驱动的 RIA 应用开发,开发者可以通过新的数据 / 服务模板和双向数据绑定非常容易的与各种架构的后端业务逻辑建立连接,比如 Java,PHP,Web 服务,Coldfusion 等等。Flash Builder 4 能够将这些后端服务以树形结构显示在数据 / 服务 (data/services) 面板,开发者能够通过简单的拖拽操作将服务器端返回的结果绑定到一个 Flex 组件上,比如使用服务来产生主 / 详细功能表单,也可以创建图表。
InfoQ:未来的 RIA 发展趋势是怎样的?
对于企业 RIA 应用来说,云计算、移动应用和多屏幕是很重要的趋势。 云计算提供的能力是向企业前段提供后端服务,而这通常需要由 RIA 来实现。因此 RIA 和云计算的整合是一个很重要的方向。
RIA 技术的另一个重要发展方向就是移动设备上 RIA 应用的开发,这将为企业应用领域带来更多的机会。而移动设备带来的另外一点就是多屏幕整合问题,这些移动设备可能是各种规模的移动手机,互联网电视或者是平板电脑,开发者如何通过一次编码,就能够为多种设备,不同屏幕上提供同样的用户体验和应用。
有关采访董龙飞的视频资料将于近期在 InfoQ 上发布,敬请期待!
评论