写点什么

企业级 RIA 应用的发展——专访 Adobe 技术专家董龙飞

  • 2010-04-30
  • 本文字数:3212 字

    阅读完需:约 11 分钟

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 上发布,敬请期待!

2010-04-30 01:432814
用户头像

发布了 501 篇内容, 共 281.3 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

文盘Rust -- 子命令提示,提高用户体验

TiDB 社区干货传送门

开发语言

TiDB 6.1 单机环境 On openEular 2003 SP3

TiDB 社区干货传送门

实践案例 版本测评 应用适配 6.x 实践

OLTP 负载性能优化实践

TiDB 社区干货传送门

性能调优 OLTP 场景实践

TiCDC 6.0 原理之 Sorter 演进

TiDB 社区干货传送门

TiDB 源码解读 6.x 实践

TiFlash 源码解读(四) | TiFlash DDL 模块设计及实现分析

TiDB 社区干货传送门

TiCDC canal_json的实际应用

TiDB 社区干货传送门

迁移 管理与运维 新版本/特性解读 OLTP 场景实践

TiSpark v2.5 开发入门实践及 TiSpark v3.0.0 新功能解读

TiDB 社区干货传送门

6.x 实践

TiDB VS MySQL

TiDB 社区干货传送门

tidb-dm报警DM_sync_process_exists_with_error排查

TiDB 社区干货传送门

故障排查/诊断

我和 TiDB 的故事 - 2020~2022

TiDB 社区干货传送门

TiFlash 源码阅读(三) DeltaTree 存储引擎设计及实现分析 - Part 1

TiDB 社区干货传送门

你踩过这些坑吗?谨慎在时间类型列上创建索引

TiDB 社区干货传送门

性能调优 TiDB 底层架构 OLTP 场景实践

TiDB 之 TiCDC6.0 初体验

TiDB 社区干货传送门

迁移 安装 & 部署 6.x 实践

TIDB 6.0新特性漫谈之Clinic

TiDB 社区干货传送门

新版本/特性发布 6.x 实践

避坑指南 生产环境TiKV的IO-Util趋近100%问题定位

TiDB 社区干货传送门

集群管理 管理与运维 TiKV 底层架构

文盘Rust -- 给程序加个日志

TiDB 社区干货传送门

开发语言

生产环境TiDB集群缩容TiKV操作步骤

TiDB 社区干货传送门

扩/缩容

TiDB 性能优化概述

TiDB 社区干货传送门

性能调优

Performance Overview 面板重要监控指标详解

TiDB 社区干货传送门

监控

利用odbc连接oracle与tidb

TiDB 社区干货传送门

迁移 实践案例 数据库架构选型 应用适配 数据库连接

使用 Vagrant + VirtualBox 虚拟机搭建TiDB v5.4 实验环境

TiDB 社区干货传送门

安装 & 部署

分布式数据库 TiDB 6.0 集群保姆级安装手册

TiDB 社区干货传送门

6.x 实践

TiDB v6.0.0 DMR 源码阅读——缓存表

TiDB 社区干货传送门

TiDB 源码解读 新版本/特性解读 6.x 实践

TiSpark 3.0.0 新特性实践

TiDB 社区干货传送门

实践案例 新版本/特性发布 HTAP 场景实践 大数据场景实践

基于 TiDB 场景式技术架构过程 - 理论篇

TiDB 社区干货传送门

数据库架构选型 数据库架构设计

让秒杀狂欢更从容:大促背后的数据库(下篇)

TiDB 社区干货传送门

TiDB 性能分析和优化

TiDB 社区干货传送门

性能调优

TIDB监控升级解决panic的漫漫探索之路

TiDB 社区干货传送门

监控 实践案例 集群管理 故障排查/诊断 扩/缩容

TiDB 6.1 新特性解读 | TiDB 6.1 MPP 实现窗口函数框架

TiDB 社区干货传送门

新版本/特性解读 6.x 实践

TiFlash 面向编译器的自动向量化加速

TiDB 社区干货传送门

性能调优 应用适配

带你全面了解compaction 的13个问题

TiDB 社区干货传送门

TiDB 底层架构 数据库架构设计

企业级RIA应用的发展——专访Adobe技术专家董龙飞_Java_崔康_InfoQ精选文章