Beautiful RIA [17]
Java程序员学习 Flex和 BlazeDS的十三个理由
理由九:可以通过 Java来扩展和修改 BlazeDS
假如你想添加特殊的日志来记录苏打调配服务被调用的情况,那么你可以扩展标准的 Java 适配器来添加日志功能。
首先,添加一个继承了 JavaAdapter的 Java类:
import flex.messaging.services.remoting.adapters.JavaAdapter. public class TimingJavaAdapter extends JavaAdapter {
其次,重载 invoke()方法:
public Object invoke(Message message) {
RemotingMessage remotingMessage = (RemotingMessage) message; String operation = remotingMessage.getOperation();
String destination = remotingMessage.getDestination();
Logger.info("calling " + operation + " on destination " + destination);
Object data = super.invoke(message);
return data;
}
这个方法中,你可以看到调用之后的操作和调用的目的地(destination)。这种方法也能用来 处理其它一些问题,比如记录向服务器发送调用需要多长时间。
理由十:HTML和 JSP也能调用 BlazeDS
从 HTML和 JSP也能调用 BlazeDS,这种调用有几种不同的实现方式,比如通过 Browser Manager或 fflashVarsf来实现。Flex应用能够读取由 HTML页面设置的 fflashVarsf。
比方说你想要通过 HTML页面来发送你的用户名和准备预定的苏打类型,你可以在 HTML页 面这样设置 flashVars:
然后,在 Flex应用中,你可以通过读取应用参数来获取这些变量:
Java程序员学习 Flex和 BlazeDS的十三个理由
var username:String;
if (Application.application.parameters.hasOwnProperty("username")) { username = Application.application.parameters.username; }
理由十一:Flex和 BlazeDS的数据传输性能远胜于其它 Ajax解决方案
目前使用的远程过程调用( RPC)都默认选择 AMF二进制协议。AMF是个开放的标准,而 且相当快。James Ward曾举例比较过多种远程调用解决方案。尽管其它 Ajax技术——比如 Dojo——已经能够快速处理几百行的数据,但是用 Flex和 BlazeDS的话可以轻松搞定成千上 万行。(请参考 James Ward's census,可以了解下各种不同的 RIA数据加载技术的测评。)
理由十二:Java客户端能够直接调用 BlazeDS
最新发布的 BlazeDS当中含有一个 Java的 AMF类,通过这个类,你可以在 Java客户端直接 调用 BlazeDS服务器。对于单元测试和加载测试来说,BlazeDS的这种调用方式非常实用。
理由十三:Spring下也能用
Adobe 和 Spring互相联手,尝试将双方项目集成起来。他们发布的第一个 Spring–BlazeDS集 成版本就向大家展示了他们的良苦用心。Spring Bean能够以远程服务的方式被调用,因此 可以清除很多重复的配置文件。更多这方面的相关信息,可以参考该项目的主页。
结论
开源的 BlazeDS创建在 Java基础上,无论是对新的还是已有的 Java服务器项目来说都是个 很好的选择。Flex、BlazeDS技术能够提供高性能的远程通信,支持 Flex和 Java间的对象映 射,因此是 RIA开发的理想选择。Flex和 BlazeDS的开发新手,如果曾经是 Java开发员的话, 会发现整个开发过程效率非常高,而且很容易掌握。
Flex 加 BlazeDS还是开发大型 Java企业应用的理想选择。我们组开发的上个项目中,应用涉 及到 50多个不同的界面,而且服务器和客户端之间需要规律性地互传几千行的代码。这类 应用几乎没法通过传统的 Ajax技术来实现。但是在引入了 Flex和 BlazeDS之后,我们在年内 就发布了第一个版本。看,这就是这对动态组合为你的应用开发项目带来的过人之处。
原文链接:http://www.infoq.com/cn/articles/java-flex-blazeds
微软设计产品市场总监 Forest Key谈 Silverlight
作者 温飞飞
在加入微软之前, Forest Key是 Macromedia公司 Flash的产品经理,对用户交互技术有着 宗教般的狂热。也是因为对交互技术的喜爱,使他来到了微软。在这次他来中国推广 Silverlight的时候,InfoQ中文站的记者有机会就 Silverlight的性能、与其他平台的比较、 客户为什么要采用 Silverlight技术、开发 Silverlight所用的工具和 Silverlight在微软产品线 中所扮演的角色等问题进行了探讨。
InfoQ中文站:Silverlight1.0相对于其他平台的实际开发效率是否有提升,有那些提升?
Forest Key :首先,微软拥有设计工具、开发工具、以及 Silverlight运行时插件,它们会组成 一个有效的生态系统,让设计人员和开发人员能够有效地工作在一起。当然,今天还不完全 具备这些,明年我们将有可能具备这样的能力,提供全套的解决方案。现在最重要的是将 Silverlight运行时插件部署到更多的电脑上。所以我们把重点放在了媒体应用中,我们有更 好的视频质量、更便宜的视频部署方案等一些有效的视频解决方案。
如何将设计和开发的体验统一起来(设计人员设计的产品界面,开发人员能够将其还原成技 术实现的产品),这不是一个技术问题,这对任何公司来说都将是一个挑战。在我们的产品 中不同的是,我们可以提供更好的设计或者开发的团队体验,更好地将设计理念传达到开发 人员中,这点是我们领先竞争对手的。
InfoQ中文站:Silverlight和其他平台相比在用户体验上有那些提升,Silverlight在技术上有 什么优势吗?
Forest Key :Silverlight的突出之处,我认为是将设计和开发统一起来。我们的开发人员可以 有效地和设计人员合作。我们在 WPF中已经提供了很好的用户体验,在最终用户方面 Silverlight不会有很大不同,Silverlight利用了 WPF以后的很多优势技术,而且还将进一步 地提升这一优势。由于创建过程更加简单和使用,这也会吸引更多的设计人员来创建更多的 丰富的基于浏览器的互联网应用。
InfoQ中文站:在实际应用中如何说服客户采用 Silverlight技术?
Forest Key:如果我们的客户已经有 WPF经验,那么事情就变得很容易,因为他们已经体验 到了 WPF的强大优势和丰富的体验,也认识到我们已经有很多成功的项目经验。当然如果
微软设计产品市场总监 Forest Key谈 Silverlight
我去说服客户开发一个全新的项目,我们谈到的首先是编写代码的可维护性,而这些代码中 有相当一部分是 JavaScript,所以很容易找到工程师来开发和维护这些代码。
Silverlight 1.0 在网络视频领域是具有相当竞争力的,因为 WMV是很多公司是用的现有媒体 技术,而 Silverlight可以让这些现有的媒体资源拥有更友好的用户界面,可以在不同操作系 统中部署(Windows、Mac和 Linux等)。因此,现在已经和正在有很多客户转向了 Silverlight 和 Silverlight Video。一旦明年发布 Silverlight 1.1,我们主要的精力就会放到创建丰富互动体 验的 Web应用中,届时会吸引更多开发团队来尝试,并告诉他们如何建设更加健壮的应用 程序解决方案。这种 Silverlight的推广方式会比我们提供的其他任何华丽的辞藻都更有效, 更能吸引更多开发商。当然我们也很希望开发人员尝