Filtrbox:运用Flex RIA技术的语义网应用

语义网技术和服务在驱动Web迈向下一代(作为数据、信息和知识交换的统一媒介)进程中扮演着核心角色。最近,我们注意到一系列使用语义网技术的新尝试相继出现,它们帮助人们来消费Internet上持续增长的海量信息。

其中一个优秀例子就是Filtrbox,它使用了Adobe提供的Flex RIA技术构建用户界面。InfoQ采访了Filtrbox RIA Flex开发人员Justin Imhoff,对该应用所需要的资源和技术做了深入探讨。关于人力资源投入,Imhoff说:

目前,我们有三名开发人员参与Filtrbox: Tom Chikoore——架构师和CTO; Bruce Deen——负责开发Flex和Java;还有我——负责开发Flex和AIR。公司的联合创始人分别是Ari NewmanTom ChikooreAri是一名优秀的企业家,指引着公司的发展方向。

对于Flex对Filtrbox的贡献,Imhoff提到:

在语义网搜索时,你需要处理大量数据。通过使用Flex和AMF,我们能够快速而有效地操作这些数据,提供强大的用户体验。当然每一项技术都有缺陷,不过到目前为止,我们发现Flex最适合我们的需求。

对于富互联网应用(RIA)技术在应用中扮演的角色,Imhoff解释说:

RIA 的设计初衷是在使用Internet和服务器端存储数据的基础上,提供类似桌面交互的舒适用户体验。但是,使用AIR最大的障碍之一是开发既易用又具有高 级功能的大型应用。许多RIA应用开发公司都配有专门解决这个问题的UI和UX设计人员。语义搜索不仅仅是另外一种使用搜索技术的方式,也需要用户采用新 的方法来交互和对结果进行反馈。当使用Google搜索时,你使用的是导航搜索,而当你使用语义搜索时,你使用的是研究搜索。这意味着你可以通过语义提高 结果的内容相关性,提供完全符合用户搜索意愿的多种结果。实现原理就是计算用户的交互值并把值传递给搜索结果。这些结果类似于通过人工智能发掘用户喜欢或 讨厌的东西,然后对结果重新修订。语义搜索作为一个语义客户端唯一可以与普通的搜索引擎相媲美的地方就是通过RIA把最新的技术融合在了一起。

对于Filtrbox的技术架构,Imhoff指出:

我们使用Blaze DS与Flex交互来处理AMF请求。Blaze是Adobe's LiveCycle DataServices的一款开源限制版。使用AMF,我们可以与Flex交互二进制数据,减少了客户的下载时间和使用的资源。Blaze对服务器—客户端交互具有很好的支持,帮助Filtrbox提供了一套高效和流水线的数据存取系统。

对于Filtrbox,我们使用Cairngorm 微架构(micro-architecture)来更好的适应OOP编程,允许采用每周更新应用的快速开发周期。对于UI,我们使用了很多基本的Flex组件并扩展了他们的功能。

Imhoff补充道:

构建Flex UI的主要挑战是用户期望和交互。通过研究和理解在Web和桌面上的用户需求,慢慢的出现了一种期望和需求的共识,可以帮助提供易用和高效的界面。

速度是需要考虑的方面。许多用户喜欢Web上的类似Ajax的体验:随需加载。使用Flex,则全部需要初始化加载。为了改善这种状况,我们实现了资源共享库(RSL),允许我们缓存Flex、RPC和客户端的数据可视化库,把应用大小缩小了一半。

另 外一个挑战是UI的整体设计。Flex不像HTML,没有很多可以利用的模板。在Flex使用流动布局(fluid layout)的挑战是应用中图片的缩放。最好使用 Scale 9格式。 Scale 9允许你定义图片的9个部分,每个部分可以自由缩放。不使用这个格式,流动布局几乎不可能实现。

团队开发,特别是工程存在部分重叠的时候确实是一个挑战。当团队开发时,你最有可能遇到的问题就是把多个工程合并成一个。最好的解决办法是使用好的SVN客户端或者Flex IDE的subclipse。这会允许多个开发人员维护应用的当前和历史版本。

当使用Flex开发时,你不得不考虑为什么要使用Flex而不是Ajax,你必须拥有足够的理由。Flex作为作为商业产品的替代才刚刚起步,作为一款优秀的框架在AIR领域正努力占有一席之地。

当被问及希望下一版本Flex增加哪些特性时,Imhoff说:

我当然希望看到Flex在画图和打印功能方面的高级特性。我们现在不得不借用第三方产品或接口开发自己的解决方案。

其他需要提高的方面包括Flash player和修正在不同浏览器和操作系统支持SSL时的Bug。另外就是在Flash player 10中重点提到的安全策略功能的加强。


查看英文原文: Filtrbox: Semantic Web in Flex RIA

你可能感兴趣的:(Filtrbox:运用Flex RIA技术的语义网应用)