随笔 122, 收藏 0, 评论 0, 寻迹 0

BLoGGer

News

随笔

随笔归档

收藏

图库

CNDEV上的淫

技术站点

其他大牛

随笔 122, 收藏 0, 评论 0, 寻迹 0

超懒的程序员用 BlazeDS +JAVA+ db4o 来搭建应用

最近想用Flex 做一个应用,其实是对原先的一个应用重新写(easylf.net) ,原因有两个:
1.easylf.net 是在学Flex 的过程中写的,代码很乱很不成熟,需要重新写了。
2.后台用asp.net 2.0 提供服务,经过这么长时间的体会发现Java 才是服务端的王道。

慢是原先的一个严重问题,所以新版本方方面面都要为效率考虑,老的的应用以WebService 提供服务,无疑是超级慢服务调用协议,经过无数次的上百度Google,终于找到了高科技AMF3,据说效率非常高,最起码在Flex 上是这样,结果来源于这样的一个测试网站

http://www.jamesward.com/census/

这是我的测试结果:

测试启用了GZIP,5000行返回数据

?

哇,AMF3好强,虽然大家都明知道是Adobe 在Flex 上对这个东西进行了特殊优化,但就像显摆大牛说的那样:“最起码我们知道在Flex上什么效率最高”

Flex 的 remoting service 中,有大概这么几种 :

1.HTTP Service

2.Web Service

3.RPC

HTTP Service  无疑是最灵活最强大的方式,但也最麻烦,需要自己定制的东西太多,自己做解析自己做加密,我是个天生的懒人,所以首先排除。我更想把精力放在功能上,而不是无谓的敲重复代码。

Web Service  前一段挺时髦的东西,各大语言技术均支持,根本不用考虑兼容性的问题,而且有完善的标准,一旦想和别人的系统做接口也很容易做到,但缺点就是解析效率太成问题了,以前做的东西慢的像牛一样,这样庞大的东西不适合我这种轻量级的应用。

RPC  (Remote Procedure Call :远程过程调用协议)简单说就是直接调用服务器端的对象方法,而不用专门为这些需要调用的方法写接口或wsdl描述文档,这无疑超级适合我这种懒人,在client 犹如调用本地方法一样调用server的对象和方法。

针对Flex 和 JAVA 之前的RPC ,有很多的选择,例如:

LiveCycle Data Services ,BlazeDS GraniteDS

LDS 是 Adobe 官方的付费框架,功能强大,但谁让咱是穷人呢

BlazeDS 是Adobe官方推出的开源项目,功能上是LDS的阉割版本,同时也不如GraniteDS 强大

GraniteDS 是由第三方推出的开源RPC 框架,功能强大,但自从BlazeDS 推出后,似乎GDS的作者也感到前途渺茫,详情可看此文

未完待继续

 

发表于 @ 2009-05-08 10:29

评论

尚无评论

发表评论

标题:  
署名:  
链接:
内容:
验证码: