HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

企业级 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:432368
用户头像

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

关注

评论

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

高阶产品如何提出有效解决方案?(1方法论+2案例+1清单)

张姣发

产品经理

Qt | 事件系统 QEvent

YOLO.

qt 7月月更

数据中台建设(一):数据中台出现的背景

Lansonli

数据中台 7月月更

DDos攻击分类

穿过生命散发芬芳

DDoS 7月月更

《ArchSummit:从珍爱微服务框架看架构演进》

后台技术汇

架构 后台开发 架构师 后台 ArchSummit

一张图进阶 RocketMQ - 消息存储

三此君

RocketMQ MQ 消息队列 broker commitlog

C#入门系列(三十) -- 异常处理

陈言必行

7月月更

做好项目管理的10个关键点和5大措施

爱吃小舅的鱼

一张图进阶 RocketMQ - NameServer

三此君

kafka RocketMQ MQ 消息队列 分布式消息中间件

一张图进阶 RocketMQ - 整体架构

三此君

kafka RocketMQ MQ 消息队列 消息中间件

RocketMQ 消息集成:多类型业务消息-普通消息

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

“你真的入门前端了吗”

bo

前端 7月月更

一张图进阶 RocketMQ - 通信机制

三此君

RocketMQ Netty MQ 消息队列 异步通信

阿里 Seata 新版本终于解决了 TCC 模式的幂等、悬挂和空回滚问题

阿里巴巴云原生

阿里云 开源 微服务 云原生 seata

【数据库学习】Redis 解析器&&单线程&&模型

恒山其若陋兮

7月月更

你还不会Vue3吗

bo

前端 Vue 3 7月月更

一张图进阶 RocketMQ - 消息发送

三此君

kafka RocketMQ MQ 消息队列 消息发送

云计算三类巨头:IaaS、PaaS、SaaS,分别是什么意思,应用场景是什么?

wljslmz

云计算 IaaS PaaS SaaS 7月月更

iOS中对象等同性isEqual:和hash

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

LeetCode-69. x的平方根(java)

bug菌

Leet Code 7月月更

java零基础入门-异常、线程(中)

喵手

Java 7月月更

JDBC 驱动升级到 Version 8.0.28 连接 MySQL 的踩坑记录

攻城狮杰森

MySQL JDBC database 7月月更

把字符串转换成整数与不要二

未见花闻

7月月更

企业运营自媒体不能“自嗨”:内容要接地气不能接广告

石头IT视角

QDir类的使用 以及部分解释

小肉球

qt 7月月更

UART

贾献华

7月月更

Prometheus 运维工具 Promtool (一)Check 功能

耳东@Erdong

Prometheus 7月月更 Promtool

Qt|QLable多行展示时更改行间距

中国好公民st

qt 7月月更

如何创建和管理自定义的配置信息

Damon

7月月更

给生活加点惊喜,做创意生活的原型设计师丨编程挑战赛 x 选手分享

声网

人工智能’

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